summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABIReid Kleckner2015-03-039-386/+536
| | | | | | | | | Use llvm.eh.begincatch for Microsoft-style catches. This moves lots of CGException code into ItaniumCXXABI. Sorry for the blame pain. llvm-svn: 231105
* Disable the right RUN lineReid Kleckner2015-03-031-1/+1
| | | | llvm-svn: 231098
* Disabled the other test from r231086 (like in r231087) since it also had ↵Filipe Cabecinhas2015-03-031-1/+1
| | | | | | problems llvm-svn: 231096
* Support __attribute__((availability)) on Android.Dan Albert2015-03-033-1/+38
| | | | | | | | | | | | Reviewers: srhines Reviewed By: srhines Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7929 llvm-svn: 231092
* Don't force -pie for Android.Dan Albert2015-03-033-6/+26
| | | | | | | | | | | | | | | | | | | Summary: There is no -no-pie flag that can override this, so making it default to being on for Android means it is no longer possible to create non-PIE executables on Android. While current versions of Android support (and the most recent requires) PIE, ICS and earlier versions of Android cannot run PIE executables, so this needs to be optional. Reviewers: srhines Reviewed By: srhines Subscribers: thakis, volkalexey, cfe-commits Differential Revision: http://reviews.llvm.org/D8015 llvm-svn: 231091
* Disable a Clang test until the begincatch change landsReid Kleckner2015-03-031-1/+2
| | | | llvm-svn: 231087
* Migrate clang-format-vs plugin project to VS 2013Hans Wennborg2015-03-032-6/+3
| | | | | | | | | | The plugin still works fine in versions starting from 2010, but this was needed to make the project _build_ in VS 2013, which is the blessed version for building LLVM projects these days. http://reviews.llvm.org/D8021 llvm-svn: 231084
* DebugInfo: Move new hierarchy into place (clang)Duncan P. N. Exon Smith2015-03-03118-568/+1108
| | | | | | | Update testcases for LLVM change in r231082 to use the new debug info hierarchy. llvm-svn: 231083
* Lower _mm256_broadcastsi128_si256 directly to a vector shuffle.Juergen Ributzka2015-03-034-10/+2
| | | | | | | | | | | | | | Originally we were using the same GCC builtins to lower this AVX2 vector intrinsic. Instead we will now lower it directly to a vector shuffle. This will not only allow LLVM to generate better code, but it will also allow us to remove the GCC intrinsics. Reviewed by Andrea This is related to rdar://problem/18742778. llvm-svn: 231081
* [SDK modernizer]. Patch fixes driver's lack ofFariborz Jahanian2015-03-032-0/+10
| | | | | | | recognition of mernizer's -objcmt-migrate-property-dot-syntax option with a new test in test/Driver. rdar://19994452 llvm-svn: 231080
* Make -Wuninitialized warn on pointer-to-member and comma operators.Manuel Klimek2015-03-033-13/+94
| | | | | | | | | | | `isTrackedVar` has been updated to also track records. `DeclRefExpr`s appearing on the left side of a comma operator are ignored, while those appearing on the right side are classified as `Use`. Patch by Enrico Pertoso. llvm-svn: 231068
* Make sure we initialize all values in WhitespaceManager::Change.Manuel Klimek2015-03-031-2/+3
| | | | llvm-svn: 231067
* clang-format: Fix access to uninitialized memory.Daniel Jasper2015-03-032-0/+5
| | | | | | | | | With incomplete code, we aren't guaranteed to generated changes for every token. In that case, we need to assume that even the very first change can continue a preprocessor directive and initialize values accordingly. llvm-svn: 231066
* Revert r231008 (and dependent r231019).Daniel Jasper2015-03-033-5/+0
| | | | | | | | | As Chandler responded on the initial commit, just directly setting the triple through -Xclang option to the driver creates havoc on other platforms. The driver test should specifically go into test/Driver and test the cc1 commandline itself. llvm-svn: 231063
* [ASTUnit] Fix crash when trying to load a module file via ↵Argyrios Kyrtzidis2015-03-033-5/+18
| | | | | | | | ASTUnit::LoadFromASTFile. rdar://19997358 llvm-svn: 231060
* Sema: Caught exception objects should be unqualifiedDavid Majnemer2015-03-032-2/+21
| | | | | | | | The exception object should be unqualified. Using a qualified exception object results in the wrong copy constructor getting called when the catch handler executes. llvm-svn: 231054
* Remove obsolete FIXME. override on definitions is fine.Nico Weber2015-03-031-4/+2
| | | | llvm-svn: 231053
* Sema: Properly initialize the thrown exception objectDavid Majnemer2015-03-034-21/+34
| | | | | | | We would create the exception object with the wrong qualifiers, ensuring that the wrong copy constructor would get called. llvm-svn: 231049
* [Sanitizers] Remove duplication in sanitizer group definition. NFC.Alexey Samsonov2015-03-031-12/+6
| | | | | | | | There is no need to list sanitizers in both "UndefinedTrap" and "Undefined" groups - it turns out using one group in a defintion of another group "just works". llvm-svn: 231040
* Fix typo in my last commit.Matthias Braun2015-03-031-1/+1
| | | | llvm-svn: 231039
* [SDK modernizer] Patch to fix type of the typed enums whenFariborz Jahanian2015-03-023-3/+17
| | | | | | migrating to NS_ENUM typedef. rdar://19994496 llvm-svn: 231036
* Remove shell requirement from test/Modules/explicit-build-relpath.cppReid Kleckner2015-03-021-2/+0
| | | | | | It only relies on 'cd', which the internal shell has now. llvm-svn: 231031
* Revert bad change from r231029Reid Kleckner2015-03-021-0/+1
| | | | llvm-svn: 231030
* Remove shell requirements from tests that use 'cd'Reid Kleckner2015-03-0215-35/+3
| | | | | | | | Modules and Tooling tests in particular tend to want to change the cwd, so we were missing test coverage in this area on Windows. It should now be easier to write such portable tests. llvm-svn: 231029
* clang-cl: Correctly ignore /openmp- (PR22748)Hans Wennborg2015-03-022-2/+5
| | | | llvm-svn: 231026
* Fix test case.Sanjoy Das2015-03-021-2/+2
| | | | | | | | | | r230921 broke backend-optimization-failure.cpp: after r230921, LLVM no longer emits an expression to compute 'Length - 1' and this perturbs LoopSimplify enough to emit the warning on line 10 instead of line 9. This is a review request to fix the test case once I re-land r230921. llvm-svn: 231020
* Attempt to fix buildbot.Fariborz Jahanian2015-03-022-2/+2
| | | | llvm-svn: 231019
* Improve robustness of dependency-generation-crash.c test.Matthias Braun2015-03-021-4/+1
| | | | | | | | | | | The test wants to provoke a failure when opening the output file. Using chmod 0 on the output file does not work reliably on all filesystems or when running the test as root. Change the test to use a nonexistant directory instead. Differential Revision: http://reviews.llvm.org/D7620 llvm-svn: 231009
* [SDK modernizer]. Patch fixes driver's lack ofFariborz Jahanian2015-03-023-0/+5
| | | | | | | recognition of mernizer's -objcmt-migrate-property-dot-syntax option. rdar://19994452 llvm-svn: 231008
* Add -fexceptions for targets where it isn't the default.Filipe Cabecinhas2015-03-021-2/+2
| | | | | | | It still tests that objc++-cpp-output turns on -fcxx-exceptions and -fobjc-exceptions by being a c++ and objc(++) file. llvm-svn: 230992
* Add clang support for Objective-C application extensions.Bob Wilson2015-03-028-8/+60
| | | | | | | | This adds the -fapplication-extension option, along with the ios_app_extension and macosx_app_extension availability attributes. Patch by Ted Kremenek llvm-svn: 230989
* Add -frtti and -fexceptions to tests that assume these are on.Filipe Cabecinhas2015-03-021-1/+5
| | | | | | | | | | | | | | | Summary: We now have targets that don't enable rtti/exceptions by default, and the ASTMatchers tests are assuming that these features are on (e.g: They use dynamic_cast or try). Reviewers: klimek, thakis, djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D7892 llvm-svn: 230984
* CodeGen: Fix passing of classes with only one AVX vector member in AVX registersBenjamin Kramer2015-03-022-15/+19
| | | | | | | | | | | | | | isSingleElementStruct was a bit too tight in its definition of struct so we got a mismatch between classify() and the actual code generation. To make matters worse the code in GetByteVectorType still defaulted to <2 x double> if it encountered a type it didn't know, making this a silent miscompilation (PR22753). Completely remove the "preferred type" stuff from GetByteVectorType and make it fail an assertion if someone tries to use it with a type not suitable for a vector register. llvm-svn: 230971
* Replace loop with equivalent ArrayRef function. NFC.Benjamin Kramer2015-03-021-6/+1
| | | | llvm-svn: 230949
* clang-format: Prefer wrapping a lambda's body over the lambda's return type.Daniel Jasper2015-03-022-0/+8
| | | | | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); After: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); llvm-svn: 230942
* Fix ObjCInterfaceDecl::getCategoryMethod() and give it a caller. No behavior ↵Nico Weber2015-03-022-4/+3
| | | | | | change. llvm-svn: 230928
* DebugInfo: Give externally defined types a size and alignment wherePeter Collingbourne2015-03-012-1/+17
| | | | | | possible. Fixes PR22736. llvm-svn: 230914
* Add missing include.Benjamin Kramer2015-03-016-0/+6
| | | | llvm-svn: 230910
* clang-format: Always align */& in multi-var DeclStmts.Daniel Jasper2015-03-013-16/+26
| | | | | | | | Seems like the most consistent thing to do and in multi-var DeclStmts, it is especially important to point out that the */& bind to the identifier. llvm-svn: 230903
* Sema: Remove stray staticBenjamin Kramer2015-03-011-1/+1
| | | | | | | This is a real bug if the code path is ever used with different pointer sizes in the same process. llvm-svn: 230893
* Add change accidentally missed from r230840.Richard Smith2015-02-281-1/+0
| | | | llvm-svn: 230843
* Add PS4's autolink syntax to autolink.m's CHECK lines.Filipe Cabecinhas2015-02-281-2/+2
| | | | llvm-svn: 230841
* [modules] Avoid adding a redecl chain to the 'pending out of date' list as theRichard Smith2015-02-282-4/+41
| | | | | | very first step in updating it. llvm-svn: 230840
* Give better diagnostics when -fmodule-file= finds a bad file: if the file isRichard Smith2015-02-283-6/+33
| | | | | | | found indirectly, explain how we got there, and distinguish between 'file not found' and 'file found but invalid'. llvm-svn: 230839
* [modules] Deduplicate when merging lists of template specializations from ↵Richard Smith2015-02-282-28/+49
| | | | | | imported modules. llvm-svn: 230834
* Rework our handling of key functions. We used to track a complete list of allRichard Smith2015-02-2814-132/+53
| | | | | | | | | | | | | | dynamic classes in the translation unit and check whether each one's key function is defined when we got to the end of the TU (and when we got to the end of each module). This is really terrible for modules performance, since it causes unnecessary deserialization of every dynamic class in every compilation. We now use a much simpler (and, in a modules build, vastly more efficient) system: when we see an out-of-line definition of a virtual function, we check whether that function was in fact its class's key function. (If so, we need to emit the vtable.) llvm-svn: 230830
* DebugInfo: hoist definition into global context when neededSaleem Abdulrasool2015-02-282-3/+22
| | | | | | | | | | | | When generating debug info for a static inline member which is initialized for the DLLExport storage class, hoist the definition into a non-composite type context. Otherwise, we would trigger an assertion when generating the DIE for the associated global value as the debug context has a type association. This addresses PR22669. Thanks to David Blakie for help in coming up with a solution to this! llvm-svn: 230816
* [modules] When writing out a list of specializations for a template, if we haveRichard Smith2015-02-272-57/+58
| | | | | | | | undeserialized specializations (because we merged an imported declaration of the same template since we last added one), don't bother reading in the specializations themselves just so we can write out their IDs again. llvm-svn: 230805
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-27241-2167/+2167
| | | | llvm-svn: 230795
* [modules] Avoid the possibility of a redeclaration chain not being marked 'upRichard Smith2015-02-272-3/+3
| | | | | | to date' after it gets updated. llvm-svn: 230789
OpenPOWER on IntegriCloud