Fix computation of linkage within nested lambdas.
 When nested lambdas are used in NSDMI's - this prevents infinite recursion.

See http://llvm-reviews.chandlerc.com/D1783 for Doug's approval regarding the code, and then request for some tests.

[On a related note, I need this patch so as to pass tests of transformations of nested lambdas returned from member functions]


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191645 91177308-0d34-0410-b5e6-96231b3b80d8
Remove an unnecessary overload from ASTLambda.h 
As Richard pointed out to me, dyn_cast is very cheap - there is no real benefit from adding cluttery overloads to only avoid that cast.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191646 91177308-0d34-0410-b5e6-96231b3b80d8
Revert the linkage fix.
I got a bunch of buildbot failures that i don't understand - sorry.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191647 91177308-0d34-0410-b5e6-96231b3b80d8
SemaTemplateDeduction.cpp: Suppress a warning. [-Wunused-variable]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191648 91177308-0d34-0410-b5e6-96231b3b80d8
Switch one of the ignored boolean flag multiclasses to not have an 'f'
prefix. Sort the ignored boolean 'f' flags at the bottom of this file.
No functionality changed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191651 91177308-0d34-0410-b5e6-96231b3b80d8
Add a bunch of other GCC '-f' options and ignore them. This covers every
such option I've been able to find in the wild in our build system.

Note that I haven't added test cases for this. I can do so if folks
want, but they're *really* boring considering that this is all generated
code to parse and ignore unsued options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191653 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve alignment after 'return'.

Previously, comments, could totally confuse it.

Before:
  return
             // true if code is one of a or b.
             code == a ||
         code == b;

After:
  return
      // true if code is one of a or b.
      code == a || code == b;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191654 91177308-0d34-0410-b5e6-96231b3b80d8
Fix use-after-free.

TemplateDeclInstantiator takes the MultiLevelArgumentList by const-ref
and stores a const-ref member. Thus, we must not pass a temporary
into the constructor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191665 91177308-0d34-0410-b5e6-96231b3b80d8
Moving style option formatting to libFormat

The help text for clang-format's -style option and the function that processes
its value is moved to libFormat in this patch. The goal is to enable other
tools that use libFormat and also have a -style option to behave consistently
with clang-format.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191666 91177308-0d34-0410-b5e6-96231b3b80d8
Adding intrinsics to the clang front end for the x86 TBM instruction set.

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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191681 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused variable introduced in 191666

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191682 91177308-0d34-0410-b5e6-96231b3b80d8
Turn struct-path aware TBAA on by default.

Use -no-struct-path-tbaa to turn it off.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191695 91177308-0d34-0410-b5e6-96231b3b80d8
Merge branch 'master' of git://github.com/llvm-mirror/clang