]> granicus.if.org Git - clang/log
clang
9 years agoInstrProf: Remove some pointless indirection (NFC)
Justin Bogner [Tue, 2 Dec 2014 22:38:52 +0000 (22:38 +0000)]
InstrProf: Remove some pointless indirection (NFC)

It doesn't make much sense to have std::unique_ptrs of std::string and
std::vector. Avoid some useless indirection by using these types
directly.

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

9 years agoDiagnose TypoExprs in a couple of error cases in ParsePostfixExpressionSuffix.
Kaelyn Takata [Tue, 2 Dec 2014 22:05:35 +0000 (22:05 +0000)]
Diagnose TypoExprs in a couple of error cases in ParsePostfixExpressionSuffix.

Also have CorrectDelayedTyposInExpr check that the Expr* isn't null
before trying to access its members. Fixes PR21679.

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

9 years agoWrap to 80 columns. No behavior change.
Nico Weber [Tue, 2 Dec 2014 20:41:18 +0000 (20:41 +0000)]
Wrap to 80 columns. No behavior change.

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

9 years agoMake le64 DescriptionString consistent with other targets.
JF Bastien [Tue, 2 Dec 2014 19:19:59 +0000 (19:19 +0000)]
Make le64 DescriptionString consistent with other targets.

Summary:
In particular, remove the defaults and reorder fields so it matches the result of DataLayout::getStringDescription().

Change by David Neto.

Reviewers: dschuff, sdt

Subscribers: cfe-commits

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

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

9 years agoThis patch fixes a crash involving use of predefined
Fariborz Jahanian [Tue, 2 Dec 2014 18:42:51 +0000 (18:42 +0000)]
This patch fixes a crash involving use of predefined
expressions. It fixes crash when mangling name for block's helper
function used inside a constructor/destructor.
rdar://19065361.

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

9 years agoSkip some unnecessary type checks.
Samuel Benzaquen [Tue, 2 Dec 2014 18:29:00 +0000 (18:29 +0000)]
Skip some unnecessary type checks.

Summary:
Skip some unnecessary type checks wrt DynTypedNodes.
Add DynTypedNode::getUnchecked() to skip the runtime check when the type
is known.
Speed up DynTypedNode::operator== by using isSame() instead of
isBaseOf().
Skip the type check in MatcherInterface<T>::matches(). All calls come
from DynTypedMatcher::matches(), which already did the type check.
This change speeds up our clang-tidy benchmark by ~4%.

Reviewers: klimek

Subscribers: klimek, cfe-commits

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

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

9 years agoFix invalid calling convention used for libcalls on ARM.
Anton Korobeynikov [Tue, 2 Dec 2014 16:04:58 +0000 (16:04 +0000)]
Fix invalid calling convention used for libcalls on ARM.
ARM ABI specifies that all the libcalls use soft FP ABI
(even hard FP binaries). These days clang emits _mulsc3 / _muldc3
calls with default (C) calling convention which would be translated
into AAPCS_VFP LLVM calling and thus the result of complex
multiplication will be bogus.

Introduce a way for a target to specify explicitly calling
convention for libcalls. Right now this is temporary correctness
fix. Ultimately, we'll end with intrinsic for complex
multiplication and all calling convention decisions for libcalls
will be put into backend.

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

9 years agoReverted r223114, it caused failure on on clang-native-arm-cortex-a9.
Serge Pavlov [Tue, 2 Dec 2014 14:52:20 +0000 (14:52 +0000)]
Reverted r223114, it caused failure on on clang-native-arm-cortex-a9.

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

9 years agoclang-format: Escape '*' in generated flag documentation.
Daniel Jasper [Tue, 2 Dec 2014 14:21:16 +0000 (14:21 +0000)]
clang-format: Escape '*' in generated flag documentation.

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

9 years agoclang-format: Add option to suppress operator alignment.
Daniel Jasper [Tue, 2 Dec 2014 13:24:51 +0000 (13:24 +0000)]
clang-format: Add option to suppress operator alignment.

With alignment:
  int aaaaaa = aa
               + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
                     * cccccccccccccccccccccccccccccccc;

Without alignment:
  int aaaaaa = aa
      + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
          * cccccccccccccccccccccccccccccccc;

This fixes llvm.org/PR21666.

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

9 years ago[NVPTX] Fix type error for some builtins in BuiltinsNVPTX.def
Justin Holewinski [Tue, 2 Dec 2014 12:58:24 +0000 (12:58 +0000)]
[NVPTX] Fix type error for some builtins in BuiltinsNVPTX.def

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

9 years agoEmit warning if define or undef reserved identifier or keyword.
Serge Pavlov [Tue, 2 Dec 2014 11:06:09 +0000 (11:06 +0000)]
Emit warning if define or undef reserved identifier or keyword.

