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
Add support for sanitizers arguments on FreeBSD

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204129 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Simplified data-sharing attributes analysis.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204135 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Driver/sanitizer-ld.c: Tweak to accept dos path.

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

Due to not resetting the fake rparen data on the token when iterating
over annotated lines, we would pop the last element of the paren stack.

This patch fixes the underlying root cause, and makes the code more
robust against similar problems in the future:
- reset the first token when iterating on the same annotated lines due
  to preprocessor branches
- never pop the last element from the paren stack, so we do not crash,
  but rather incorrectly format
- add assert()s so we can figure out if our assumptions are violated

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