Use the CGCXXABI member on CodeGenTypes.

CodeGenTypes already has a reference to a CGCXXABI. Use this directly
rather than going through CodeGenModule to get to the same information.

This is consistent with other references to CGCXXABI in CodeGenTypes
functions defined in CGCall.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191854 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator. Starting distiguising different
migrations under their own option. 
wip and // rdar://15003157


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191855 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator: Add more options one for each
kind of migration. // rdar://15003157



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191858 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator: Add individual options and
enable them for distinct feature migration.
// rdar://15003157


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191863 91177308-0d34-0410-b5e6-96231b3b80d8
Change __builtin_ia32_bextri_u64 to take an i64imm to match up with LLVM backend changes.

An explicit cast is still needed in tbmintrin.h to convert any big integer down to i32imm.

Patch from Yunzhong Gao.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191872 91177308-0d34-0410-b5e6-96231b3b80d8
Teach TreeTransform and family how to transform generic lambdas within templates and nested within themselves.
  
This does not yet include capturing (that is next).

Please see test file for examples.

This patch was LGTM'd by Doug:
http://llvm-reviews.chandlerc.com/D1784


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191875 91177308-0d34-0410-b5e6-96231b3b80d8
Revert changes from the nested lambdas commit till i figure out 
why the buildbots are failing.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191876 91177308-0d34-0410-b5e6-96231b3b80d8
Extract ABI-specific parts of MangleContext into separate classes

Reviewed at http://llvm-reviews.chandlerc.com/D1807

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191878 91177308-0d34-0410-b5e6-96231b3b80d8
Teach TreeTransform and family how to transform generic lambdas within templates and nested within themselves.
  
This does not yet include capturing (that is next).

Please see test file for examples.

This patch was LGTM'd by Doug:
http://llvm-reviews.chandlerc.com/D1784
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130930/090048.html

When I first committed this patch - a bunch of buildbots were unable to compile the code that VS2010 seemed to compile.  Seems like there was a dependency on Sema/Template.h which VS did not seem to need, but I have now added for the other compilers.  It still compiles on Visual Studio 2010 - lets hope the buildbots remain quiet (please!)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191879 91177308-0d34-0410-b5e6-96231b3b80d8
Gracefully (and correctly) handle init of multiple union members

We now emit warnings when doing so and code generation is consistent
with GCC. Note that the C99 spec is unclear as to the precise
behavior.

See also ...
Bug:
  http://llvm.org/bugs/show_bug.cgi?id=16644 and

cfe-dev discussion:
  http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-September/031918.html



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191890 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: *-*-darwin-eabi triples should use AAPCS.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191900 91177308-0d34-0410-b5e6-96231b3b80d8
Fix test to work on Linux hosts by specifying triple.

Thought I'd checked that before

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191901 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] Introduce clang_Type_getClassType which returns the class type of a member pointer type.

Patch by Che-Liang Chiou!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191906 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] python: expose a few functions, patch by Loïc Jaquemet!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191907 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Add new debug helper clang_analyzer_warnIfReached.

This will emit a warning if a call to clang_analyzer_warnIfReached is
executed, printing REACHABLE. This is a more explicit way to declare
expected reachability than using clang_analyzer_eval or triggering
a bug (divide-by-zero or null dereference), and unlike the former will
work the same in inlined functions and top-level functions. Like the
other debug helpers, it is part of the debug.ExprInspection checker.

Patch by Jared Grubb!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191909 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Replace bug category magic strings with shared constants.

One small functionality change is to bring the sizeof-pointer checker in
line with the other checkers by making its category be "Logic error"
instead of just "Logic". There should be no other functionality changes.

Patch by Daniel Marjamäki!

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

It looks like clang always produce code with the ieee comparisons, so it is
safe to ignore this flag (we still error on -mno-ieee-fp).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191912 91177308-0d34-0410-b5e6-96231b3b80d8
Give this a temporary output so it is cleaned up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191917 91177308-0d34-0410-b5e6-96231b3b80d8
Make this use -### instead of a temporary output.

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

With -### clang return 0, so we have to use FileCheck to see if there was an
error.

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