Summary:
This change implements warnings if macro name is identical to a keyword or
reserved identifier. The warnings are different depending on the "danger"
of the operation. Defining macro that replaces a keyword is on by default.
Other cases produce warning that is off by default but can be turned on
using option -Wreserved-id-macro.

This change fixes PR11488.

Reviewers: rnk

Reviewed By: rnk

Subscribers: rnk, cfe-commits

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

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

9 years agoclang-format: precedence-based indentation when breaking before operators.
Daniel Jasper [Tue, 2 Dec 2014 09:46:56 +0000 (09:46 +0000)]
clang-format: precedence-based indentation when breaking before operators.

Before:
  bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
               + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
               + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
               == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                  * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
                  + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
               && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                  * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                  > ccccccccccccccccccccccccccccccccccccccccc;

After:
  bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                       + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                       + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                              * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
                          + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
               && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                          * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      > ccccccccccccccccccccccccccccccccccccccccc;

Not particularly pretty, but can probably help to uncover bugs. And if this
bugs somebody, parentheses can help.

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

9 years agoRe-apply "Revert r166370 and r166540 now that Xcode 4.6 has been available for a...
Bob Wilson [Tue, 2 Dec 2014 05:17:21 +0000 (05:17 +0000)]
Re-apply "Revert r166370 and r166540 now that Xcode 4.6 has been available for a while."

This reverts commit r176892.

I had reverted this a while back to give Chromium more time to update, and
Nico says it should be OK now.

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

9 years agoclang/test/Modules/malformed.cpp REQUIRES shell due to "cd".
NAKAMURA Takumi [Tue, 2 Dec 2014 03:55:16 +0000 (03:55 +0000)]
clang/test/Modules/malformed.cpp REQUIRES shell due to "cd".

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

9 years agoCMake: make the regexes used for setting HOST_LINK_VERSION more forgiving (PR21268)
Hans Wennborg [Tue, 2 Dec 2014 03:08:38 +0000 (03:08 +0000)]
CMake: make the regexes used for setting HOST_LINK_VERSION more forgiving (PR21268)

If the output of 'ld -v' didn't match the regexes, CMake would previously error
with a message like:

  CMake Error at tools/clang/CMakeLists.txt:269 (string):
    string sub-command REGEX, mode REPLACE regex "[^0-9]*([0-9.]*).*" matched
    an empty string.

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

9 years agoTry to fix the MSVC build.
Hans Wennborg [Tue, 2 Dec 2014 02:13:09 +0000 (02:13 +0000)]
Try to fix the MSVC build.

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

9 years agoRely on fewer features of the 'env' command. Darwin only supports '-i'.
Chandler Carruth [Tue, 2 Dec 2014 01:24:52 +0000 (01:24 +0000)]
Rely on fewer features of the 'env' command. Darwin only supports '-i'.
I'm explicitly setting LC_ALL=C somewhat for documentation, but
hopefully this also removes some host variation from the test results.

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

9 years agoAdd a test that ensures the Clang driver behaves itself when the PATH
Chandler Carruth [Tue, 2 Dec 2014 00:53:20 +0000 (00:53 +0000)]
Add a test that ensures the Clang driver behaves itself when the PATH
environment variable is changed to strange things out from under it.
Prior to r223099 in LLVM, these test cases would crash in various ways
(assert fails, stack exhaustion, etc.).

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

9 years agoRemove special case for aarch64 static vs. PIC code in iOS kernel code.
Bob Wilson [Tue, 2 Dec 2014 00:27:35 +0000 (00:27 +0000)]
Remove special case for aarch64 static vs. PIC code in iOS kernel code.

I added this check a while back but then made a note to myself that it
should be completely unnecessary since iOS always uses PIC code-gen for
aarch64. Since I could never come up with any reason why it would be
necessary, I'm just going to remove it and we'll see if anything breaks.
rdar://problem/13627985

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

9 years ago[modules] Track how 'header' directives were written in module map files,
Richard Smith [Tue, 2 Dec 2014 00:08:08 +0000 (00:08 +0000)]
[modules] Track how 'header' directives were written in module map files,
rather than trying to extract this information from the FileEntry after the
fact.

This has a number of beneficial effects. For instance, diagnostic messages for
failed module builds give a path relative to the "module root" rather than an
absolute file path, and the contents of the module includes file is no longer
dependent on what files the including TU happened to inspect prior to
triggering the module build.

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

9 years agoPerform correct lookup when '__super' is used in class with dependent base.
Nikola Smiljanic [Mon, 1 Dec 2014 23:15:01 +0000 (23:15 +0000)]
Perform correct lookup when '__super' is used in class with dependent base.

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

9 years agoMake -fuse-ld=lld work properly on Windows.
Zachary Turner [Mon, 1 Dec 2014 23:06:47 +0000 (23:06 +0000)]
Make -fuse-ld=lld work properly on Windows.

