[C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204052 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Replacing Scope iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204053 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Replacing DeclContext iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204061 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Replacing CallArgList writeback iterators with iterator_range writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204062 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Do not warn when an instance method and
class method with the same selctor but different argument 
types having one of them in class extension.
// rdar://16312105


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204065 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updating all of the usages of the iterators with range-based for loops.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204068 91177308-0d34-0410-b5e6-96231b3b80d8
PGO: Statically generate data structures

In instrumentation-based profiling, we need a set of data structures to
represent the counters.  Previously, these were built up during static
initialization.  Now, they're shoved into a specially-named section so
that they show up as an array.

As a consequence of the reorganizing symbols, instrumentation data
structures for linkonce functions are now correctly coalesced.

This is the first step in a larger project to minimize runtime overhead
and dependencies in instrumentation-based profilng.  The larger picture
includes removing all initialization overhead and making the dependency
on libc optional.

<rdar://problem/15943240>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204080 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Consider blocks for designated initializer
warnings (warning or lack there of) as well since
blocks are another pattern for envoking other
designated initializers. // rdar://16323233


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204081 91177308-0d34-0410-b5e6-96231b3b80d8
Don't fold together the name lookup entries for two declarations if they are
declared in different namespaces in the same inline namespace set.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204082 91177308-0d34-0410-b5e6-96231b3b80d8
Range-ify and simplify some of the AST dumping code by factoring out the lastChild check.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204086 91177308-0d34-0410-b5e6-96231b3b80d8
Factor out repeated code in dumping template declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204090 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. No need to issue deprecated warning if deprecated method 
in class extension is being implemented in primary class implementation
(no overriding is involved).
// rdar://16249335


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204093 91177308-0d34-0410-b5e6-96231b3b80d8
Remove 'REQUIRES: LP64' from these tests and use a more targeted fix.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204096 91177308-0d34-0410-b5e6-96231b3b80d8
Fix variable shadowing. Due to a bug in GCC's implementation of range-based for
loops, it was making this an error, resulting in buildbot failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204097 91177308-0d34-0410-b5e6-96231b3b80d8
PGO: Switch to isOSBinFormatMachO()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204098 91177308-0d34-0410-b5e6-96231b3b80d8
AST dumper: if we have multiple implicit instantiations of the same class
template specialization (from different modules), dump them all, so that every
declaration is dumped somewhere.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204100 91177308-0d34-0410-b5e6-96231b3b80d8
Debug info: Update testcases to new DIBuilder behaviour. Variables now
store DIRefs to their types for improved type uniquing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204105 91177308-0d34-0410-b5e6-96231b3b80d8
More working around a GCC range-based for scope bug.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204108 91177308-0d34-0410-b5e6-96231b3b80d8
Fix const correctness issue in CXXConstructExpr::getArgs().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204109 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Modules/cxx-templates.cpp: Tweak for dos path.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204116 91177308-0d34-0410-b5e6-96231b3b80d8