Pass actual CallExpr instead of CallExpr-specific iterators
into EmitCXXMemberOrOperatorCall methods. In the end we want
to make declaration visible in EmitCallArgs() method, that
would allow us to alter CodeGen depending on function/parameter
attributes.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216404 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C modernization. Convert -initWithUTF8String messaging
with auto-boxing syntax for literals. rdar://18080352


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216405 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Allow [super initialize] in an +initialize
implementation but not anywhere else.
rdar://16628028


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216408 91177308-0d34-0410-b5e6-96231b3b80d8
Pass actual CXXConstructExpr instead of argument iterators
into EmitSynthesizedCXXCopyCtorCall. No functionality change.


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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216417 91177308-0d34-0410-b5e6-96231b3b80d8
[clang/asan] call __asan_poison_cxx_array_cookie after operator new[]

Summary:
PR19838
When operator new[] is called and an array cookie is created
we want asan to detect buffer overflow bugs that touch the cookie.
For that we need to
  a) poison the shadow for the array cookie (call __asan_poison_cxx_array_cookie).
  b) ignore the legal accesses to the cookie generated by clang (add 'nosanitize' metadata)

Reviewers: timurrrr, samsonov, rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4774

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216434 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] Track the described template in an alias declaration that is the
pattern of an alias template declaration. Use this to merge alias templates
properly when they're members of class template specializations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216437 91177308-0d34-0410-b5e6-96231b3b80d8
Passing a variable to std::move now counts as a use for -Wuninitialized


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216438 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve handling of block comments in braced lists.

Before:
  std::vector<int> v = {
      1, 0 /* comment */
  };

After:
  std::vector<int> v = {1, 0 /* comment */};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216445 91177308-0d34-0410-b5e6-96231b3b80d8
arm_acle: Implement swap intrinsic

Insert the LDREX/STREX instruction sequence specified in ARM ACLE 2.0,
as SWP instruction is deprecated since ARMv6.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216446 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win] Add an extra thunk.lib to handle stack-use-after-return option

With this patch, "check-asan" passes all the tests with both MT and MD ASan RTL if you set COMPILER_RT_BUILD_SHARED_ASAN to ON
(PR20214)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216447 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: New option SpacesInSquareBrackets.

Before:
  int a[5];
  a[3] += 42;

After:
  int a[ 5 ];
  a[ 3 ] += 42;

Fixes LLVM bug #17887 (http://llvm.org/bugs/show_bug.cgi?id=17887).

Patch by Marek Kurdej, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216449 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: Add dbg builtin intrinsic

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216452 91177308-0d34-0410-b5e6-96231b3b80d8
arm_acle: Add mappings for dbg intrinsic

This completes all ACLE hint intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216453 91177308-0d34-0410-b5e6-96231b3b80d8
This test was updated in r216397, but was failing on Windows due to mixed path separators as well as case sensitivity of the "no" in "no such file or directory." Rather than revert this file back to its original form, I've made some incredibly ugly regexes so that it will pass everywhere.

Note, the path this test reports a failure on (for my Windows setup) is: E:\llvm\llvm\tools\clang\test\Frontend/doesnotexist/somename

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216456 91177308-0d34-0410-b5e6-96231b3b80d8
Some versions of MSVC do not support initializer list construction of vectors, so this fixes a broken build from r216385.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216457 91177308-0d34-0410-b5e6-96231b3b80d8
Switching from std::vector to llvm::ArrayRef per post-commit review suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216463 91177308-0d34-0410-b5e6-96231b3b80d8
Update for llvm api change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216467 91177308-0d34-0410-b5e6-96231b3b80d8
c11- Check for c11 language option as documentation says
feature is c11 about nested struct declarations must have
struct-declarator-list. Without this change, code
which was meant for c99 breaks. rdar://18125536


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216469 91177308-0d34-0410-b5e6-96231b3b80d8
Convert MC command line flag for fatal assembler warnings into a proper
flag.


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