Using lld on Windows requires calling link-lld.exe instead of
lld.exe.  This patch puts this knowledge into clang so that when
using the GCC style clang driver, it can properly delegate to
lld.

Differential Revision: http://reviews.llvm.org/D6428
Reviewed by: Reid Kleckner, Rui Ueyama

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

9 years agoUse nullptr to silence -Wsentinel when self-hosting on Windows
Reid Kleckner [Mon, 1 Dec 2014 22:02:27 +0000 (22:02 +0000)]
Use nullptr to silence -Wsentinel when self-hosting on Windows

Richard rejected my Sema change to interpret an integer literal zero in
a varargs context as a null pointer, so -Wsentinel sees an integer
literal zero and fires off a warning. Only CodeGen currently knows that
it promotes integer literal zeroes in this context to pointer size on
Windows.  I didn't want to teach -Wsentinel about that compatibility
hack. Therefore, I'm migrating to C++11 nullptr.

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

9 years agoAdd missing 'break's, found by inspection. No functionality change; the
Richard Smith [Mon, 1 Dec 2014 18:59:10 +0000 (18:59 +0000)]
Add missing 'break's, found by inspection. No functionality change; the
fallthrough happened to do the right thing in both cases.

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

9 years agoAdd a test for devirtualization of virtual operator calls.
Nico Weber [Mon, 1 Dec 2014 17:48:04 +0000 (17:48 +0000)]
Add a test for devirtualization of virtual operator calls.

There was no test coverage for this before: Modifiying
EmitCXXOperatorMemberCallee() to not call CanDevirtualizeMemberFunctionCall()
didn't make any test fail.

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

9 years agoUpdate R600 address space map to include generic
Matt Arsenault [Mon, 1 Dec 2014 16:46:03 +0000 (16:46 +0000)]
Update R600 address space map to include generic

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

9 years agoMake the function pointer a template argument instead of a runtime value.
Samuel Benzaquen [Mon, 1 Dec 2014 14:46:14 +0000 (14:46 +0000)]
Make the function pointer a template argument instead of a runtime value.

Summary:
Speed up the variadic matchers by removing one indirect call.
Making the function pointer a template arguments allows the compiler to
inline the call instead of doing an runtime call by pointer.
Also, optimize the allOf() case to avoid redundant kind checks.
This speeds up our clang-tidy benchmark by ~2%

Reviewers: klimek

Subscribers: klimek, cfe-commits

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

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

9 years ago[OPENMP] Formating and code improvement for codegen of 'omp critical' directive.
Alexey Bataev [Mon, 1 Dec 2014 11:32:38 +0000 (11:32 +0000)]
[OPENMP] Formating and code improvement for codegen of 'omp critical' directive.
No functional changes, only code improvements.

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

9 years agoRevert "Remove threshold for lifetime marker insertion of named temporaries"
Arnaud A. de Grandmaison [Mon, 1 Dec 2014 09:30:16 +0000 (09:30 +0000)]
Revert "Remove threshold for lifetime marker insertion of named temporaries"

Revert r222993 while I investigate some MemorySanitizer failures.

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

9 years agoRemove threshold for lifetime marker insertion of named temporaries
Arnaud A. de Grandmaison [Mon, 1 Dec 2014 09:13:54 +0000 (09:13 +0000)]
Remove threshold for lifetime marker insertion of named temporaries

Now that TailRecursionElimination has been fixed with r222354, the
threshold on size for lifetime marker insertion can be removed. This
only affects named temporary though, as the patch for unnamed temporaries
is still in progress.

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

9 years agoclang/test/CodeGenOpenCL/opencl_types.cl: Appease i686-msvc.
NAKAMURA Takumi [Sun, 30 Nov 2014 00:32:02 +0000 (00:32 +0000)]
clang/test/CodeGenOpenCL/opencl_types.cl: Appease i686-msvc.

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

9 years agoFix typo.
Nico Weber [Sat, 29 Nov 2014 23:57:35 +0000 (23:57 +0000)]
Fix typo.

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

9 years agoFix grammar error in err_bad_reinterpret_cast_reference error message.
Nathan Sidwell [Sat, 29 Nov 2014 22:51:47 +0000 (22:51 +0000)]
Fix grammar error in err_bad_reinterpret_cast_reference error message.

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

9 years agoTweak clang/test/CodeGenOpenCL/opencl_types.cl to appease msvc since r222941.
NAKAMURA Takumi [Sat, 29 Nov 2014 17:27:07 +0000 (17:27 +0000)]
Tweak clang/test/CodeGenOpenCL/opencl_types.cl to appease msvc since r222941.

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

