]> granicus.if.org Git - clang/log
clang
8 years agoFix recognition of shadowed template parameter
Serge Pavlov [Fri, 10 Jun 2016 04:39:07 +0000 (04:39 +0000)]
Fix recognition of shadowed template parameter

Crash reported in PR28023 is caused by the fact that non-type template
parameters are found by tag name lookup.  In the code provided in that PR:

template<int V> struct A {
  struct B {
    template <int> friend struct V;
  };
};

the template parameter V is found when lookup for redeclarations of 'struct V'
is made. Latter on the error about shadowing of 'V' is emitted but the semantic
context of 'struct V' is already determined wrong: 'struct A' instead of
translation unit.

The fix moves the check for shadowing toward the beginning of the method and
thus prevents from wrong context calculations.

This change fixes PR28023.

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

8 years agoReduce sizeof(CXXConstructorDecl) by 4-8 bytes.
Richard Smith [Fri, 10 Jun 2016 02:01:28 +0000 (02:01 +0000)]
Reduce sizeof(CXXConstructorDecl) by 4-8 bytes.

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

8 years agoRemove CXXConstructExpr::getFoundDecl(); it turned out to not be useful.
Richard Smith [Fri, 10 Jun 2016 00:58:19 +0000 (00:58 +0000)]
Remove CXXConstructExpr::getFoundDecl(); it turned out to not be useful.

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

8 years agoAdd doxygen comments to mmintrin.h's intrinsics.
Ekaterina Romanova [Fri, 10 Jun 2016 00:10:40 +0000 (00:10 +0000)]
Add doxygen comments to mmintrin.h's intrinsics.

The doxygen comments are automatically generated based on Sony's intrinsics docu
ment.

I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream.

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

8 years agoRenderScript support in the Frontend
Pirama Arumuga Nainar [Thu, 9 Jun 2016 23:34:20 +0000 (23:34 +0000)]
RenderScript support in the Frontend

Summary:

Create a new Frontend LangOpt to specify the renderscript language. It
is enabled by the "-x renderscript" option from the driver.

