summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* [Solaris] Add -lc also when linking shared librariesRafael Espindola2015-09-142-1/+18
| | | | | | | | | | 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! llvm-svn: 247603
* [Static Analyzer] Relaxing a caching out related assert.Gabor Horvath2015-09-141-1/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D12818 llvm-svn: 247598
* Fix a nasty bug with the partial destruction of nested arrays;John McCall2015-09-143-2/+66
| | | | | | | | | it escaped notice because it's only used for heterogeneous initialization. rdar://21397946 llvm-svn: 247597
* [Static Analyzer] Moving nullability checkers out of alpha.Gabor Horvath2015-09-143-4/+4
| | | | llvm-svn: 247595
* [opaque pointer type] Fix a few uses of PointerType::getElementType in favor ↵David Blaikie2015-09-144-12/+10
| | | | | | | | | | 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. llvm-svn: 247593
* [Static Analyzer] Moving nullability checkers to a top level package.Gabor Horvath2015-09-144-13/+117
| | | | | | Differential Revision: http://reviews.llvm.org/D12852 llvm-svn: 247590
* Revert "[opaque pointer type] update for LLVM API change"David Blaikie2015-09-145-10/+11
| | | | | | | | | | 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. llvm-svn: 247586
* Update cxx-irgen.cpp test to allow signext in alwaysinline functions.Samuel Antao2015-09-141-1/+1
| | | | | | This was causing an error in Power8 targets. llvm-svn: 247584
* Test commitRachel Craik2015-09-141-2/+2
| | | | | | Remove some trailing whitespace llvm-svn: 247560
* [CMake] r247548 introduced llvm-readobj.NAKAMURA Takumi2015-09-141-1/+1
| | | | llvm-svn: 247554
* [CMake] Reformat CLANG_TEST_DEPS.NAKAMURA Takumi2015-09-141-1/+2
| | | | llvm-svn: 247553
* [mips] Add test case to check ABI flag emissions in case of inline assemblerSimon Atanasyan2015-09-141-0/+12
| | | | | | Follow up to r247546. The test case reproduces the problem fixed by this commit. llvm-svn: 247548
* [Sema] Reject value-initialization of function typesDavid Majnemer2015-09-143-0/+13
| | | | | | | | | T in the expression T() must be a non-array complete object type or the void type. Function types are neither. This fixes PR24798. llvm-svn: 247535
* [Static Analyzer] Remove a redundant file.Gabor Horvath2015-09-131-623/+0
| | | | llvm-svn: 247533
* [Static Analyzer] Merge the Objective-C Generics Checker into Dynamic Type ↵Gabor Horvath2015-09-134-58/+673
| | | | | | | | Propagation checker. Differential Revision: http://reviews.llvm.org/D12381 llvm-svn: 247532
* [docs] NFC: Fix line formatting in INSTALL.txtVedant Kumar2015-09-131-3/+3
| | | | | | | | Patch by beltex! Differential Revision: http://reviews.llvm.org/D12684 llvm-svn: 247530
* Use -f instead of -d flag for testing existing of clang executable ↵Ted Kremenek2015-09-121-2/+2
| | | | | | (http://reviews.llvm.org/D12827). llvm-svn: 247510
* Test commit.Kelvin Li2015-09-121-1/+0
| | | | llvm-svn: 247503
* [CodeGen] Remove wrapper-free always_inline functions from COMDATsDavid Majnemer2015-09-122-13/+17
| | | | | | always_inline functions without a wrapper don't need to be in a COMDAT. llvm-svn: 247500
* Clean up trailing whitespace in the builtin headersSean Silva2015-09-1213-103/+103
| | | | llvm-svn: 247498
* clang/test/Driver/stackrealign.c REQUIRES clang-driver.NAKAMURA Takumi2015-09-121-0/+1
| | | | | | GCC driver, for example cygwin, both "-mstackrealign" "-mno-stackrealign" are passed. llvm-svn: 247496
* Always_inline codegen rewrite.Evgeniy Stepanov2015-09-1216-28/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 247494
* Revert "Specify target triple in alwaysinline tests."Evgeniy Stepanov2015-09-1116-355/+28
| | | | | | | | | Revert "Always_inline codegen rewrite." Breaks gdb & lldb tests. Breaks on Fedora 22 x86_64. llvm-svn: 247491
* Add new test file missing from r247486.Richard Smith2015-09-111-0/+6
| | | | llvm-svn: 247488
* [modules] When picking one of two template declarations as a lookup result,Richard Smith2015-09-114-1/+25
| | | | | | | | 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. llvm-svn: 247486
* When comparing two block captures for layout, don't crashJohn McCall2015-09-112-1/+10
| | | | | | | | if they have the same alignment and one was 'this'. Fixes PR24780. llvm-svn: 247482
* Let selector-expr-lvalue.mm actually test something.Nico Weber2015-09-111-8/+15
| | | | | | | I accidentally introduced a bug locally, and noticed that none of the tests caught it. No longer! llvm-svn: 247477
* [Static Analyzer] Properly cash the configuration option for lambda support. Gabor Horvath2015-09-111-1/+3
| | | | llvm-svn: 247476
* [Shave]: pass -isystem dirs and "-Wa," args to moviAsmDouglas Katzman2015-09-112-7/+9
| | | | llvm-svn: 247474
* Specify target triple in alwaysinline tests.Evgeniy Stepanov2015-09-112-6/+6
| | | | | | This should fix the tests on Windows (failing due to mangling differencies). llvm-svn: 247473
* Simplify logic introduced in r247464.David Majnemer2015-09-111-3/+3
| | | | llvm-svn: 247472
* [tooling] In CompileCommand, Expose the 'file' that was associated with the ↵Argyrios Kyrtzidis2015-09-117-8/+37
| | | | | | command. llvm-svn: 247468
* [CMake] [Darwin] Add support for building bootstrap builds with -fltoChris Bieneman2015-09-111-2/+13
| | | | | | 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. llvm-svn: 247467
* [analyzer] Improve behavior if Clang not found.Anton Yartsev2015-09-111-31/+33
| | | | | | | - 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. llvm-svn: 247466
* Always_inline codegen rewrite.Evgeniy Stepanov2015-09-1116-28/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 247465
* [MS ABI] Select an inheritance model in template argumentsDavid Majnemer2015-09-112-3/+16
| | | | | | | | | | | | 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. llvm-svn: 247464
* [analyzer] Add -analyzer-config option for function size the inliner ↵Devin Coughlin2015-09-115-7/+41
| | | | | | | | | | | | | | | | | | | 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 llvm-svn: 247463
* [Edit] Fix issue with tracking what macro argument inputs have been edited.Argyrios Kyrtzidis2015-09-114-16/+84
| | | | | | This was not working correctly, leading to erroneously rejecting valid edits. llvm-svn: 247462
* Record function attribute "stackrealign" instead of using backend optionAkira Hatanaka2015-09-117-25/+21
| | | | | | | | | | | | -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 llvm-svn: 247451
* Fix a typo and make this test stricter.Adrian Prantl2015-09-111-2/+5
| | | | llvm-svn: 247449
* Remove an unnecessary check. NFCAdrian Prantl2015-09-111-1/+1
| | | | llvm-svn: 247448
* Remove a redundant check from CGDebugInfo::shouldOmitDefinition() (NFC).Adrian Prantl2015-09-111-7/+1
| | | | llvm-svn: 247447
* Cleanup: Get rid of a bunch of unnecessary invocations of internString()Adrian Prantl2015-09-111-21/+14
| | | | | | in CGDebugInfo.cpp: MDString::get() copies its arguments. llvm-svn: 247445
* [Static Analyzer] Fixed a typo in a diagnostic message.Gabor Horvath2015-09-111-1/+1
| | | | llvm-svn: 247444
* Extend the Token visualizer used by MSVC to display the identifier text for ↵Aaron Ballman2015-09-111-7/+8
| | | | | | | | tok::identifier tokens. Patch by Mike Spertus. llvm-svn: 247442
* Use Itanium C++ ABI triple for new modules+debug testReid Kleckner2015-09-111-1/+4
| | | | llvm-svn: 247438
* [test] Specify exception object type in two testsVedant Kumar2015-09-112-2/+2
| | | | | | | | | | | | | Replace: 'try { throw 0; } catch (...)' with 'try { throw 0; } catch (int e)' in two test cases. Differential Revision: http://reviews.llvm.org/D12743 llvm-svn: 247437
* [CMake] Making the bootstrap-clear target always delete the boostrap build ↵Chris Bieneman2015-09-111-1/+0
| | | | | | directories. llvm-svn: 247436
* Update test expectations for LLVM asm printing changeReid Kleckner2015-09-111-4/+7
| | | | llvm-svn: 247434
* Module Debugging: Emit forward declarations for types that are defined inAdrian Prantl2015-09-114-12/+157
| | | | | | | | | 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! llvm-svn: 247432
OpenPOWER on IntegriCloud