9 years agoAST: Consider pseudo-struct builtin types as substitutable
David Majnemer [Fri, 28 Nov 2014 22:22:46 +0000 (22:22 +0000)]
AST: Consider pseudo-struct builtin types as substitutable

We didn't consider types like ObjCSel as a substitution candidate.

This fixes PR21688.

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

9 years agoAdd additional arguments for -mfpu options
Richard Barton [Fri, 28 Nov 2014 20:39:59 +0000 (20:39 +0000)]
Add additional arguments for -mfpu options

Add neon-vfpv3 to allow specifying both at the same time. This is not an
option that GCC supports, but follows the same track and should be
non-controversial.

Change-Id: Id9ec157c835937d7d11ad0f49dbe5171fac17658

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

9 years agoAdd -mfpu=neon-vfpv4
Richard Barton [Fri, 28 Nov 2014 20:39:54 +0000 (20:39 +0000)]
Add -mfpu=neon-vfpv4

This enables user to architecturally specify ARMv7A + VFPv4 + NEON.

Change-Id: I779b01fef5c47e5e4ac702ae24ed2f76a0e4c63f

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

9 years ago[OPENMP] Additional processing of 'omp atomic write' directive.
Alexey Bataev [Fri, 28 Nov 2014 07:21:40 +0000 (07:21 +0000)]
[OPENMP] Additional processing of 'omp atomic write' directive.
According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic write' is allowed to be used only for expression statements of form 'x = expr;', where x is a lvalue expression and expr is an expression with scalar type. Patch adds checks for it.

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

9 years agoCreate a new 'flag_enum' attribute.
Sean Hunt [Fri, 28 Nov 2014 00:53:20 +0000 (00:53 +0000)]
Create a new 'flag_enum' attribute.

This attribute serves as a hint to improve warnings about the ranges of
enumerators used as flag types. It currently has no working C++ implementation
due to different semantics for enums in C++. For more explanation, see the docs
and testcases.

Reviewed by Aaron Ballman.

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

9 years agoAArch64: simplify PCS mapping.
Tim Northover [Thu, 27 Nov 2014 21:02:49 +0000 (21:02 +0000)]
AArch64: simplify PCS mapping.

Now that LLVM can count the registers needed to implement AAPCS rules, we don't
need to duplicate that logic here. This means we can drop the explicit padding
and also use more natural types in many cases (e.g. "struct { float arr[3]; }"
used to end up as "[2 x double]" to avoid holes on the stack.

The one wrinkle is that AAPCS va_arg was also using the register counting
machinery. But the local replacement isn't too bad.

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

9 years agoSphinx does not have a lexer for OpenCL, so falling back to C for the language on...
Aaron Ballman [Thu, 27 Nov 2014 15:45:59 +0000 (15:45 +0000)]
Sphinx does not have a lexer for OpenCL, so falling back to C for the language on the code block. Also fixing an indentation warning. NFC to the content of the documentation itself.

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

9 years agoclang-format: [JS] Contract fewer functions to a single line.
Daniel Jasper [Thu, 27 Nov 2014 15:37:42 +0000 (15:37 +0000)]
clang-format: [JS] Contract fewer functions to a single line.

Before:
  var someVariable =
      function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); };

After:
  var someVariable = function(x) {
    return x.zIsTooLongForOneLineWithTheDeclarationLine();
  };

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

9 years agoclang-format: [JS] Try not to break in container literals.
Daniel Jasper [Thu, 27 Nov 2014 15:24:48 +0000 (15:24 +0000)]
clang-format: [JS] Try not to break in container literals.

Before:
  var obj = {
    fooooooooo:
        function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); }
  };

After:
  var obj = {
    fooooooooo: function(x) {
      return x.zIsTooLongForOneLineWithTheDeclarationLine();
    }
  };

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

9 years agoclang-format: [JS] new and delete are valid function names.
Daniel Jasper [Thu, 27 Nov 2014 14:55:17 +0000 (14:55 +0000)]
clang-format: [JS] new and delete are valid function names.

Before:
  someObject.new ();
  someObject.delete ();

After:
  someObject.new();
  someObject.delete();

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

9 years agoclang-format: [JS] Make Closure module detection more narrow.
Daniel Jasper [Thu, 27 Nov 2014 14:46:03 +0000 (14:46 +0000)]
clang-format: [JS] Make Closure module detection more narrow.

Before:
  var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName');

After:
  var MyLongClassName =
      goog.module.get('my.long.module.name.followedBy.MyLongClassName');

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

9 years agoclang-format: Don't use column layout with AlignAfterOpenBrackets.
Daniel Jasper [Thu, 27 Nov 2014 14:40:48 +0000 (14:40 +0000)]
clang-format: Don't use column layout with AlignAfterOpenBrackets.

This fixes llvm.org/PR21676.

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

