]>
granicus.if.org Git - clang/log
Dan Gohman [Mon, 14 Sep 2015 21:56:37 +0000 (21:56 +0000)]
[WebAssembly] Define the atomic type sizes
WebAssembly's spec has now been updated to specify some guarantees
about lock free atomic accesses. Update clang to match.
This also updates sig_atomic_t to be 64-bit on wasm64. WebAssembly
does not presently have asynchronous interrupts, but this change is
within the spirit of how they will work if they are added.
Differential Revision: http://reviews.llvm.org/D12862
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247624
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Sep 2015 21:54:32 +0000 (21:54 +0000)]
[WebAssembly] Simplify code by avoiding duplicating the default behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Sep 2015 21:49:41 +0000 (21:49 +0000)]
[WebAssembly] Use "long long" for int_fast64_t and int_least64_t on wasm64
This makes int_fast64_t and int_least64_t the same type as int64_t, and
eliminates a difference between wasm32 and wasm64.
Differential Revision: http://reviews.llvm.org/D12861
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Mon, 14 Sep 2015 21:35:16 +0000 (21:35 +0000)]
Revert "Always_inline codegen rewrite" and 2 follow-ups.
Revert "Update cxx-irgen.cpp test to allow signext in alwaysinline functions."
Revert "[CodeGen] Remove wrapper-free always_inline functions from COMDATs"
Revert "Always_inline codegen rewrite."
Reason for revert: PR24793.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247620
91177308 -0d34-0410-b5e6-
96231b3b80d8
Andrey Bokhanko [Mon, 14 Sep 2015 21:29:57 +0000 (21:29 +0000)]
PR24595: Ignore calling convention modifiers for structors in MS ABI.
MS compiler ignores calling convention modifiers for structors. This patch makes
clang do the same (for MS ABI). This fixes PR24595 and makes vswriter.h header
(from Windows SDK 8.1) compilable.
Differential Revision: http://reviews.llvm.org/D12402
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247619
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rachel Craik [Mon, 14 Sep 2015 21:27:36 +0000 (21:27 +0000)]
C11 _Bool bitfield diagnostic
Summary: Implement DR262 (for C). This patch will mainly affect bitfields of type _Bool
Reviewers: fraggamuffin, rsmith
Subscribers: hubert.reinterpretcast, cfe-commits
Differential Revision: http://reviews.llvm.org/D10018
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devin Coughlin [Mon, 14 Sep 2015 21:22:24 +0000 (21:22 +0000)]
[analyzer] Update SATestBuild.py to set -isysroot for preprocessed files
Update the static analyzer buildbot script to set -isysroot to the OS X SDK path
when analyzing preprocessed files on OS X.
Differential Revision: http://reviews.llvm.org/D12769
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Mon, 14 Sep 2015 20:34:06 +0000 (20:34 +0000)]
[Static Analyzer] Turn on some nullability checks by default.
Differential Revision: http://reviews.llvm.org/D12858
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Mon, 14 Sep 2015 20:31:46 +0000 (20:31 +0000)]
[Static Analyzer] Nullability checker optimization.
Differential Revision: http://reviews.llvm.org/D12848
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247612
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Katzman [Mon, 14 Sep 2015 20:31:28 +0000 (20:31 +0000)]
Driver should forward at most one gdwarf-N flag to cc1as.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247611
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 14 Sep 2015 19:30:53 +0000 (19:30 +0000)]
[Solaris] Add -lc also when linking shared libraries
This is actually needed, otherwise libc won't be added at all. For
instance when building libclang.so all the libc symbols won't be
found, with ld warning about libc being an "implicit dependency".
Patch by Xan López!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Mon, 14 Sep 2015 19:00:08 +0000 (19:00 +0000)]
[Static Analyzer] Relaxing a caching out related assert.
Differential Revision: http://reviews.llvm.org/D12818
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247598
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Mon, 14 Sep 2015 18:57:08 +0000 (18:57 +0000)]
Fix a nasty bug with the partial destruction of nested arrays;
it escaped notice because it's only used for heterogeneous
initialization.
rdar://
21397946
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Mon, 14 Sep 2015 18:48:55 +0000 (18:48 +0000)]
[Static Analyzer] Moving nullability checkers out of alpha.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247595
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 14 Sep 2015 18:38:22 +0000 (18:38 +0000)]
[opaque pointer type] Fix a few uses of PointerType::getElementType in favor of uses of types already available elsewhere
These are a few cleanups I happened to have from trying to go in a
different direction recently, so just flushing them out while I have
them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Mon, 14 Sep 2015 18:31:34 +0000 (18:31 +0000)]
[Static Analyzer] Moving nullability checkers to a top level package.
Differential Revision: http://reviews.llvm.org/D12852
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247590
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 14 Sep 2015 18:02:04 +0000 (18:02 +0000)]
Revert "[opaque pointer type] update for LLVM API change"
This was the wrong direction to take anyway (because ultimately the
GlobalValue needed the pointee type again and /it/ used
PointerType::getElementType eventually anyway)... let's go a different way.
This reverts commit r236161.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Samuel Antao [Mon, 14 Sep 2015 17:41:32 +0000 (17:41 +0000)]
Update cxx-irgen.cpp test to allow signext in alwaysinline functions.
This was causing an error in Power8 targets.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rachel Craik [Mon, 14 Sep 2015 14:08:18 +0000 (14:08 +0000)]
Test commit
Remove some trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247560
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:42:52 +0000 (12:42 +0000)]
[CMake] r247548 introduced llvm-readobj.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247554
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:41:53 +0000 (12:41 +0000)]
[CMake] Reformat CLANG_TEST_DEPS.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247553
91177308 -0d34-0410-b5e6-
96231b3b80d8
Simon Atanasyan [Mon, 14 Sep 2015 11:23:02 +0000 (11:23 +0000)]
[mips] Add test case to check ABI flag emissions in case of inline assembler
Follow up to r247546. The test case reproduces the problem fixed by this commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247548
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Mon, 14 Sep 2015 07:05:00 +0000 (07:05 +0000)]
[Sema] Reject value-initialization of function types
T in the expression T() must be a non-array complete object type or
the void type. Function types are neither.
This fixes PR24798.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Sun, 13 Sep 2015 23:03:11 +0000 (23:03 +0000)]
[Static Analyzer] Remove a redundant file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247533
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Sun, 13 Sep 2015 23:02:24 +0000 (23:02 +0000)]
[Static Analyzer] Merge the Objective-C Generics Checker into Dynamic Type Propagation checker.
Differential Revision: http://reviews.llvm.org/D12381
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Vedant Kumar [Sun, 13 Sep 2015 20:17:18 +0000 (20:17 +0000)]
[docs] NFC: Fix line formatting in INSTALL.txt
Patch by beltex!
Differential Revision: http://reviews.llvm.org/D12684
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 12 Sep 2015 16:01:34 +0000 (16:01 +0000)]
Use -f instead of -d flag for testing existing of clang executable (http://reviews.llvm.org/D12827).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kelvin Li [Sat, 12 Sep 2015 13:35:31 +0000 (13:35 +0000)]
Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247503
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 12 Sep 2015 06:37:42 +0000 (06:37 +0000)]
[CodeGen] Remove wrapper-free always_inline functions from COMDATs
always_inline functions without a wrapper don't need to be in a COMDAT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247500
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 12 Sep 2015 02:55:19 +0000 (02:55 +0000)]
Clean up trailing whitespace in the builtin headers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247498
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 12 Sep 2015 01:29:35 +0000 (01:29 +0000)]
clang/test/Driver/stackrealign.c REQUIRES clang-driver.
GCC driver, for example cygwin, both "-mstackrealign" "-mno-stackrealign" are passed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247496
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Sat, 12 Sep 2015 01:07:37 +0000 (01:07 +0000)]
Always_inline codegen rewrite.
Current implementation may end up emitting an undefined reference for
an "inline __attribute__((always_inline))" function by generating an
"available_externally alwaysinline" IR function for it and then failing to
inline all the calls. This happens when a call to such function is in dead
code. As the inliner is an SCC pass, it does not process dead code.
Libc++ relies on the compiler never emitting such undefined reference.
With this patch, we emit a pair of
1. internal alwaysinline definition (called F.alwaysinline)
2a. A stub F() { musttail call F.alwaysinline }
-- or, depending on the linkage --
2b. A declaration of F.
The frontend ensures that F.inlinefunction is only used for direct
calls, and the stub is used for everything else (taking the address of
the function, really). Declaration (2b) is emitted in the case when
"inline" is meant for inlining only (like __gnu_inline__ and some
other cases).
This approach, among other nice properties, ensures that alwaysinline
functions are always internal, making it impossible for a direct call
to such function to produce an undefined symbol reference.
This patch is based on ideas by Chandler Carruth and Richard Smith.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Fri, 11 Sep 2015 23:48:37 +0000 (23:48 +0000)]
Revert "Specify target triple in alwaysinline tests."
Revert "Always_inline codegen rewrite."
Breaks gdb & lldb tests.
Breaks on Fedora 22 x86_64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 11 Sep 2015 22:54:01 +0000 (22:54 +0000)]
Add new test file missing from r247486.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247488
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 11 Sep 2015 22:39:35 +0000 (22:39 +0000)]
[modules] When picking one of two template declarations as a lookup result,
it's not sufficient to prefer the declaration with more default arguments, or
the one that's visible; they might both be visible, but one of them might have
a visible default argument where the other has a hidden default argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247486
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 11 Sep 2015 22:00:51 +0000 (22:00 +0000)]
When comparing two block captures for layout, don't crash
if they have the same alignment and one was 'this'.
Fixes PR24780.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Fri, 11 Sep 2015 21:24:40 +0000 (21:24 +0000)]
Let selector-expr-lvalue.mm actually test something.
I accidentally introduced a bug locally, and noticed that none of the tests
caught it. No longer!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247477
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Fri, 11 Sep 2015 21:19:39 +0000 (21:19 +0000)]
[Static Analyzer] Properly cash the configuration option for lambda support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247476
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Katzman [Fri, 11 Sep 2015 21:13:46 +0000 (21:13 +0000)]
[Shave]: pass -isystem dirs and "-Wa," args to moviAsm
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Fri, 11 Sep 2015 21:10:12 +0000 (21:10 +0000)]
Specify target triple in alwaysinline tests.
This should fix the tests on Windows (failing due to mangling differencies).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247473
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 11 Sep 2015 20:55:29 +0000 (20:55 +0000)]
Simplify logic introduced in r247464.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 11 Sep 2015 20:43:05 +0000 (20:43 +0000)]
[tooling] In CompileCommand, Expose the 'file' that was associated with the command.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247468
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Fri, 11 Sep 2015 20:42:57 +0000 (20:42 +0000)]
[CMake] [Darwin] Add support for building bootstrap builds with -flto
When building with LTO the bootstrap builds need to depend on libLTO, llvm-ar, and llvm-ranlib, which all need to be passed into the bootstrap build. This functionality only works on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247467
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Yartsev [Fri, 11 Sep 2015 20:41:09 +0000 (20:41 +0000)]
[analyzer] Improve behavior if Clang not found.
- Eliminate 'No such file or directory at scan-build line ...' error if '$RealBin/bin/clang' or '$RealBin/clang' directory does not exist.
- Eliminate 'Use of uninitialized value $Clang in concatenation (.) or string at scan-build line ...' error if help is displayed while $Clang was not found.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247466
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Fri, 11 Sep 2015 20:29:07 +0000 (20:29 +0000)]
Always_inline codegen rewrite.
Current implementation may end up emitting an undefined reference for
an "inline __attribute__((always_inline))" function by generating an
"available_externally alwaysinline" IR function for it and then failing to
inline all the calls. This happens when a call to such function is in dead
code. As the inliner is an SCC pass, it does not process dead code.
Libc++ relies on the compiler never emitting such undefined reference.
With this patch, we emit a pair of
1. internal alwaysinline definition (called F.alwaysinline)
2a. A stub F() { musttail call F.alwaysinline }
-- or, depending on the linkage --
2b. A declaration of F.
The frontend ensures that F.inlinefunction is only used for direct
calls, and the stub is used for everything else (taking the address of
the function, really). Declaration (2b) is emitted in the case when
"inline" is meant for inlining only (like __gnu_inline__ and some
other cases).
This approach, among other nice properties, ensures that alwaysinline
functions are always internal, making it impossible for a direct call
to such function to produce an undefined symbol reference.
This patch is based on ideas by Chandler Carruth and Richard Smith.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247465
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 11 Sep 2015 20:18:09 +0000 (20:18 +0000)]
[MS ABI] Select an inheritance model in template arguments
We used to only select an inheritance model if the pointer to member was
nullptr. Instead, select a model regardless of the member pointer's
value.
N.B. This bug was exposed by making member pointers report true for
isIncompleteType but has been latent since the member pointer scheme's
inception.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247464
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devin Coughlin [Fri, 11 Sep 2015 20:14:05 +0000 (20:14 +0000)]
[analyzer] Add -analyzer-config option for function size the inliner considers as large
Add an option (-analyzer-config min-blocks-for-inline-large=14) to control the function
size the inliner considers as large, in relation to "max-times-inline-large". The option
defaults to the original hard coded behaviour, which I believe should be adjustable with
the other inlining settings.
The analyzer-config test has been modified so that the analyzer will reach the
getMinBlocksForInlineLarge() method and store the result in the ConfigTable, to ensure it
is dumped by the debug checker.
A patch by Sean Eveson!
Differential Revision: http://reviews.llvm.org/D12406
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247463
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 11 Sep 2015 20:09:11 +0000 (20:09 +0000)]
[Edit] Fix issue with tracking what macro argument inputs have been edited.
This was not working correctly, leading to erroneously rejecting valid edits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Fri, 11 Sep 2015 18:55:09 +0000 (18:55 +0000)]
Record function attribute "stackrealign" instead of using backend option
-force-align-stack.
Also, make changes to the driver so that -mno-stack-realign is no longer
an option exposed to the end-user that disallows stack realignment in
the backend.
Differential Revision: http://reviews.llvm.org/D11815
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247451
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 18:54:34 +0000 (18:54 +0000)]
Fix a typo and make this test stricter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247449
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 18:54:31 +0000 (18:54 +0000)]
Remove an unnecessary check. NFC
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 18:54:28 +0000 (18:54 +0000)]
Remove a redundant check from CGDebugInfo::shouldOmitDefinition() (NFC).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247447
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 18:45:02 +0000 (18:45 +0000)]
Cleanup: Get rid of a bunch of unnecessary invocations of internString()
in CGDebugInfo.cpp: MDString::get() copies its arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247445
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Fri, 11 Sep 2015 18:41:50 +0000 (18:41 +0000)]
[Static Analyzer] Fixed a typo in a diagnostic message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 11 Sep 2015 18:35:18 +0000 (18:35 +0000)]
Extend the Token visualizer used by MSVC to display the identifier text for tok::identifier tokens.
Patch by Mike Spertus.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 11 Sep 2015 17:50:14 +0000 (17:50 +0000)]
Use Itanium C++ ABI triple for new modules+debug test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Vedant Kumar [Fri, 11 Sep 2015 17:39:34 +0000 (17:39 +0000)]
[test] Specify exception object type in two tests
Replace:
'try { throw 0; } catch (...)'
with
'try { throw 0; } catch (int e)'
in two test cases.
Differential Revision: http://reviews.llvm.org/D12743
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Fri, 11 Sep 2015 17:38:38 +0000 (17:38 +0000)]
[CMake] Making the bootstrap-clear target always delete the boostrap build directories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 11 Sep 2015 17:27:53 +0000 (17:27 +0000)]
Update test expectations for LLVM asm printing change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 17:23:08 +0000 (17:23 +0000)]
Module Debugging: Emit forward declarations for types that are defined in
clang modules, if -dwarf-ext-refs (DebugTypesExtRefs) is specified.
This reimplements r247369 in about a third of the amount of code.
Thanks to David Blaikie pointing this out in post-commit review!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 17:23:03 +0000 (17:23 +0000)]
Revert "Module Debugging: Emit forward declarations for types that are defined in"
This reverts commit r247369 to facilitate reviewing of the following patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Fri, 11 Sep 2015 17:19:57 +0000 (17:19 +0000)]
[Static Analyzer] Properly clean up the dynamic type information for dead regions.
Differential Revision: http://reviews.llvm.org/D12767
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Fri, 11 Sep 2015 16:55:01 +0000 (16:55 +0000)]
[Static Analyzer] Lambda support.
Differential Revision: http://reviews.llvm.org/D12652
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247426
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 11 Sep 2015 16:29:27 +0000 (16:29 +0000)]
[SEH] Port __try / __leave test to new IR
It turns out that the IR we already generate for __leave is fine, so no
code changes were needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247424
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Horvath [Fri, 11 Sep 2015 16:29:05 +0000 (16:29 +0000)]
[Static Analyzer] Minor cleanups for the nullability checker.
Differential Revision: http://reviews.llvm.org/D12619
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247423
91177308 -0d34-0410-b5e6-
96231b3b80d8
Vedant Kumar [Fri, 11 Sep 2015 15:40:05 +0000 (15:40 +0000)]
[CodeGen] Teach SimplifyPersonality about the updated LandingPadInst
When uses of personality functions were moved from LandingPadInst to
Function, we forgot to update SimplifyPersonality(). This patch corrects
that.
Note: SimplifyPersonality() is an optimization which replaces
personality functions with the default C++ personality when possible.
Without this update, some ObjC++ projects fail to link against C++
libraries (seeing as the exception ABI had effectively changed).
rdar://problem/
22155434
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Yaron Keren [Fri, 11 Sep 2015 13:29:12 +0000 (13:29 +0000)]
This test requires UTF-8 output to print the UT-8 characters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 11 Sep 2015 11:51:24 +0000 (11:51 +0000)]
Fixed HasDeclarationMatcher to properly convert all types into decls where possible. Added objcObjectPointerType(), objcInterfaceDecl(), templateTypeParmType(), injectedClassNameType(), and unresolvedUsingTypenameDecl(). Updated documentation for pointerType() to call out that it does not match ObjCObjectPointerType types. Changed pointsTo() to handle ObjCObjectPointerType as well as PointerType.
While this may seem like a lot of unrelated changes, they all relate back to fixing HasDeclarationMatcher.
This now allows us to write a matcher like:
varDecl(hasType(namedDecl(hasName("Foo"))))
that matches code using typedefs, objc interfaces, template type parameters, injected class names, or unresolved using typenames.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 11 Sep 2015 10:29:41 +0000 (10:29 +0000)]
[OPENMP] Preserve alignment of the original variables for the captured references.
Patch makes codegen to preserve alignment of the shared variables captured and used in OpenMP regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247401
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 11 Sep 2015 08:56:12 +0000 (08:56 +0000)]
clang/test/Modules/ExtDebugInfo.cpp: Use %itanium_abi_triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247397
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 11 Sep 2015 08:53:29 +0000 (08:53 +0000)]
clang/test/Modules/ExtDebugInfo.cpp: Use [[@LINE]].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247396
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 11 Sep 2015 08:13:32 +0000 (08:13 +0000)]
Fix \param in r247251. [-Wdocumentation]
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 11 Sep 2015 04:54:28 +0000 (04:54 +0000)]
[OPENMP] Fix printing of array section with single index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 11 Sep 2015 03:58:07 +0000 (03:58 +0000)]
[modules] Don't load files specified by -fmodule-file= when modules are
disabled. (We still allow this via -cc1 / -Xclang, primarily for testing.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247384
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Fri, 11 Sep 2015 03:22:18 +0000 (03:22 +0000)]
[opaque pointer type] update test cases for explicit pointee types on global aliases
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247380
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 11 Sep 2015 02:22:03 +0000 (02:22 +0000)]
[modules] Slightly defang an assert that produces false-positives on the selfhost bot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247375
91177308 -0d34-0410-b5e6-
96231b3b80d8
Michael Zolotukhin [Fri, 11 Sep 2015 02:01:15 +0000 (02:01 +0000)]
Docs: Document __builtin_nontemporal_load and __builtin_nontemporal_store.
Summary:
In r247104 I added the builtins for generating non-temporal memory operations,
but now I realized that they lack documentation. This patch adds some.
Differential Revision: http://reviews.llvm.org/D12785
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 11 Sep 2015 01:44:56 +0000 (01:44 +0000)]
[sema] Fix assertion hit when using libclang to index a particular C++ snippet involving templates.
Assertion hit was in ClassTemplateSpecializationDecl::getSourceRange().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 01:03:26 +0000 (01:03 +0000)]
Module Debugging: Emit forward declarations for types that are defined in
clang modules, if -dwarf-ext-refs (DebugTypesExtRefs) is specified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247369
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 01:03:19 +0000 (01:03 +0000)]
Cleanup: Let CGDebugInfo::ModuleRefCache use a TrackingMDNode (NFC).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247368
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 11 Sep 2015 00:53:15 +0000 (00:53 +0000)]
[MS ABI] Remove another call to RequireCompleteType
I cannot come up with a testcase which would rely on this call to
RequireCompleteType, I believe that it is superfluous given the current
state of clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 11 Sep 2015 00:09:39 +0000 (00:09 +0000)]
[Driver] Use UniversalCRT on Windows if available
Summary:
With Visual Studio 2015 release, a part of runtime library was extracted
and now comes with Windows Kits. This patch enables clang to use
Universal CRT library if %INCLUDE or %LIB environment varaibles are not
specified.
See also https://llvm.org/bugs/show_bug.cgi?id=24741
Patch by Igor Kudrin
Reviewers: zturner, hans, rnk
Subscribers: ruiu, cfe-commits
Differential Revision: http://reviews.llvm.org/D12695
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Michael Zolotukhin [Thu, 10 Sep 2015 23:56:10 +0000 (23:56 +0000)]
Docs: Add missing new line before a list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 10 Sep 2015 22:31:45 +0000 (22:31 +0000)]
Handle '-r' option properly
Summary:
This fixs the bug
https://llvm.org/bugs/show_bug.cgi?id=12587
Patch by Yunlian Jiang
Reviewers: Bigcheese, rnk
Differential Revision: http://reviews.llvm.org/D10279
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247351
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 10 Sep 2015 22:27:50 +0000 (22:27 +0000)]
Support noreturn in limited contexts on Objective-C message sends.
rdar://
6198039
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 10 Sep 2015 22:11:13 +0000 (22:11 +0000)]
[SEH] Use cleanupendpad so that WinEHPrepare gets the coloring right
Cleanupendpad is a lot like catchendpad, so we can reuse the same
EHScopeStack type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247349
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Thu, 10 Sep 2015 21:52:00 +0000 (21:52 +0000)]
[MS ABI] Make member pointers return true for isIncompleteType
The type of a member pointer is incomplete if it has no inheritance
model. This lets us reuse more general logic already embedded in clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Piotr Padlewski [Thu, 10 Sep 2015 20:18:30 +0000 (20:18 +0000)]
Revert "Generating assumption loads of vptr after ctor call (fixed)"
It seems that there is small bug, and we can't generate assume loads
when some virtual functions have internal visibiliy
This reverts commit
982bb7d966947812d216489b3c519c9825cacbf2 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 10 Sep 2015 19:35:31 +0000 (19:35 +0000)]
Move sel-address.mm from test/CodeGenCXX to test/SemaObjCXX, it's not a codegen test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 10 Sep 2015 19:18:05 +0000 (19:18 +0000)]
Driver: Support cfi-icall on all OSs when targeting x86/x86_64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Thu, 10 Sep 2015 18:39:45 +0000 (18:39 +0000)]
Add a getDeclContextDescriptor() helper function to CGDebugInfo. (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 10 Sep 2015 18:39:41 +0000 (18:39 +0000)]
[SEH] Use catchret in the new EH IR like we do for C++
Also add tests for SEH with the new IRGen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Artem Belevich [Thu, 10 Sep 2015 18:24:23 +0000 (18:24 +0000)]
[CUDA] Postprocess bitcode linked in during device-side CUDA compilation.
Link in and internalize the symbols we need from supplied bitcode library.
Differential Revision: http://reviews.llvm.org/D11664
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Artem Belevich [Thu, 10 Sep 2015 17:26:58 +0000 (17:26 +0000)]
[CUDA] Allow trivial constructors as initializer for __shared__ variables.
Differential Revision: http://reviews.llvm.org/D12739
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Thu, 10 Sep 2015 17:13:31 +0000 (17:13 +0000)]
Debug Info: Remove an unnecessary debug type visitor.
Thanks to dblaikie for spotting this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Thu, 10 Sep 2015 17:07:54 +0000 (17:07 +0000)]
Re-commit r247218: "Fix Clang-tidy misc-use-override warnings, other minor fixes"
This never broke the build; it was the LLVM side, r247216, that caused problems.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 10 Sep 2015 15:13:22 +0000 (15:13 +0000)]
Properly close documentation /code blocks with /endcode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Igor Breger [Thu, 10 Sep 2015 12:55:54 +0000 (12:55 +0000)]
AVX-512: Changed nidx parameter in extractf64/32 intrinsic from i8 to i32 according to the Intel Spec
Differential Revision: http://reviews.llvm.org/D12752
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Thu, 10 Sep 2015 12:06:58 +0000 (12:06 +0000)]
[OPENMP] Generate threadprivates as TLS variables by default.
If target supports TLS all threadprivates are generated as TLS. If target does not support TLS, use runtime calls for proper codegen of threadprivate variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Thu, 10 Sep 2015 11:31:04 +0000 (11:31 +0000)]
[OPENMP] Fix test incompatibility with Windows.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247270
91177308 -0d34-0410-b5e6-
96231b3b80d8