summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Don't destroy MacroInfos if we find the macro definition is invalid; it'll getRichard Smith2014-08-033-17/+2
| | | | | | destroyed on shutdown regardless. Fixes a double-delete. llvm-svn: 214675
* Driver: Simplify a use of the path APIJustin Bogner2014-08-031-1/+1
| | | | | | | It's a bit more obvious what's going on if we use path::filename rather than decrementing an iterator here. llvm-svn: 214668
* [Mips] Add the `mips64-linux-gnu` target to the test case to check `in128`Simon Atanasyan2014-08-031-0/+1
| | | | | | type handling. llvm-svn: 214662
* Tools.cpp: Avoid std::to_string() on -fbuild-session-timestamp to appease ↵NAKAMURA Takumi2014-08-031-3/+4
| | | | | | mingw32 builder. llvm-svn: 214656
* vcfsx and dss instructions require immediates, variables are not valid.Joerg Sonnenberger2014-08-021-2/+2
| | | | llvm-svn: 214635
* libclang/Makefile: Update LINK_COMPONENTS take #3. Sorry for the noise.NAKAMURA Takumi2014-08-021-1/+1
| | | | llvm-svn: 214620
* libclang/Makefile: Update LINK_COMPONENTS take #2.NAKAMURA Takumi2014-08-021-1/+1
| | | | llvm-svn: 214619
* libclang/Makefile: Restore some components in LINK_COMPONENTS. Clang's ↵NAKAMURA Takumi2014-08-021-1/+1
| | | | | | Makefile(s) are not transitive on clang libs. llvm-svn: 214617
* libclang: Update LINK_COMPONENTS.NAKAMURA Takumi2014-08-022-1/+2
| | | | llvm-svn: 214616
* In the case of mangling collisions, make an attempt to note both definitionsRichard Smith2014-08-022-7/+9
| | | | | | involved. llvm-svn: 214606
* [ASan] Use metadata to pass source-level information from Clang to ASan.Alexey Samsonov2014-08-023-37/+30
| | | | | | | | | | | | | | | | | Instead of creating global variables for source locations and global names, just create metadata nodes and strings. They will be transformed into actual globals in the instrumentation pass (if necessary). This approach is more flexible: 1) we don't have to ensure that our custom globals survive all the optimizations 2) if globals are discarded for some reason, we will simply ignore metadata for them and won't have to erase corresponding globals 3) metadata for source locations can be reused for other purposes: e.g. we may attach source location metadata to alloca instructions and provide better descriptions for stack variables in ASan error reports. No functionality change. llvm-svn: 214604
* Fix test from r214577 for other timezonesBen Langmuir2014-08-011-4/+4
| | | | | | | | | Unsurprisingly, changing a file modification time to a specific date/time doesn't give the same epoch time everywhere. Just make the file move into the past and look at only the first few digits of the epoch time. llvm-svn: 214589
* InstrProf: Update for LLVM API changeJustin Bogner2014-08-013-7/+12
| | | | | | | | | | | | We've added support for a multiple functions with the same name in LLVM's profile data, so the lookup returning the function hash it found doesn't make sense anymore. Update to pass in the hash we expect. This also adds a test that the version 1 format is still readable, since the new API is expected to handle that. llvm-svn: 214586
* Notional simplification: defer emitting deferred inline methods until we finishRichard Smith2014-08-011-4/+21
| | | | | | emitting everything, rather than potentially doing this reentrantly. llvm-svn: 214582
* Actually fix problem with modules buildbot this time.Richard Smith2014-08-011-1/+1
| | | | llvm-svn: 214579
* Add -fbuild-session-file as an alternative to -fbuild-session-timestampBen Langmuir2014-08-014-5/+36
| | | | | | | | Build systems tend to traffic in files and modification times, so having them touch a file at the beginning of the build can be easier than having them update the compile command they use every time they build. llvm-svn: 214577
* [Sanitizer] Introduce SanitizerMetadata class.Alexey Samsonov2014-08-017-81/+150
| | | | | | | | | | | | | | It is responsible for generating metadata consumed by sanitizer instrumentation passes in the backend. Move several methods from CodeGenModule to SanitizerMetadata. For now the class is stateless, but soon it won't be the case. Instead of creating globals providing source-level information to ASan, we will create metadata nodes/strings which will be turned into actual global variables in the backend (if needed). No functionality change. llvm-svn: 214564
* Let's assume PowerPC has no SSE.Joerg Sonnenberger2014-08-011-1/+0
| | | | llvm-svn: 214562
* Re-commit r214547 with tests fixed. Hopefully all the bots will be happy now.Richard Smith2014-08-013-11/+20
| | | | | | | | | Original message: Fix iterator invalidation issues that are breaking my modules buildbot's bootstrap. llvm-svn: 214555
* MS inline asm: Tests for r214550Reid Kleckner2014-08-013-3/+63
| | | | | | | | | These tests seem like an exception to the rule against assembly emitting tests in clang. I made an LLVM side change that can only be tested by setting up the inline assembly machinery that is only implemented by Clang. llvm-svn: 214552
* MS inline asm: Add tests for LLVM r214468Reid Kleckner2014-08-011-0/+4
| | | | | | This used to assert. llvm-svn: 214551
* Revert r214547 due to test breakage.Richard Smith2014-08-012-16/+6
| | | | llvm-svn: 214549
* Fix iterator invalidation issues that are breaking my modules buildbot's ↵Richard Smith2014-08-012-6/+16
| | | | | | bootstrap. llvm-svn: 214547
* Update build instructions for the clang-format VS pluginHans Wennborg2014-08-011-4/+7
| | | | llvm-svn: 214529
* Dropping some else-after-returns. No functional changes intended.Aaron Ballman2014-08-011-7/+7
| | | | llvm-svn: 214526
* Add IR Mangler for more stable mangling.Eli Bendersky2014-08-012-13/+29
| | | | llvm-svn: 214520
* The GNU-style aligned attribute has an optional expression, but the ↵Aaron Ballman2014-08-012-3/+12
| | | | | | | | generated pretty printing logic was unaware of this. Fixed the pretty printing logic, and added a test to ensure it no longer asserts. Added a FIXME to the code about eliding the parenthesis when pretty printing such a construct. llvm-svn: 214513
* Revert r214497: [mips] Defer va_arg expansion to the backend.Daniel Sanders2014-08-012-30/+33
| | | | | | | | It appears that the backend does not handle all cases that were handled by clang. In particular, it does not handle structs as used in SingleSource/UnitTests/2003-05-07-VarArgs. llvm-svn: 214512
* Replacing some more complex logic with a helper function call to ↵Aaron Ballman2014-08-012-18/+8
| | | | | | ObjCMethod::getReturnTypeSourceRange. No functional changes intended. llvm-svn: 214511
* Xcore target: Fix CXXStdlibIncludeArgs to check 'nostdinc++' flag too.Robert Lytton2014-08-011-1/+2
| | | | | | | | | | Summary: There are no tests as it is dependant upon the environment variables XCC_C_INCLUDE_PATH & XCC_CPLUS_INCLUDE_PATH being set. Differential Revision: http://reviews.llvm.org/D4621 llvm-svn: 214510
* clang-format: Add a space in ObjC protocols.Daniel Jasper2014-08-012-6/+7
| | | | | | | | | | Before: @interface Foo (HackStuff)<MyProtocol> After: @interface Foo (HackStuff) <MyProtocol> llvm-svn: 214508
* Improving diagnostic source ranges for the nonnull attribute. Now it ↵Aaron Ballman2014-08-013-9/+39
| | | | | | highlights the attribute and the faulty nonpointer type when possible. llvm-svn: 214507
* Fix a memory leak - dispose of the CXString after printing it in mangling.Eli Bendersky2014-08-011-0/+1
| | | | | | Thanks to kcc@ for noticing. llvm-svn: 214506
* Initializing the loop hint option token again.Aaron Ballman2014-08-011-0/+1
| | | | llvm-svn: 214504
* Initializing the loop hint option token.Aaron Ballman2014-08-011-1/+3
| | | | llvm-svn: 214502
* [mips] Defer va_arg expansion to the backend.Daniel Sanders2014-08-012-33/+30
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch causes clang to emit va_arg instructions to the backend instead of expanding them into an implementation itself. The backend already implements va_arg since this is necessary for NaCl so this patch is removing redundant code. Together with the llvm patch (D4556) that accounts for the effect of endianness on the expansion of va_arg, this fixes PR19612. Depends on D4556 Reviewers: sstankovic, dsanders Reviewed By: dsanders Subscribers: rnk, cfe-commits Differential Revision: http://reviews.llvm.org/D4742 llvm-svn: 214497
* [modules] Remove IRGen special case for emitting implicit special members ifRichard Smith2014-08-014-15/+11
| | | | | | | | | | | they're somehow missing a body. Looks like this was left behind when the loop was generalized, and it's not been problematic before because without modules, a used, implicit special member function declaration must be a definition. This was resulting in us trying to emit a constructor declaration rather than a definition, and producing a constructor missing its member initializers. llvm-svn: 214473
* Add comments to debug info testing case.Manman Ren2014-08-011-0/+1
| | | | llvm-svn: 214472
* Remove this pointer that is converted to bool. In well-defined contexts, theRichard Trieu2014-08-011-3/+7
| | | | | | | | this pointer is always non-null. If the this pointer is null, it is undefined and the compiler may optimize it away by assuming it is non-null. The null checks are pushed into the callers. llvm-svn: 214471
* clang-format vs plugin: claim support for VS 14 CTP tooHans Wennborg2014-08-011-0/+3
| | | | llvm-svn: 214461
* Fix buildbot: work around missing GCC C++11 feature.Richard Smith2014-07-311-0/+2
| | | | llvm-svn: 214459
* [modules] Maintain an AST invariant across module load/save: if any declarationRichard Smith2014-07-316-50/+189
| | | | | | | | | | | | | | | of a function has a resolved exception specification, then all declarations of the function do. We should probably improve the AST representation to make this implicit (perhaps only store the exception specification on the canonical declaration), but this fixes things for now. The testcase for this (which used to assert) also exposes the actual bug I was trying to reduce here: we sometimes fail to emit the body of an imported special member function definition. Fix for that to follow. llvm-svn: 214458
* Factor out exception specification information fromRichard Smith2014-07-3116-190/+186
| | | | | | | | FunctionProtoType::ExtProtoInfo. Most of the users of these fields don't care about the other ExtProtoInfo bits and just want to talk about the exception specification. llvm-svn: 214450
* Loop hint pragmas sometimes do not contain an identifier option (such as ↵Aaron Ballman2014-07-311-1/+5
| | | | | | | | #pragma unroll(4)). Check explicitly that the token we stored was an identifier. Amends r214432 llvm-svn: 214446
* Implemented a diagnostic to handle multiple, distinct ownership_return ↵Aaron Ballman2014-07-313-2/+24
| | | | | | attributes on the same declaration. This removes a FIXME from the code. llvm-svn: 214436
* Add a state variable to the loop hint attribute.Tyler Nowicki2014-07-3110-120/+158
| | | | | | | | | | This patch is necessary to support constant expressions which replaces the integer value in the loop hint attribute with an expression. The integer value was also storing the pragma’s state for options like vectorize(enable/disable) and the pragma unroll and nounroll directive. The state variable is introduced to hold the state of those options/pragmas. This moves the validation of the state (keywords) from SemaStmtAttr handler to the loop hint annotation token handler. Resubmit with changes to try to fix the build-bot issue. Reviewed by Aaron Ballman llvm-svn: 214432
* Local extern redeclarations of dllimport variables stay dllimport even if ↵Hans Wennborg2014-07-313-2/+15
| | | | | | they don't specify the attribute llvm-svn: 214425
* Reformat docstring to 80-colEli Bendersky2014-07-311-3/+3
| | | | llvm-svn: 214412
* Removing an outdated FIXME. No functional changes.Aaron Ballman2014-07-311-4/+0
| | | | llvm-svn: 214411
* Exposes a C API to name mangling for a given cursor.Eli Bendersky2014-07-315-0/+79
| | | | | | | | | Inspired by https://gist.github.com/tritao/2766291, and was previously discussed on cfe-dev: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-June/037577.html Adding testing capability via c-index-test. llvm-svn: 214410
OpenPOWER on IntegriCloud