9 years ago[c++1z] Remove terse range-based for loops; they've been removed from
Richard Smith [Thu, 27 Nov 2014 01:54:27 +0000 (01:54 +0000)]
[c++1z] Remove terse range-based for loops; they've been removed from
consideration for C++17 for now. Update C++ status page to match.

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

9 years agoWhen checking for uninitialized values, do not confuse "std::move" with every
Richard Trieu [Thu, 27 Nov 2014 01:29:32 +0000 (01:29 +0000)]
When checking for uninitialized values, do not confuse "std::move" with every
other function named "move".

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

9 years agoOpenCL: fix test for lack of names in release builds
Tim Northover [Wed, 26 Nov 2014 22:33:04 +0000 (22:33 +0000)]
OpenCL: fix test for lack of names in release builds

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

9 years ago[analyzer] Indented code within the DisplayHelp sub.
Anton Yartsev [Wed, 26 Nov 2014 21:53:39 +0000 (21:53 +0000)]
[analyzer] Indented code within the DisplayHelp sub.

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

9 years agoFix buildbot failure on LLP64 platforms like MSVC x86_64.
Richard Smith [Wed, 26 Nov 2014 19:37:39 +0000 (19:37 +0000)]
Fix buildbot failure on LLP64 platforms like MSVC x86_64.

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

9 years agoclang-format: [Java] Don't line-wrap package declarations.
Daniel Jasper [Wed, 26 Nov 2014 18:03:42 +0000 (18:03 +0000)]
clang-format: [Java] Don't line-wrap package declarations.

This fixes llvm.org/PR21677.

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

9 years agoclang-format: Tweak -style=Chromium for Java files.
Nico Weber [Wed, 26 Nov 2014 16:43:18 +0000 (16:43 +0000)]
clang-format: Tweak -style=Chromium for Java files.

For Java, don't do any of the deviations from Google Style that Chromium style
does for C++.

Chromium's Java follows Android Java style [1], which is roughly Google Java
style with an indent of 4 and a continuation indent of 8.

1: https://source.android.com/source/code-style.html

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

9 years agoAdding an explicit triple to this test to get it to pass all build bots.
Aaron Ballman [Wed, 26 Nov 2014 16:17:20 +0000 (16:17 +0000)]
Adding an explicit triple to this test to get it to pass all build bots.

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

9 years ago[OpenCL] Implemented restrictions for pointer conversions specified in OpenCL v2.0.
Anastasia Stulova [Wed, 26 Nov 2014 15:36:41 +0000 (15:36 +0000)]
[OpenCL] Implemented restrictions for pointer conversions specified in OpenCL v2.0.

OpenCL v2.0 s6.5.5 restricts conversion of pointers to different address spaces:
- the named address spaces (__global, __local, and __private) => __generic - implicitly converted;
- __generic => named - with an explicit cast;
- named <=> named - disallowed;
- __constant <=> any other - disallowed.

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

9 years ago[OpenCL] Generic address space parsing and diagnostics test (forgotten previously)
Anastasia Stulova [Wed, 26 Nov 2014 14:14:05 +0000 (14:14 +0000)]
[OpenCL] Generic address space parsing and diagnostics test (forgotten previously)

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

9 years ago[OpenCL] Generic address space has been added in OpenCL v2.0.
Anastasia Stulova [Wed, 26 Nov 2014 14:10:06 +0000 (14:10 +0000)]
[OpenCL] Generic address space has been added in OpenCL v2.0.

To support it in the frontend, the following has been added:
- generic address space type attribute;
- documentation for the OpenCL address space attributes;
- parsing of __generic(generic) keyword;
- test code for the parser and diagnostics.

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

9 years agoclang-format: [Java] Improve formatting of throws declarations.
Daniel Jasper [Wed, 26 Nov 2014 12:31:19 +0000 (12:31 +0000)]
clang-format: [Java] Improve formatting of throws declarations.

Before:
  public void doSoooooooooo() throws LoooooooooongException,
      LooooooooooongException {}

After:
  public void doSoooooooooo()
      throws LoooooooooongException, LooooooooooongException {}

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

9 years agoclang-format: [Java] Improve cast detection.
Daniel Jasper [Wed, 26 Nov 2014 12:23:10 +0000 (12:23 +0000)]
clang-format: [Java] Improve cast detection.

Before:
  a[b >> 1] = (byte)(c() << 4);

After:
  a[b >> 1] = (byte) (c() << 4);

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

9 years agoclang-format: [Java] Fix breaking after annotations.
Daniel Jasper [Wed, 26 Nov 2014 11:20:43 +0000 (11:20 +0000)]
clang-format: [Java] Fix breaking after annotations.

Before:
  @Annotation1 // comment
  @Annotation2 class C {}

After:
  @Annotation1 // comment
  @Annotation2
  class C {}

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

