summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86][MMX] Sorted MMX IR + assembly codegen builtin testsSimon Pilgrim2015-11-141-367/+374
| | | | | | Makes it easier to track what tests are missing.... llvm-svn: 253131
* [X86][MMX] Added MMX IR + assembly codegen builtin testsSimon Pilgrim2015-11-141-196/+358
| | | | | | Improved tests as discussed in PR24580 llvm-svn: 253130
* Mark is_destructible/is_nothrow_destructible as implementedDavid Majnemer2015-11-141-2/+2
| | | | | | | These were implemented back in r244564. However, I forgot to update the docs. llvm-svn: 253128
* [modules] Allow "redefinition" of typedef of anon tag from unimported submoduleBen Langmuir2015-11-147-3/+22
| | | | | | | | | r233345 started being stricter about typedef names for linkage purposes in non-visible modules, but broke languages without the ODR. rdar://23527954 llvm-svn: 253123
* Add support for the always_inline + target feature diagnostic to printEric Christopher2015-11-144-10/+16
| | | | | | | out the first missing target feature that's required and reword the diagnostic accordingly. llvm-svn: 253121
* Use %select to merge similar diagnostics. NFCCraig Topper2015-11-146-38/+30
| | | | llvm-svn: 253119
* Clarify and elaborate the conditions on which we're checking targetEric Christopher2015-11-141-4/+6
| | | | | | features for calls. llvm-svn: 253117
* Make some tests LLVM-optimization agnostic and remove some others that were ↵David Blaikie2015-11-145-146/+16
| | | | | | | | | | | | | | | | beyond value/repair Several of these tests (the two deleted, and the one removal edit) were relying on the optimizer to collapse things to test some frontend feature. The tests were really old and features seemed amply covered by other parts of the test suite, so I just removed them. If anyone thinks they're valuable enough to keep/fix, we can play around with that, for sure. (inspired by r252872) llvm-svn: 253114
* CFG: Delay creating Dtors for CompoundStmts which end in ReturnStmtMatthias Gehre2015-11-142-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: VisitReturnStmt would create a new block with including Dtors, so the Dtors created in VisitCompoundStmts would be in an unreachable block. Example: struct S { ~S(); }; void f() { S s; return; } void g() { S s; } Before this patch, f has one additional unreachable block containing just the destructor of S. With this patch, both f and g have the same blocks. Reviewers: krememek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13973 llvm-svn: 253107
* Revert "[AArch64] Unconditionally pass subtarget feature reserve-x18 on Darwin."Justin Bogner2015-11-132-10/+3
| | | | | | | | | This reverts r243310, which is redundant as of r253102. Conflicts: lib/Driver/Tools.cpp llvm-svn: 253104
* [CMake] Don't install c-index-test when LLVM_INSTALL_TOOLCHAIN_ONLY=ON.Argyrios Kyrtzidis2015-11-131-14/+16
| | | | llvm-svn: 253099
* Fix build... againJonathan Roelofs2015-11-131-1/+1
| | | | llvm-svn: 253081
* [scan-build] Make scan-build work whether it's installed or notJonathan Roelofs2015-11-1315-21/+28
| | | | llvm-svn: 253074
* Relax mingw-useld test to fix bot failures.Yaron Keren2015-11-131-3/+3
| | | | llvm-svn: 253069
* [scan-build] Move non user-facing utilities to shareJonathan Roelofs2015-11-138-15/+18
| | | | llvm-svn: 253068
* Add test case for mingw -fuse-ld= support introduced in r242121.Yaron Keren2015-11-131-0/+20
| | | | llvm-svn: 253066
* Fix auto-link for text-based dynamic library SDKs.Juergen Ributzka2015-11-134-3/+31
| | | | | | | | | | When linking against text-based dynamic library SDKs the library name of a framework has now more than one possible filename extensions. This fix tests for both possible extensions (none, and .tbd). This fixes rdar://problem/20609975 llvm-svn: 253060
* Slacken the norecurse test slightlyJames Molloy2015-11-131-1/+1
| | | | | | | | It has been reported that this test currently fails on some Power buildbots due to them adding a "signext" function attribute. As that's not what we're checking here, slacken off the test a bit. llvm-svn: 253055
* Deduplicate three identical copies of ↵Yaron Keren2015-11-132-33/+25
| | | | | | isExplicitInstantiationOrSpecialization, NFC. llvm-svn: 253046
* scan-build: Fix install.NAKAMURA Takumi2015-11-131-1/+1
| | | | llvm-svn: 253016
* [Sema] __is_constructible should return false for function typesDavid Majnemer2015-11-132-10/+14
| | | | | | | | While functions types are complete, they cannot be constructed. This fixes PR25513. llvm-svn: 253013
* [modules] When a declaration has non-trivial visibility, check whether it'sRichard Smith2015-11-132-2/+8
| | | | | | | actually hidden before we check its linkage. This avoids computing the linkage "too early" for an anonymous struct with a typedef name for linkage. llvm-svn: 253012
* clang/test/Driver/mips-mti-linux.c: Tweak to match DOSish paths.NAKAMURA Takumi2015-11-131-4/+2
| | | | llvm-svn: 253011
* [modules] Follow the C++ standard's rule for linkage of enumerators: they haveRichard Smith2015-11-139-47/+105
| | | | | | | | | the linkage of the enumeration. For enumerators of unnamed enumerations, extend the -Wmodules-ambiguous-internal-linkage extension to allow selecting an arbitrary enumerator (but only if they all have the same value, otherwise it's ambiguous). llvm-svn: 253010
* [CMake] If 'INTERNAL_INSTALL_PREFIX' is set, use it for determining the ↵Argyrios Kyrtzidis2015-11-132-8/+31
| | | | | | install destination of c-index-test and the libclang headers. llvm-svn: 253001
* Fix buildJonathan Roelofs2015-11-131-1/+1
| | | | llvm-svn: 252991
* Add support for function attribute 'disable_tail_calls'.Akira Hatanaka2015-11-138-7/+142
| | | | | | | | | | | | | | | | | | | | | | The ``disable_tail_calls`` attribute instructs the backend to not perform tail call optimization inside the marked function. For example, int callee(int); int foo(int a) __attribute__((disable_tail_calls)) { return callee(a); // This call is not tail-call optimized. } Note that this attribute is different from 'not_tail_called', which prevents tail-call optimization to the marked function. rdar://problem/8973573 Differential Revision: http://reviews.llvm.org/D12547 llvm-svn: 252986
* [scan-build] Create share directory similar to scan-view'sJonathan Roelofs2015-11-134-10/+10
| | | | llvm-svn: 252981
* [scan-view] Rename 'Resources' --> 'share'Jonathan Roelofs2015-11-136-10/+10
| | | | llvm-svn: 252977
* clang/test/Driver/mips-mti-linux.c: Remove XFAIL. It shouldn't fail for ↵NAKAMURA Takumi2015-11-121-1/+1
| | | | | | | | targeting win32. I will remove REQUIRES later. llvm-svn: 252972
* Remove -Wobjc-weak-compat; there isn't a compelling use case for this.John McCall2015-11-123-20/+15
| | | | llvm-svn: 252971
* Avoid duplicated diagnostic when lookup for a nested-name-specifier fails ↵Richard Smith2015-11-123-5/+7
| | | | | | due to ambiguity. llvm-svn: 252967
* Mark clang/test/Driver/ms-bitfields.c as REQUIRES:clang-driver.NAKAMURA Takumi2015-11-121-0/+2
| | | | llvm-svn: 252961
* [modules] Simplify and generalize the existing rule for finding hiddenRichard Smith2015-11-1215-72/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | declarations in redeclaration lookup. A declaration is now visible to lookup if: * It is visible (not in a module, or in an imported module), or * We're doing redeclaration lookup and it's externally-visible, or * We're doing typo correction and looking for unimported decls. We now support multiple modules having different internal-linkage or no-linkage definitions of the same name for all entities, not just for functions, variables, and some typedefs. As previously, if multiple such entities are visible, any attempt to use them will result in an ambiguity error. This patch fixes the linkage calculation for a number of entities where we previously didn't need to get it right (using-declarations, namespace aliases, and so on). It also classifies enumerators as always having no linkage, which is a slight deviation from the C++ standard's definition, but not an observable change outside modules (this change is being discussed on the -core reflector currently). This also removes the prior special case for tag lookup, which made some cases of this work, but also led to bizarre, bogus "must use 'struct' to refer to type 'Foo' in this scope" diagnostics in C++. llvm-svn: 252960
* DR407: Rationalize how we handle tags being hidden by typedefs. Even withRichard Smith2015-11-123-27/+48
| | | | | | | | | | | | | | | | | | DR407, the C++ standard doesn't really say how this should work. Here's what we do (which is consistent with DR407 as far as I can tell): * When performing name lookup for an elaborated-type-specifier, a tag declaration hides a typedef declaration that names the same type. * When performing any other kind of lookup, a typedef declaration hides a tag declaration that names the same type. In any other case where lookup finds both a typedef and a tag (that is, when they name different types), the lookup will be ambiguous. If lookup finds a tag and a typedef that name the same type, and finds anything else, the lookup will always be ambiguous (even if the other entity would hide the tag, it does not also hide the typedef). llvm-svn: 252959
* Revert r240335.Richard Smith2015-11-127-14/+7
| | | | | | | | | | | | | | | This failed to solve the problem it was aimed at, and introduced just as many issues as it resolved. Realistically, we need to deal with the possibility that multiple modules might define different internal linkage symbols with the same name, and this isn't a problem unless two such symbols are simultaneously visible. The case where two modules define equivalent internal linkage symbols is handled by r252063: if lookup finds multiple sufficiently-similar entities from different modules, we just pick one of them as an extension (but we keep them separate). llvm-svn: 252957
* Additional tests from r252690 that I forgot to 'svn add'.Richard Smith2015-11-122-0/+45
| | | | | | From a patch by Nicholas Allegra! llvm-svn: 252955
* Correct atomic libcall support for __atomic_*_fetch builtins.James Y Knight2015-11-122-45/+52
| | | | | | | | | | | | | | In r244063, I had caused these builtins to call the same-named library functions, __atomic_*_fetch_SIZE. However, this was incorrect: while those functions are in fact supported by GCC's libatomic, they're not documented by the spec (and gcc doesn't ever call them). Instead, you're /supposed/ to call the __atomic_fetch_* builtins and then redo the operation inline to return the final value. Differential Revision: http://reviews.llvm.org/D14385 llvm-svn: 252920
* Add support for driver option -mno-ms-bitfields.Akira Hatanaka2015-11-123-1/+10
| | | | | | | | This option is used to cancel -mms-bitfields on the command line. rdar://problem/15898553 llvm-svn: 252912
* Cull non-standard variants of ARM architectures (NFC)Artyom Skrobov2015-11-121-5/+0
| | | | | | | | | | | | Summary: Clang-side update, corresponding to D14577 Reviewers: rengolin Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D14578 llvm-svn: 252904
* [C++] Add the "norecurse" attribute to main() if in C++ modeJames Molloy2015-11-123-1/+17
| | | | | | The C++ spec (3.6.1.3) says "The function `main` shall not be used within a program". This implies that it cannot recurse, so add the norecurse attribute to help the midend out a bit. llvm-svn: 252902
* Re-recommit: Add support for the new mips-mti-linux toolchain.Vasileios Kalintiris2015-11-1217-27/+297
| | | | | | | | Last time, this caused two Windows buildbots and a single ARM buildbot to fail. I XFAIL'd the failing test on win32,win64 machines in order to see if the ARM buildbot complains again. llvm-svn: 252901
* Silencing an MSVC warning about linkage specifications and C-incompatible ↵Aaron Ballman2015-11-121-20/+20
| | | | | | UDTs by moving a function definition out of an extern "C" block. llvm-svn: 252900
* Fix c-index-test install pathIsmail Donmez2015-11-121-1/+1
| | | | llvm-svn: 252890
* Update clang regression tests for 'norecurse'James Molloy2015-11-125-7/+7
| | | | | | FunctionAttrs has just been taught how to infer 'norecurse'. Update clang tests for LLVM r252871. llvm-svn: 252872
* Use %select to merge two diagnostics that only differ in one word and are ↵Craig Topper2015-11-122-7/+4
| | | | | | emitted in the same place. NFC llvm-svn: 252861
* [Sema] Remove unnecessary parens in check using logical or; NFC.Nathan Wilson2015-11-121-1/+1
| | | | llvm-svn: 252855
* libclang: add clang_Cursor_getCXXManglingsSaleem Abdulrasool2015-11-125-0/+163
| | | | | | | | | This function permits the mangling of a C++ 'structor. Depending on the ABI and the declaration, the declaration may contain more than one associated symbol for a given declaration. This allows the consumer to retrieve all of the associated symbols for the declaration the cursor points to. llvm-svn: 252853
* libclang: add new StringSet typeSaleem Abdulrasool2015-11-124-0/+28
| | | | | | | This allows the return of a set of CXStrings from libclang. This is setup work for an upcoming change to permit returning multiple mangled symbols. llvm-svn: 252852
* [AttrDocs] Insert blank lines before and after code-block directives.Akira Hatanaka2015-11-121-0/+6
| | | | | | The code snippets were not being displayed. This commit fixes the bug. llvm-svn: 252849
OpenPOWER on IntegriCloud