Add a "kernel" function attribute only for RenderScript (an "ignored
attribute" warning is generated otherwise).

Make the NativeHalfType and NativeHalfArgsAndReturns LangOpts be implied
by the RenderScript LangOpt.

Reviewers: rsmith

Subscribers: cfe-commits, srhines

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

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

8 years agoclang-format: [JS] recognized named functions in AnnotatingParser.
Martin Probst [Thu, 9 Jun 2016 22:49:04 +0000 (22:49 +0000)]
clang-format: [JS] recognized named functions in AnnotatingParser.

Summary: This also fixes union type formatting in function parameter types.

Before: function x(path: number| string) {}
After: function x(path: number|string) {}

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

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

8 years agoRedirect unused output in test to /dev/null
Richard Trieu [Thu, 9 Jun 2016 22:39:20 +0000 (22:39 +0000)]
Redirect unused output in test to /dev/null

Discard unused output so when the test fails, it only prints information that
is helpful about the failure.  No functional change.

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

8 years ago[CMake] Cleaning up CMake version checks in ExternalProject calls
Chris Bieneman [Thu, 9 Jun 2016 22:38:42 +0000 (22:38 +0000)]
[CMake] Cleaning up CMake version checks in ExternalProject calls

Now that we're on CMake 3.4.3 all the ExternalProject features we use are supported everywhere, so we don't need the version checks anymore.

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

8 years ago[CMake] Version is aways greater than 3
Chris Bieneman [Thu, 9 Jun 2016 22:38:40 +0000 (22:38 +0000)]
[CMake] Version is aways greater than 3

We don't need any checks for this code anymore. Since CMake version is always greater than 3 we can always generate the exports file.

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

8 years agoFix a crash in the AST dumper.
Richard Trieu [Thu, 9 Jun 2016 22:03:04 +0000 (22:03 +0000)]
Fix a crash in the AST dumper.

Boxed expressions in a template context may have a null method decl.  If so,
don't try to access the selector.

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

8 years agoAdd a RenderScript language type
Pirama Arumuga Nainar [Thu, 9 Jun 2016 21:57:40 +0000 (21:57 +0000)]
Add a RenderScript language type

Summary:
Add RenderScript language type and associate it with ".rs" extensions.
Test that the driver passes "-x renderscript" to the frontend for ".rs"
files.

(Also add '.rs' to the list of suffixes tested by lit).

Reviewers: rsmith

Subscribers: cfe-commits, srhines

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

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

8 years ago[CMake] Cleaning up CMake feature gating on 2.8.12
Chris Bieneman [Thu, 9 Jun 2016 21:29:55 +0000 (21:29 +0000)]
[CMake] Cleaning up CMake feature gating on 2.8.12

CMake 2.8.12 introduced interface libraries and some related policies. This removes the conditional block because we're now past 2.8.12.

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

8 years agoRevert "[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr."
Tim Shen [Thu, 9 Jun 2016 21:13:39 +0000 (21:13 +0000)]
Revert "[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr."

This reverts r272296, since there are clang-tidy failures that appear to
be caused by this change.

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

8 years ago[CUDA] Implement __shfl* intrinsics in clang headers.
Justin Lebar [Thu, 9 Jun 2016 20:04:57 +0000 (20:04 +0000)]
[CUDA] Implement __shfl* intrinsics in clang headers.

Summary: Clang changes to make use of the LLVM intrinsics added in D21160.

Reviewers: tra

Subscribers: jholewinski, cfe-commits

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

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

8 years ago[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr.
Tim Shen [Thu, 9 Jun 2016 19:54:46 +0000 (19:54 +0000)]
[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr.

These ExprWithCleanups are added for holding a RunCleanupsScope not
for destructor calls; rather, they are for lifetime marks. This requires
ExprWithCleanups to keep a bit to indicate whether it have cleanups with
side effects (e.g. dtor calls).

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

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

8 years agoRevert "[CMake] Fix an issue building out-of-tree introduced in r272200"
Chris Bieneman [Thu, 9 Jun 2016 17:24:16 +0000 (17:24 +0000)]
Revert "[CMake] Fix an issue building out-of-tree introduced in r272200"

This reverts r272275. This actually wasn't the right way to fix the problem. The correct solution is in r272279.

Applying the fix to LLVM as done in r272279, means this fix will get picked up by all projects building out of tree using LLVM's CMake modules. As opposed to the fix I had in r272275, which would require each project to change.

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

8 years ago[CMake] Fix an issue building out-of-tree introduced in r272200
Chris Bieneman [Thu, 9 Jun 2016 16:21:10 +0000 (16:21 +0000)]
[CMake] Fix an issue building out-of-tree introduced in r272200

The out-of-tree build needs to read LLVM_TOOLS_INSTALL_DIR out of TOOLS_BINARY_DIR because LLVM_TOOLS_INSTALL_DIR is used by AddLLVM.cmake

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

8 years agoMake sizeof and alignof a CXCursor_UnaryExpr
Olivier Goffart [Thu, 9 Jun 2016 16:16:06 +0000 (16:16 +0000)]
Make sizeof and alignof a CXCursor_UnaryExpr

So we can match sizeof expressions more accurately than with UnexposedExpr

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

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

8 years agoCIndex: add support for static_assert
Olivier Goffart [Thu, 9 Jun 2016 16:15:55 +0000 (16:15 +0000)]
CIndex: add support for static_assert

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

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

8 years agoReplace an ambiguous "it"
Rafael Espindola [Thu, 9 Jun 2016 13:35:55 +0000 (13:35 +0000)]
Replace an ambiguous "it"

Thanks to Sean for the suggestion.

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

8 years agoclang/test/CodeGenCXX/debug-info-method.cpp: Tweak for thiscall, for targeting Win32...
NAKAMURA Takumi [Thu, 9 Jun 2016 10:06:13 +0000 (10:06 +0000)]
clang/test/CodeGenCXX/debug-info-method.cpp: Tweak for thiscall, for targeting Win32 x86.

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

8 years ago[Sema] Don't crash when a field w/ a mem-initializer clashes with a record name
David Majnemer [Thu, 9 Jun 2016 05:26:56 +0000 (05:26 +0000)]
[Sema] Don't crash when a field w/ a mem-initializer clashes with a record name

It is possible for a field and a class to have the same name.  In such
cases, performing lookup for the field might return a result set with
more than one entry.  An overzealous assertion fired, causing us to
crash instead of using the non-class lookup result.

This fixes PR28060.

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

8 years ago[X86] Handle AVX2 pslldqi and psrldqi intrinsics shufflevector creation directly...
Craig Topper [Thu, 9 Jun 2016 05:15:12 +0000 (05:15 +0000)]
[X86] Handle AVX2 pslldqi and psrldqi intrinsics shufflevector creation directly in the header file instead of in CGBuiltin.cpp. Simplify the sse2 equivalents as well.

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

8 years ago[X86] Reuse the EmitX86Select routine to handle the select for masked palignr too.
Craig Topper [Thu, 9 Jun 2016 05:15:00 +0000 (05:15 +0000)]
[X86] Reuse the EmitX86Select routine to handle the select for masked palignr too.

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

8 years ago[X86] Add void to the argument list of intrinsics that don't take arguments since...
Craig Topper [Thu, 9 Jun 2016 05:14:28 +0000 (05:14 +0000)]
[X86] Add void to the argument list of intrinsics that don't take arguments since empty argument list mean something else in C.

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

8 years agoUpdate to match LLVM r272232.
Richard Smith [Thu, 9 Jun 2016 00:53:41 +0000 (00:53 +0000)]
Update to match LLVM r272232.

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

8 years ago[docs] Coverage: Clarify return value of __llvm_profile_write_file
Vedant Kumar [Wed, 8 Jun 2016 22:32:03 +0000 (22:32 +0000)]
[docs] Coverage: Clarify return value of __llvm_profile_write_file

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

8 years ago[docs] Coverage: Flesh out instructions for avoiding static initializeres
Vedant Kumar [Wed, 8 Jun 2016 22:24:52 +0000 (22:24 +0000)]
[docs] Coverage: Flesh out instructions for avoiding static initializeres

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

8 years ago[CMake] Cleanup uses of USES_TERMINAL
Chris Bieneman [Wed, 8 Jun 2016 22:20:43 +0000 (22:20 +0000)]
[CMake] Cleanup uses of USES_TERMINAL

Now that we are on CMake 3.4.3 we no longer need a version check around this.

This is the clang side of r272211.

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

8 years ago[DebugInfo] Add calling conventions to DISubroutineType
Reid Kleckner [Wed, 8 Jun 2016 20:41:54 +0000 (20:41 +0000)]
[DebugInfo] Add calling conventions to DISubroutineType

Summary:
This should have been a very simple change, but it was greatly
complicated by the construction of new Decls during IR generation.

In particular, we reconstruct the AST function type in order to get the
implicit 'this' parameter into C++ method types.

We also have to worry about FunctionDecls whose types are not
FunctionTypes because CGBlocks.cpp constructs some dummy FunctionDecls
with 'void' type.

Depends on D21114

Reviewers: aprantl, dblaikie

Subscribers: cfe-commits

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

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

8 years agoSpecify target in lifetime-asan test.
Vitaly Buka [Wed, 8 Jun 2016 18:18:08 +0000 (18:18 +0000)]
Specify target in lifetime-asan test.

Summary: Some target platforms -fsanitize=address.

Reviewers: pcc, eugenis

Subscribers: cfe-commits, christof, chapuni, kubabrecka

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

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

8 years ago[Sema] Don't permit catching variably modified types
David Majnemer [Wed, 8 Jun 2016 16:05:07 +0000 (16:05 +0000)]
[Sema] Don't permit catching variably modified types

Variably modified types shouldn't be permitted in catch clauses.

This fixes PR28047.

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

8 years agoPrune away some unused using decls. NFC.
Benjamin Kramer [Wed, 8 Jun 2016 15:34:36 +0000 (15:34 +0000)]
Prune away some unused using decls. NFC.

Found by clang's misc-unused-using-decls.

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

8 years ago[OpenCL] Fix __builtin_astype for vec3 types.
Yaxun Liu [Wed, 8 Jun 2016 15:11:21 +0000 (15:11 +0000)]
[OpenCL] Fix __builtin_astype for vec3 types.

__builtin_astype does not generate correct LLVM IR for vec3 types. This patch inserts bitcasts to/from vec4 when necessary in addition to generating vector shuffle. Sema and codegen tests are added.

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

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

8 years ago[Sparc] Complex return value ABI compliance.
Chris Dewhurst [Wed, 8 Jun 2016 14:47:25 +0000 (14:47 +0000)]
[Sparc] Complex return value ABI compliance.

According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers:

https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html

This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules.

Differential Review: http://reviews.llvm.org/D20955

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

8 years ago[Sparc] Complex return value ABI compliance.
Chris Dewhurst [Wed, 8 Jun 2016 14:46:05 +0000 (14:46 +0000)]
[Sparc] Complex return value ABI compliance.

According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers:

https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html

This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules.

Differential Review: http://reviews.llvm.org/D20955

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

8 years agoclang-format: [JS] fix a FIXME.
Martin Probst [Wed, 8 Jun 2016 14:05:26 +0000 (14:05 +0000)]
clang-format: [JS] fix a FIXME.

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

8 years agoclang-format: [JS] fix an assertion failure caused by shrinking sources.
Martin Probst [Wed, 8 Jun 2016 14:04:04 +0000 (14:04 +0000)]
clang-format: [JS] fix an assertion failure caused by shrinking sources.

Summary:
The JavaScript import sorter has a corner condition that can cause the overall
source text length to shrink. This change circumvents the issue by appending
trailing space in the line after the import blocks to match at least the
previous source code length.

This needs a better long term fix, but this fixes the immediate issue.

Reviewers: alexeagle, djasper

Subscribers: klimek

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

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

8 years ago[AVX512] Emit select instruction instead of using x86 specific instrinsics.
Igor Breger [Wed, 8 Jun 2016 13:59:20 +0000 (13:59 +0000)]
[AVX512] Emit select instruction instead of using x86 specific instrinsics.

This will allow us to remove the x86 instrinics from the backend.

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

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

8 years agoCorrecting a typo in a comment; NFC.
Aaron Ballman [Wed, 8 Jun 2016 12:33:18 +0000 (12:33 +0000)]
Correcting a typo in a comment; NFC.

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

8 years agoclang-format: Fix incorrect calculation of "length" of /**/ comments.
Daniel Jasper [Wed, 8 Jun 2016 09:45:08 +0000 (09:45 +0000)]
clang-format: Fix incorrect calculation of "length" of /**/ comments.

This could lead to column limit violations.

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

8 years agoclang-format: Fix bug in function ref qualifier identification.
Daniel Jasper [Wed, 8 Jun 2016 08:23:46 +0000 (08:23 +0000)]
clang-format: Fix bug in function ref qualifier identification.

.. and simplify it.

Before:
  void A::f()&& {}
  void f() && {}

After:
  void A::f() && {}
  void f() && {}

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

8 years ago[Clang][AVX512][BUILTIN]Adding intrinsics for range_round_{sd|ss}
Michael Zuckerman [Wed, 8 Jun 2016 08:19:27 +0000 (08:19 +0000)]
[Clang][AVX512][BUILTIN]Adding intrinsics for range_round_{sd|ss}

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

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

8 years agoAdd doxygen comments to xmmintrin.h's intrinsics.
Ekaterina Romanova [Wed, 8 Jun 2016 07:34:31 +0000 (07:34 +0000)]
Add doxygen comments to xmmintrin.h's intrinsics.
Only half of the intrinsics in this file is documented here. The patch for the o
ther half will be sent out later.

The doxygen comments are automatically generated based on Sony's intrinsics docu
ment.

I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream.

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

8 years ago[AVX512] Reformat macro intrinsics, ensure arguments have proper typecasts, ensure...
Craig Topper [Wed, 8 Jun 2016 06:08:07 +0000 (06:08 +0000)]
[AVX512] Reformat macro intrinsics, ensure arguments have proper typecasts, ensure result is typecasted back to the generic types.

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

8 years ago[X86] Put parentheses around macro arguments in intrinsics.
Craig Topper [Wed, 8 Jun 2016 06:08:04 +0000 (06:08 +0000)]
[X86] Put parentheses around macro arguments in intrinsics.

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

8 years agoAMDGPU: Verify subtarget specific builtins
Matt Arsenault [Wed, 8 Jun 2016 01:56:42 +0000 (01:56 +0000)]
AMDGPU: Verify subtarget specific builtins

Cleanup setup of subtarget features.

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

8 years ago[Sema] Teach CheckPlaceholderExpr about unaddressable functions.
George Burgess IV [Wed, 8 Jun 2016 00:34:22 +0000 (00:34 +0000)]
[Sema] Teach CheckPlaceholderExpr about unaddressable functions.

Given the following C++:

```
void foo();
void foo() __attribute__((enable_if(false, "")));

bool bar() {
  auto P = foo;
  return P == foo;
}
```

We'll currently happily (and correctly) resolve `foo` to the `foo`
overload without `enable_if` when assigning to `P`. However, we'll
complain about an ambiguous overload on the `P == foo` line, because
`Sema::CheckPlaceholderExpr` doesn't recognize that there's only one
`foo` that could possibly work here.

This patch teaches `Sema::CheckPlaceholderExpr` how to properly deal
with such cases.

Grepping for other callers of things like
`Sema::ResolveAndFixSingleFunctionTemplateSpecialization`, it *looks*
like this is the last place that needed to be fixed up. If I'm wrong,
I'll see if there's something we can do that beats what amounts to
whack-a-mole with bugs.

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

8 years ago[ItaniumMangle] Mangle dependent __underlying_type correctly
David Majnemer [Wed, 8 Jun 2016 00:34:15 +0000 (00:34 +0000)]
[ItaniumMangle] Mangle dependent __underlying_type correctly

We attempted to use the UnaryTransformType's UnderlyingType instead of
it's BaseType.  This is not correct for dependent UnaryTransformType
because the have no underlying type.

This fixes PR28045.

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

8 years ago[docs] Coverage: Explain how to avoid static initializers
Vedant Kumar [Tue, 7 Jun 2016 22:25:29 +0000 (22:25 +0000)]
[docs] Coverage: Explain how to avoid static initializers

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

8 years agoMake isNoThrow and hasDynamicExceptionSpec polymorphic so they can be used with both...
Aaron Ballman [Tue, 7 Jun 2016 17:34:45 +0000 (17:34 +0000)]
Make isNoThrow and hasDynamicExceptionSpec polymorphic so they can be used with both functionDecl and functionPrototype matchers.

Patch by Don Hinton.

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

8 years ago[clang][AVX512][Intrinsics] Adding intrinsics reduce_[round]_{ss|sd} to clang
Michael Zuckerman [Tue, 7 Jun 2016 14:00:20 +0000 (14:00 +0000)]
[clang][AVX512][Intrinsics] Adding intrinsics reduce_[round]_{ss|sd} to clang

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

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

8 years agoReapply [Coverage] Fix an assertion failure if the definition of an unused function...
Igor Kudrin [Tue, 7 Jun 2016 10:07:51 +0000 (10:07 +0000)]
Reapply [Coverage] Fix an assertion failure if the definition of an unused function spans multiple files.

We have an assertion failure if, for example, the definition of an unused
inline function starts in one macro and ends in another. This patch fixes
the issue by finding the common ancestor of the start and end locations
of that function's body and changing the locations accordingly.

Thanks to NAKAMURA Takumi for helping with fixing the test failure on Windows.

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

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

8 years agoRevert "[analyzer] Reapply r271907 (2nd try)."
Devin Coughlin [Tue, 7 Jun 2016 05:37:02 +0000 (05:37 +0000)]
Revert "[analyzer] Reapply r271907 (2nd try)."

Even with the fix in r271981, ASan is finding a stack use after return.

This reverts commits r271977 and r271981.

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

8 years ago[analyzer] Speculative fix for r271907.
Devin Coughlin [Tue, 7 Jun 2016 04:44:52 +0000 (04:44 +0000)]
[analyzer] Speculative fix for r271907.

Fix a compilation error on the bots involving brace initialization.

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

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

8 years ago[OPENCL] Fix wrongly vla error for OpenCL array.
Xiuli Pan [Tue, 7 Jun 2016 04:34:00 +0000 (04:34 +0000)]
[OPENCL] Fix wrongly vla error for OpenCL array.

Summary:
OpenCL should support array with const value size length, those const
varibale in global and constant address space and variable in constant
address space.

Fixed test case error.

Reviewers: Anastasia, yaxunl, bader

Subscribers: bader, cfe-commits

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

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

8 years ago[analyzer] Reapply r271907 (2nd try).
Devin Coughlin [Tue, 7 Jun 2016 04:23:08 +0000 (04:23 +0000)]
[analyzer] Reapply r271907 (2nd try).

Second try at reapplying
"[analyzer] Add checker for correct usage of MPI API in C and C++."

Special thanks to Dan Liew for helping test the fix for the template
specialization compiler error with gcc.

The original patch is by Alexander Droste!

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

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

8 years agoRevert [Coverage] Fix an assertion failure if the definition of an unused function...
Igor Kudrin [Tue, 7 Jun 2016 04:11:51 +0000 (04:11 +0000)]
Revert [Coverage] Fix an assertion failure if the definition of an unused function spans multiple files.

r271969 The test case fails on Windows.

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

8 years agoRevert "[OPENCL] Fix wrongly vla error for OpenCL array."
Xiuli Pan [Tue, 7 Jun 2016 03:41:07 +0000 (03:41 +0000)]
Revert "[OPENCL] Fix wrongly vla error for OpenCL array."

Test case break on system-z.

This reverts commit 9a7212e1e87f1396952d74f8c62314a775ccbb1c.

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

8 years ago[OPENCL] Fix wrongly vla error for OpenCL array.
Xiuli Pan [Tue, 7 Jun 2016 03:13:39 +0000 (03:13 +0000)]
[OPENCL] Fix wrongly vla error for OpenCL array.

Summary:
OpenCL should support array with const value size length, those const varibale in global and constant address space and variable in constant address space.

Reviewers: Anastasia, yaxunl, bader

Subscribers: bader, cfe-commits

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

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

8 years ago[Coverage] Fix an assertion failure if the definition of an unused function spans...
Igor Kudrin [Tue, 7 Jun 2016 02:17:03 +0000 (02:17 +0000)]
[Coverage] Fix an assertion failure if the definition of an unused function spans multiple files.

We have an assertion failure if, for example, the definition of an unused
inline function starts in one macro and ends in another. This patch fixes
the issue by finding the common ancestor of the start and end locations
of that function's body and changing the locations accordingly.

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

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

8 years agoImprove Visual Studio visualization of DeclaratorDecl
Mike Spertus [Tue, 7 Jun 2016 00:27:37 +0000 (00:27 +0000)]
Improve Visual Studio visualization of DeclaratorDecl

With this change, you can now expand its name and type.

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

8 years ago[CUDA] Add implicit conversion of __launch_bounds__ arguments to rvalue.
Artem Belevich [Mon, 6 Jun 2016 22:54:57 +0000 (22:54 +0000)]
[CUDA] Add implicit conversion of __launch_bounds__ arguments to rvalue.

Fixes clang crash reported in PR27778.

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

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

8 years agoImproved Visual Studio visualizations for template argument lists
Mike Spertus [Mon, 6 Jun 2016 21:41:20 +0000 (21:41 +0000)]
Improved Visual Studio visualizations for template argument lists

Improved the visualizer for TemplateArgumentList to show type arguments in the DisplayString.
E.g., <double, long>. Added a visualizer for MultiLevelTemplateArgumentList.
I decided to display them by how they would appear in a template with the
(non-existent) template-id's omitted, so the DisplayString naturally presents
as something like <double, long>::<char *>.

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

8 years ago[CMake] Fixing a typo in a CMake option
Chris Bieneman [Mon, 6 Jun 2016 20:18:38 +0000 (20:18 +0000)]
[CMake] Fixing a typo in a CMake option

CMake defines are set with -D, forgetting the D doesn’t work.

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

8 years agoAdding an AST matcher to ignore parenthesis in *types* (rather than expressions)...
Aaron Ballman [Mon, 6 Jun 2016 18:52:17 +0000 (18:52 +0000)]
Adding an AST matcher to ignore parenthesis in *types* (rather than expressions). This is required for traversing certain types (like function pointer types).

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

8 years agoRevert "Reapply "[analyzer] Add checker for correct usage of MPI API in C and C++.""
Devin Coughlin [Mon, 6 Jun 2016 18:29:43 +0000 (18:29 +0000)]
Revert "Reapply "[analyzer] Add checker for correct usage of MPI API in C and C++.""

This reverts commit r271914. It is still breaking bots.

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

8 years agoAdd a release note about the --build-id change.
Rafael Espindola [Mon, 6 Jun 2016 18:23:11 +0000 (18:23 +0000)]
Add a release note about the --build-id change.

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

8 years agoReapply "[analyzer] Add checker for correct usage of MPI API in C and C++."
Devin Coughlin [Mon, 6 Jun 2016 18:08:35 +0000 (18:08 +0000)]
Reapply "[analyzer] Add checker for correct usage of MPI API in C and C++."

Reapply r271907 with a fix for the compiler error with gcc about specializing
clang::ento::ProgramStateTrait in a different namespace.

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

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

8 years agoFix typo in last submission to visualize proper template argument
Mike Spertus [Mon, 6 Jun 2016 17:23:37 +0000 (17:23 +0000)]
Fix typo in last submission to visualize proper template argument

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

8 years agoBetter Visual Studio visualization of TemplateArgument and TemplateArgumentList
Mike Spertus [Mon, 6 Jun 2016 17:08:32 +0000 (17:08 +0000)]
Better Visual Studio visualization of TemplateArgument and TemplateArgumentList

For pack TemplateArguments, visualize all of the items in the pack
Visualize a TemplateArgumentList as a template argument list. E.g., <int, double>

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

8 years agoRevert "[analyzer] Add checker for correct usage of MPI API in C and C++."
Devin Coughlin [Mon, 6 Jun 2016 17:01:08 +0000 (17:01 +0000)]
Revert "[analyzer] Add checker for correct usage of MPI API in C and C++."

This reverts commit r271907. It broke a bunch of bots with compile errors
about specializations in different namespaces.

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

8 years ago[analyzer] Add checker for correct usage of MPI API in C and C++.
Devin Coughlin [Mon, 6 Jun 2016 16:47:16 +0000 (16:47 +0000)]
[analyzer] Add checker for correct usage of MPI API in C and C++.

This commit adds a static analysis checker to check for the correct usage of the
MPI API in C and C++.

3 path-sensitive checks are included:

- Double nonblocking: Double request usage by nonblocking calls
  without intermediate wait.
- Missing wait: Nonblocking call without matching wait.
- Unmatched wait: Waiting for a request that was never used by a
  nonblocking call.

Examples of how to use the checker can be found
at https://github.com/0ax1/MPI-Checker

Reviewers: zaks.anna

A patch by Alexander Droste!

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

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

8 years ago[docs] Clarify limitations section of SourceBasedCodeCoverage.rst
Vedant Kumar [Mon, 6 Jun 2016 15:44:40 +0000 (15:44 +0000)]
[docs] Clarify limitations section of SourceBasedCodeCoverage.rst

Mention that the code coverage tool becomes less precise whenever
unpredictable changes in control flow occur.

Thanks to Sean Silva for pointing this out!

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

8 years agoGive FileCheck a hint on which ld to match. Under Windows, the preferred
Joerg Sonnenberger [Mon, 6 Jun 2016 13:13:12 +0000 (13:13 +0000)]
Give FileCheck a hint on which ld to match. Under Windows, the preferred
match was the ld.elf_so that should be matched in a second step. Add one
of the ever-present-but-irrelevant-for-this-test arguments to the
pattern to force matching the right argument.

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

8 years ago[mips] The default ABI depends on the CPU not the Arch on MTI and IMG vendor triples.
Daniel Sanders [Mon, 6 Jun 2016 12:02:21 +0000 (12:02 +0000)]
[mips] The default ABI depends on the CPU not the Arch on MTI and IMG vendor triples.

Summary:
32-bit CPU's default to O32. 64-bit CPU's default to N64. The default CPU
(mips32r2/mips64r2) still depends on the arch so there's no functional
change when the CPU isn't specified but commands like:
  clang -target mips-mti-linux-gnu -mips64r2
will now default to a 64-bit ABI like our gcc toolchains do* instead of
asserting in the backend**.

Other vendors (including Triple::UnknownVendor) still derive the default
ABI from the arch.

* Although not the same one as our gcc toolchains, clang has historically
  defaulted to N64 where gcc defaults to N32.
** Mixing O32 and a 64-bit CPU causing assertions is a long-standing bug.

Reviewers: atanasyan

Subscribers: sdardis, cfe-commits

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

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

8 years ago[clang-format] make header guard identification stricter (with Lexer).
Eric Liu [Mon, 6 Jun 2016 11:00:13 +0000 (11:00 +0000)]
[clang-format] make header guard identification stricter (with Lexer).

Summary: make header guard identification stricter with Lexer.

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

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

8 years ago[mips] The P5600 does not support N32/N64 since it's a 32-bit CPU.
Daniel Sanders [Mon, 6 Jun 2016 09:47:32 +0000 (09:47 +0000)]
[mips] The P5600 does not support N32/N64 since it's a 32-bit CPU.

Summary:

Reviewers: atanasyan

Subscribers: cfe-commits, sdardis

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

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

8 years ago[mips] Replace almost all Arch checks in MipsTargetInfo with ABI checks. NFC.
Daniel Sanders [Mon, 6 Jun 2016 09:07:08 +0000 (09:07 +0000)]
[mips] Replace almost all Arch checks in MipsTargetInfo with ABI checks. NFC.

Summary:
setABI() is still tied to the Arch component of the Triple to preserve existing
behaviour.

Reviewers: atanasyan

Subscribers: cfe-commits

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

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

8 years ago[AVX512] Convert masked palignr builtins directly to native IR similar to the other...
Craig Topper [Mon, 6 Jun 2016 06:13:01 +0000 (06:13 +0000)]
[AVX512] Convert masked palignr builtins directly to native IR similar to the other palignr builtins, but with a select to handle masking.

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

8 years agoSlightly improve Visual Studio visualization of clang::Expr
Mike Spertus [Mon, 6 Jun 2016 03:37:18 +0000 (03:37 +0000)]
Slightly improve Visual Studio visualization of clang::Expr

Now it gives the StmtClass of the Expr as well as the type. It's still
a long way from full visualization of expressions, but I have found
that having the class really helps when debugging, so definitely
worth submitting.

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

8 years agoFixing problem with rsqrt28_sd
Michael Zuckerman [Sun, 5 Jun 2016 15:57:49 +0000 (15:57 +0000)]
Fixing problem with rsqrt28_sd

maskz_rsqrt28_sd mapped to mask_rsqrt28_sd and not to the maskz.

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

8 years ago[Clang][AVX512]Adding set4 intrinsics
Michael Zuckerman [Sun, 5 Jun 2016 15:43:30 +0000 (15:43 +0000)]
[Clang][AVX512]Adding set4 intrinsics

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

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

8 years ago[Clang][AVX512][Intrinsics] Adding two definitions _mm512_setzero and _mm512_setzero_...
Michael Zuckerman [Sun, 5 Jun 2016 15:12:52 +0000 (15:12 +0000)]
[Clang][AVX512][Intrinsics] Adding two definitions _mm512_setzero and _mm512_setzero_epi32

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

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

8 years agocheck-clang: LTO, aka libLTO.so, was redundant here, since llvm-lto depends on it.
NAKAMURA Takumi [Sun, 5 Jun 2016 00:12:59 +0000 (00:12 +0000)]
check-clang: LTO, aka libLTO.so, was redundant here, since llvm-lto depends on it.

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

8 years agoAdd PIE magic for NetBSD. Add tests for the correct flags for
Joerg Sonnenberger [Sat, 4 Jun 2016 20:03:26 +0000 (20:03 +0000)]
Add PIE magic for NetBSD. Add tests for the correct flags for
non-shared, PIE and shared output mode.

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

8 years ago[AVX512] Remove 512-bit andnot tests from the avx512vl test file.
Craig Topper [Sat, 4 Jun 2016 16:37:38 +0000 (16:37 +0000)]
[AVX512] Remove 512-bit andnot tests from the avx512vl test file.

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

8 years ago[X86] Use unsigned types for vector arithmetic in intrinsics to avoid undefined behav...
Craig Topper [Sat, 4 Jun 2016 05:43:41 +0000 (05:43 +0000)]
[X86] Use unsigned types for vector arithmetic in intrinsics to avoid undefined behavior for signed integer overflow.

This is really only needed for addition, subtraction, and multiplication, but I did the bitwise ops too for overall consistency. Clang currently doesn't set NSW for signed vector operations so the undefined behavior shouldn't happen today.

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

8 years ago[AVX512] Remove space in -1 constants. NFC
Craig Topper [Sat, 4 Jun 2016 05:43:37 +0000 (05:43 +0000)]
[AVX512] Remove space in -1 constants. NFC

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

8 years agoSema: do not attempt to sizeof a dependent type
Saleem Abdulrasool [Sat, 4 Jun 2016 03:16:21 +0000 (03:16 +0000)]
Sema: do not attempt to sizeof a dependent type

We would attempt to evaluate the sizeof a dependent type to check for an
integral overflow.  However, because the dependent type is not yet resolved, we
cannot determine if the expression would overflow.  Report a failure to perform
a symbolic evaluation of a constant involving the dependent type.

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

8 years agoRevert commit r271708
Taewook Oh [Sat, 4 Jun 2016 03:14:43 +0000 (03:14 +0000)]
Revert commit r271708

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

8 years ago[Modules] Improve diagnostics for LockFileManager errors
Bruno Cardoso Lopes [Sat, 4 Jun 2016 01:13:22 +0000 (01:13 +0000)]
[Modules] Improve diagnostics for LockFileManager errors

Uses error message now provided by LockFileManager in LLVM r271755.

rdar://problem/26529101

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

8 years agoPR27989: only enqueue binary operators into the data recursive int expression
Richard Smith [Sat, 4 Jun 2016 00:22:31 +0000 (00:22 +0000)]
PR27989: only enqueue binary operators into the data recursive int expression
evaluator if they are actually int expressions.

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

8 years agoCodeGen: correct assertion
Saleem Abdulrasool [Fri, 3 Jun 2016 23:26:30 +0000 (23:26 +0000)]
CodeGen: correct assertion

The assertion added earlier was overly strict.  We need to strip the pointer
casts (as when constructing the GV).  Correct the types (Function or Variable).

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

8 years agoBump libclang API minor version after r271351.
Manman Ren [Fri, 3 Jun 2016 23:11:41 +0000 (23:11 +0000)]
Bump libclang API minor version after r271351.

Also use the next enum value for CXObjCPropertyAttr_class.

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

8 years agoUse the name of the file on disk to issue a new diagnostic about non-portable #includ...
Taewook Oh [Fri, 3 Jun 2016 18:52:51 +0000 (18:52 +0000)]
Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths.

Differential Revision: http://reviews.llvm.org/D19843
Corresponding LLVM change: http://reviews.llvm.org/D19842

Patch by Eric Niebler

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

8 years ago[Title] Revert test commit
Taewook Oh [Fri, 3 Jun 2016 18:30:12 +0000 (18:30 +0000)]
[Title] Revert test commit

Summary: Revert test commit

Trac Bug: #

Blame Rev:

Reviewed By:

Test Plan:

Revert Plan:

Database Impact:

Memcache Impact:

Other Notes:

EImportant:

- begin *PUBLIC* platform impact section -
Bugzilla: #
- end platform impact -

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

8 years agoTest commit
Taewook Oh [Fri, 3 Jun 2016 18:27:39 +0000 (18:27 +0000)]
Test commit

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

8 years agoDon't pass --build-id to ld by default.
Rafael Espindola [Fri, 3 Jun 2016 17:26:16 +0000 (17:26 +0000)]
Don't pass --build-id to ld by default.

We now have a cmake option to change the default: ENABLE_LINKER_BUILD_ID.

The reason is that build-id is fairly expensive, so we shouldn't impose
it in the regular edit/build cycle.

This is similar to gcc, that has an off by default --enable-linker-build-id
option.

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

8 years agoFix test for LLVM_LIBDIR_SUFFIX=64 case.
Ismail Donmez [Fri, 3 Jun 2016 17:06:52 +0000 (17:06 +0000)]
Fix test for LLVM_LIBDIR_SUFFIX=64 case.

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