9 years agoclang-format: Add SFS_Empty to only empty functions on a single line.
Daniel Jasper [Wed, 26 Nov 2014 10:43:58 +0000 (10:43 +0000)]
clang-format: Add SFS_Empty to only empty functions on a single line.

Activated for and tested by Google's Java style.

This fixes llvm.org/PR21667.

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

9 years agoclang-format: [Java] Support Foo.class;
Daniel Jasper [Wed, 26 Nov 2014 08:17:08 +0000 (08:17 +0000)]
clang-format: [Java] Support Foo.class;

Before:
  SomeClass.
  class.getName();

After:
  SomeClass.class.getName();

This fixes llvm.org/PR21665.

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

9 years ago[c++1z] Most of N4268 (allow constant evaluation for non-type template arguments).
Richard Smith [Wed, 26 Nov 2014 03:26:53 +0000 (03:26 +0000)]
[c++1z] Most of N4268 (allow constant evaluation for non-type template arguments).

We don't yet support pointer-to-member template arguments that have undergone
pointer-to-member conversions, mostly because we don't have a mangling for them yet.

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

9 years agoCodeGen: Fix emission of __atomic_compare_exchange
David Majnemer [Tue, 25 Nov 2014 23:44:32 +0000 (23:44 +0000)]
CodeGen: Fix emission of __atomic_compare_exchange

We (wrongly) discarded the return value of the call.

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

9 years agoEnsure that any TypoExprs in the arguments to bultins with custom type
Kaelyn Takata [Tue, 25 Nov 2014 23:04:09 +0000 (23:04 +0000)]
Ensure that any TypoExprs in the arguments to bultins with custom type
checking are handled before the custom type checking is performed.

Fixes PR21669.

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

9 years agoTry to fix a ppc64 bot. What is this 'signext' stuff anyway?
Paul Robinson [Tue, 25 Nov 2014 17:28:54 +0000 (17:28 +0000)]
Try to fix a ppc64 bot.  What is this 'signext' stuff anyway?
No wonder most people use specific triples.

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

9 years agoRe-apply r222646 (was reverted in r222667). Adding 4 ASTMatchers: typedefDecl, isInMa...
Manuel Klimek [Tue, 25 Nov 2014 17:01:06 +0000 (17:01 +0000)]
Re-apply r222646 (was reverted in r222667). Adding 4 ASTMatchers: typedefDecl, isInMainFile, isInSystemFile, isInFileMatchingName

Change to original: ifndef out tests in Windows due to /-separated
paths.

Summary:
Often one is only interested in matches within the main-file or matches
that are not within a system-header, for which this patch adds
isInMainFile and isInSystemFile. They take no arguments and narrow down
the matches.

The isInFileMatchingName is mainly thought for interactive
clang-query-sessions, to make a matcher more specific without restarting
the session with the files you are interested in for that moment. It
takes a string that will be used as regular-expression to match the
filename of where the matched node is expanded.

Patch by Hendrik von Prince.

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

9 years agoUpdate Clang tests that run the LLVM optimizer to reflect the changed
Chandler Carruth [Tue, 25 Nov 2014 10:10:37 +0000 (10:10 +0000)]
Update Clang tests that run the LLVM optimizer to reflect the changed
canonicalization in r222748. No interesting functionality changed here.

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

9 years agoclang-format: Refactoring.
Daniel Jasper [Tue, 25 Nov 2014 10:05:17 +0000 (10:05 +0000)]
clang-format: Refactoring.

Re-apply r222638 and r222641 without variadic templates.

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

9 years agoAdd flag -f(no-)modules-implicit-maps.
Daniel Jasper [Tue, 25 Nov 2014 09:45:48 +0000 (09:45 +0000)]
Add flag -f(no-)modules-implicit-maps.

This suppresses the implicit search for files called 'module.modulemap' and
similar.

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

9 years agoAdd a missing override, caught by clang's inconsistent override warning.
Chandler Carruth [Tue, 25 Nov 2014 08:59:34 +0000 (08:59 +0000)]
Add a missing override, caught by clang's inconsistent override warning.

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

9 years ago[ARM] Define __ARM_FEATURE_DSP macro for CPUs that have DSP instructions
Sergey Dmitrouk [Tue, 25 Nov 2014 08:57:36 +0000 (08:57 +0000)]
[ARM] Define __ARM_FEATURE_DSP macro for CPUs that have DSP instructions

