Consumed Analysis:  Change callable_when so that it can take a list of states
that a function can be called in.  This reduced the total number of annotations
needed and makes writing more complicated behaviour less burdensome.
Patch by chriswails@gmail.com.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191983 91177308-0d34-0410-b5e6-96231b3b80d8
Debug Info: update testing cases when the derived-from field of a
DW_TAG_pointer_type is updated to use DITypeRef.

Paired commit with r192018.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192019 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused Sema::DelayedDestructorExceptionSpecs

This was a leftover from r160847.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192027 91177308-0d34-0410-b5e6-96231b3b80d8
Implement aarch64 neon instruction set AdvSIMD (Across).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192029 91177308-0d34-0410-b5e6-96231b3b80d8
Sema: Cleanup redundant variable NumArgsToCheck

Patch by Daniel Marjamäki!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192030 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused param from Linux::computeSysRoot().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192034 91177308-0d34-0410-b5e6-96231b3b80d8
Use logical/arithmetic operations instead of builtins in tbmintrin.h. This way we can remove the intrinsic support from the backend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192036 91177308-0d34-0410-b5e6-96231b3b80d8
Silencing an MSVC warning; SmallSet::count returns a bool instead of a size_t.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192043 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for -mcx16, and predefine __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 when
it is enabled. Also enable it on the same architectures that GCC does.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192045 91177308-0d34-0410-b5e6-96231b3b80d8
Switching the CallableWhen attribute over to using the string literal helper function instead of custom logic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192050 91177308-0d34-0410-b5e6-96231b3b80d8
Pass CGCXXABIs around directly.

In functions that only need to use the CGCXXABI member of a CodeGenTypes
class, pass that reference around directly rather than a reference to
a CodeGenTypes class.

This makes the actual dependence on CGCXXABI clear at the call sites.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192052 91177308-0d34-0410-b5e6-96231b3b80d8
remove a dead assignment. The variables are set just right after. Found by scan-build http://buildd-clang.debian.net/scan-build/

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192061 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Remove empty lines after visibility modifiers.

Formatting:
  class C {
  public:

    f();
  };

Now leads to:
  class C {
  public:
    f();
  };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192062 91177308-0d34-0410-b5e6-96231b3b80d8
Fix PR17382 - properly group virtual method overloads in the vftable

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192067 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor tryCaptureVar using ExtractMethod.  No functionality change.

In chicago, Doug had requested that I go ahead and commit the refactor  as a separate change, if all the tests passed.  

Lets hope the buildbots stay quiet.

Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192087 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: Use the canonical command line arguments.

Summary:
Use the arguments given to the OS at process creation-time instead of
the arguments passed into main() by the C runtime environment.  The ones
that main() received may not be suitable (e.g. not Unicode).

Depends on D1834

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1835

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192091 91177308-0d34-0410-b5e6-96231b3b80d8
When merging class definitions across modules in C++, merge together fields.
This change doesn't go all the way to making fields redeclarable; instead, it
makes them 'mergeable', which means we can find the canonical declaration, but
not much else (and for a declaration that's not from a module, the canonical
declaration is always that declaration).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192092 91177308-0d34-0410-b5e6-96231b3b80d8
Fix incorrect detection of class definitions with alignas specification.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192094 91177308-0d34-0410-b5e6-96231b3b80d8
Sema::tryCaptureVariable(): Prune three unused variables, HasBlocksAttr, IsBlock, and IsLambda. [-Wunused-variable]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192095 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] Add some tests by Loïc Jaquemet that I forgot to add earlier.

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