Summary:
This resolves [[ http://llvm.org/bugs/show_bug.cgi?id=17391 | PR17391 ]].

GCC's sources were used as a guide (couldn't find much information in ARM documentation).

Reviewers: doug.gregor, asl

Reviewed By: asl

Subscribers: asl, aemerson, cfe-commits

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

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

9 years agoMS ABI: Add CodeGen support for rethrowing MS C++ exceptions
David Majnemer [Tue, 25 Nov 2014 07:20:20 +0000 (07:20 +0000)]
MS ABI: Add CodeGen support for rethrowing MS C++ exceptions

Rethrowing exceptions in the MS model is very simple: just call
_CxxThrowException with nullptr for both arguments.

N.B.  They chose stdcall as the calling convention for x86 but cdecl for
all other platforms.

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

9 years agodocs: Update the MSVCCompatibility doc for changes to debug info
David Majnemer [Tue, 25 Nov 2014 06:59:35 +0000 (06:59 +0000)]
docs: Update the MSVCCompatibility doc for changes to debug info

The document should reflect that we now support emission for DWARF.

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

9 years agoCodeGen: further simplify assertion
Saleem Abdulrasool [Tue, 25 Nov 2014 03:49:50 +0000 (03:49 +0000)]
CodeGen: further simplify assertion

Use more of algorithm to simplify the assertion.  Pointed out by David Blakie!

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

9 years agoSee if this fixes Mips bot; ignore contents of parameter lists.
Paul Robinson [Mon, 24 Nov 2014 23:30:12 +0000 (23:30 +0000)]
See if this fixes Mips bot; ignore contents of parameter lists.

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

9 years agoRemove unnecessary environment switch
Reid Kleckner [Mon, 24 Nov 2014 22:05:42 +0000 (22:05 +0000)]
Remove unnecessary environment switch

All supported environments on x86 Windows return structs in EAX:EDX.
This removes code added in r204978 that had to get updated in r222680.
We should now have the same behavior we had before r204978.

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

9 years agoForce the correction of delayed typos in casts in non-C++ code.
Kaelyn Takata [Mon, 24 Nov 2014 21:46:59 +0000 (21:46 +0000)]
Force the correction of delayed typos in casts in non-C++ code.

Fixes PR21656, which is fallout from r222551 caused by an untested/missed
code path.

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

9 years agoFilter the toplevel matchers by kind.
Samuel Benzaquen [Mon, 24 Nov 2014 21:21:09 +0000 (21:21 +0000)]
Filter the toplevel matchers by kind.

Summary:
Filter the toplevel matchers by kind.
Decl and Stmt matchers are tied to a specific node kind and trying to
match incompatible nodes is a waste.
Precalculate a filtered list of matchers that have a chance of matching
the node and ignore the rest.
Speeds up our clang-tidy benchmark by ~10%

Reviewers: klimek

Subscribers: klimek, cfe-commits

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

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

9 years agotesting: make test use FileCheck
Tim Northover [Mon, 24 Nov 2014 21:03:34 +0000 (21:03 +0000)]
testing: make test use FileCheck

The "grep internal | count" was fragile when your source or remote paths could
contain the word "internal".

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

9 years agoCorrectly remove OptimizeForSize from functions marked OptimizeNone.
Paul Robinson [Mon, 24 Nov 2014 20:51:42 +0000 (20:51 +0000)]
Correctly remove OptimizeForSize from functions marked OptimizeNone.
This allows using __attribute__((optnone)) and the -Os/-Oz options.
Fixes PR21604.

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

9 years agoCodeGen: make i686-windows-itanium more similar to msvc
Saleem Abdulrasool [Mon, 24 Nov 2014 20:14:29 +0000 (20:14 +0000)]
CodeGen: make i686-windows-itanium more similar to msvc

The itanium environment follows the system calling convention for structures.
Pass small aggregates via registers.

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

9 years agoCodeGen: use a range-based for loop
Saleem Abdulrasool [Mon, 24 Nov 2014 20:14:26 +0000 (20:14 +0000)]
CodeGen: use a range-based for loop

Convert a debug assertion into a range-based loop form.  NFC.

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

9 years agoReverting r222646; the tests do not pass on Windows. Also reverts r222664, which...
Aaron Ballman [Mon, 24 Nov 2014 17:39:44 +0000 (17:39 +0000)]
Reverting r222646; the tests do not pass on Windows. Also reverts r222664, which was required for r222646 to compile with Visual Studio 2012.

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

9 years agoFix line endings
Nico Rieck [Mon, 24 Nov 2014 17:29:52 +0000 (17:29 +0000)]
Fix line endings

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

9 years agoFix crash when using __if_exists in C mode
Nico Rieck [Mon, 24 Nov 2014 17:29:35 +0000 (17:29 +0000)]
Fix crash when using __if_exists in C mode

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

9 years agoUnbreaking the MSVC 2012 build; however, these tests still fail on Windows.
Aaron Ballman [Mon, 24 Nov 2014 17:22:32 +0000 (17:22 +0000)]
Unbreaking the MSVC 2012 build; however, these tests still fail on Windows.

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

9 years agoReverting r222638; it broke the MSVC build bots because Visual Studio 2012 does not...
Aaron Ballman [Mon, 24 Nov 2014 15:42:34 +0000 (15:42 +0000)]
Reverting r222638; it broke the MSVC build bots because Visual Studio 2012 does not support variadic templates. Also reverting r222641 because it was relying on 222638.

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

9 years agoAdding 4 ASTMatchers: typedefDecl, isInMainFile, isInSystemFile, isInFileMatchingName
Manuel Klimek [Mon, 24 Nov 2014 09:10:56 +0000 (09:10 +0000)]
Adding 4 ASTMatchers: typedefDecl, isInMainFile, isInSystemFile, isInFileMatchingName

Summary:
Often one is only interested in matches within the main-file or matches
that are not within a system-header, for which this patch adds
isInMainFile and isInSystemFile. They take no arguments and narrow down
the matches.

The isInFileMatchingName is mainly thought for interactive
clang-query-sessions, to make a matcher more specific without restarting
the session with the files you are interested in for that moment. It
takes a string that will be used as regular-expression to match the
filename of where the matched node is expanded.

Patch by Hendrik von Prince.

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

9 years agoclang-format: Make short case labels work with #ifs
Daniel Jasper [Sun, 23 Nov 2014 21:45:03 +0000 (21:45 +0000)]
clang-format: Make short case labels work with #ifs

Before:
  switch (a) {
  #if FOO
  case 0: return 0; #endif
  }

After:
  switch (a) {
  #if FOO
  case 0: return 0;
  #endif
  }

This fixed llvm.org/PR21544.

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

9 years agoclang-format: [Java] Treat 'instanceof' like other binary operators.
Daniel Jasper [Sun, 23 Nov 2014 21:34:25 +0000 (21:34 +0000)]
clang-format: [Java] Treat 'instanceof' like other binary operators.

This fixes llvm.org/PR21436.

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

9 years agoclang-format: [Java] Space before array initializers.
Daniel Jasper [Sun, 23 Nov 2014 20:54:37 +0000 (20:54 +0000)]
clang-format: [Java] Space before array initializers.

Before:
  new int[]{1, 2, 3, 4};

After:
  new int[] {1, 2, 3, 4};

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

9 years agoclang-format: Improve ObjC blocks with return type.
Daniel Jasper [Sun, 23 Nov 2014 19:15:35 +0000 (19:15 +0000)]
clang-format: Improve ObjC blocks with return type.

Before:
  Block b = ^int * (A * a, B * b) {}

After:
  Block b = ^int *(A *a, B *b) {}

This fixed llvm.org/PR21619.

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

9 years agoclang-format: Refactoring.
Daniel Jasper [Sun, 23 Nov 2014 19:03:25 +0000 (19:03 +0000)]
clang-format: Refactoring.

Provide more overloads to simplify testing the type of a token. No
functional changes intended.

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

9 years agoclang-format: [JS] Support Closure's module statements.
Daniel Jasper [Sun, 23 Nov 2014 16:46:28 +0000 (16:46 +0000)]
clang-format: [JS] Support Closure's module statements.

These are like import statements and should not be line-wrapped. Minor
restructuring of the handling of other import statements.

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

9 years agoCodeGen: tweak struct ABI handling
Saleem Abdulrasool [Sun, 23 Nov 2014 02:16:24 +0000 (02:16 +0000)]
CodeGen: tweak struct ABI handling

Cygwin and MinGW fail to conform to the underlying system's structure passing
ABI.  Make the check more precise to ensure that we correctly generate code for
the itanium environment.

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

9 years agoSupport matching signext attribute in the parallel_num_threads_codegen test to appeas...
Daniel Sanders [Sat, 22 Nov 2014 16:21:18 +0000 (16:21 +0000)]
Support matching signext attribute in the parallel_num_threads_codegen test to appease clang-cmake-mips builder.

The Mips target adds the signext attribute to signed 32-bit integers in order
to support the N32/N64 correctly. Integers must be promoted to 64-bit bit on
these ABI's.

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

9 years agoSupport matching signext attribute in vla-lambda-capturing test to appease clang...
Daniel Sanders [Sat, 22 Nov 2014 16:08:56 +0000 (16:08 +0000)]
Support matching signext attribute in vla-lambda-capturing test to appease clang-cmake-mips builder.

The Mips target adds the signext attribute to signed 32-bit integers in order
to support the N32/N64 correctly. Integers must be promoted to 64-bit bit on
these ABI's.

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

9 years agoCodeGen: Make atomic operations play nice with address spaces
David Majnemer [Sat, 22 Nov 2014 10:44:12 +0000 (10:44 +0000)]
CodeGen: Make atomic operations play nice with address spaces

We were being a little sloppy with our pointer/address space casts.

This fixes PR21643.

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