summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix leak in ObjCSelfInitChecker, found by LSan.Nico Weber2014-05-061-19/+18
| | | | | | | | BugReport doesn't take ownership of the bug type, so let the checker own the the bug type. (Requires making the bug type mutable, which is icky, but which is also what other checkers do.) llvm-svn: 208110
* Fix a leak found by LSan: ConsumedBlockInfo owns its StateMapsArray entries.Nico Weber2014-05-061-1/+2
| | | | | | | | | (I tried converting StateMapsArray to a vector<unique_ptr> and changing the types of getInfo() and addInfo() to take unique_ptrs. This mostly worked, except for the three-argument form of addInfo() which I found confusing enough that I went with this simpler fix for now.) llvm-svn: 208108
* Revert "DebugInfo: Emit the definition of enums when the definition preceeds ↵David Blaikie2014-05-065-87/+1
| | | | | | | | | | | the declaration and initial use." This is breaking the compiler-rt build. Reverting while I investigate/fix. This reverts commit r208065. llvm-svn: 208106
* Add driver support for AArch64 Fedora.Tilmann Scheller2014-05-067-2/+21
| | | | | | Reviewed by Eric Christopher. llvm-svn: 208105
* Update comment for ObjCImplementationDecl's handling of instance variables.Jordan Rose2014-05-061-4/+7
| | | | | | No functionality change. llvm-svn: 208099
* clang-format: [JS] Keep space after closure style comments.Daniel Jasper2014-05-062-2/+6
| | | | | | | | | | Before: var x = /** @type {foo} */ (bar); After: var x = /** @type {foo} */(bar); llvm-svn: 208093
* clang-format: [JS] Keep space between 'return' and '['.Daniel Jasper2014-05-062-3/+8
| | | | llvm-svn: 208090
* clang-format: [JS] Don't indent in goog.scope blocks.Daniel Jasper2014-05-062-2/+27
| | | | | | | | | | | | | | | | Before: goog.scope(function() { var x = a.b; var y = c.d; }); // goog.scope After: goog.scope(function() { var x = a.b; var y = c.d; }); // goog.scope llvm-svn: 208088
* [OPENMP] Another one fix for codegen test '#pragma omp parallel'Alexey Bataev2014-05-061-1/+1
| | | | llvm-svn: 208087
* [OPENMP] Fixed test for '#pragma omp parallel' codegenAlexey Bataev2014-05-061-48/+46
| | | | llvm-svn: 208086
* Fixed one issue with castingDinesh Dwivedi2014-05-062-2/+5
| | | | | | | | | | | | Before: (void) SimplifyICmpOperands(Cond, LHS, RHS); After: (void)SimplifyICmpOperands(Cond, LHS, RHS); Differential Revision: http://reviews.llvm.org/D3615 llvm-svn: 208080
* [OPENMP] Temporary disable test for parallel codegenAlexey Bataev2014-05-061-1/+2
| | | | llvm-svn: 208078
* [OPENMP] Initial codegen for '#pragma omp parallel'Alexey Bataev2014-05-0619-38/+762
| | | | llvm-svn: 208077
* [PATCH] [ARM64] Enable alignment control option in front-end for ARM64.Kevin Qin2014-05-063-14/+45
| | | | | | | This patch is to get "-mno-unaligned-access" and "-munaligned-access" work in front-end for ARM64 target. llvm-svn: 208075
* XCore target: fix initialization bug found by MSan Bot.Robert Lytton2014-05-061-0/+1
| | | | llvm-svn: 208072
* Pulled out cast detection in TokenAnnotator into its own functionDinesh Dwivedi2014-05-061-58/+58
| | | | | | | | This is to remove FIXME added in r207964. Differential Revision: http://reviews.llvm.org/D3619 llvm-svn: 208071
* DebugInfo: Emit the definition of enums when the definition preceeds the ↵David Blaikie2014-05-065-1/+87
| | | | | | | | | | | | declaration and initial use. This regressed a little further 208055 though it was already a little broken. While the requiresCompleteType optimization should be implemented here. Future (possibly near future) work. llvm-svn: 208065
* [C++11] Use 'nullptr'Craig Topper2014-05-06145-1052/+1118
| | | | llvm-svn: 208063
* Fix crash when one overload candidate is a template instead of a function. ↵Nick Lewycky2014-05-061-0/+1
| | | | | | | | | | Patch by Kaelyn Takata. Testcase coming out of creduce will land in a separate commit shortly. Also, it appears that this callback is used even in a SFINAE context where the results are never displayed. llvm-svn: 208062
* [OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP ↵Alexey Bataev2014-05-0617-14/+249
| | | | | | clause 'proc_bind' llvm-svn: 208060
* PR19598: Ensure temporary metadata nodes used in debug info are destroyed.David Blaikie2014-05-062-40/+34
| | | | | | | | | | | | | | | | | | | CGDebugInfo and DIBuilder were lax in their handling of temporary MDNodes. All temporary nodes need to be deleted, which means they need to be RAUW'd with a permanent node. This was not happening. To ensure this, leverage DIBuilder's new ability to create both permanent and temporary declarations. Ensure all temporary declarations are RAUW'd, even with itself. (DIDescriptor::RAUW handles the case where it is replaced with itself and creates a new, duplicate permanent node to replace itself with) This means that all temporary declarations must be added to the ReplacementMap even if they're never upgraded to definitions - so move the point of insertion into the map to the point of creation of the declarations. llvm-svn: 208055
* Support field references to struct names and c++11 aliases from inline asm.Nico Weber2014-05-062-2/+34
| | | | | | This is in addition to the existing support for typedefs. llvm-svn: 208053
* I fixed this fixme in r208017.Nick Lewycky2014-05-061-2/+1
| | | | llvm-svn: 208027
* www: add a missing HTML open tagAlp Toker2014-05-061-0/+1
| | | | | | This went AWOL in r207995. llvm-svn: 208018
* Build debug info for ObjC interface types at the end of the translation unit ↵David Blaikie2014-05-053-110/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to ensure all ivars are included. This takes a different approach than the completedType/requiresCompleteType work which relies on AST callbacks to upgrade the type declaration to a definition. Instead, just defer constructing the definition to the end of the translation unit. This works because the definition is never needed by other debug info (so far as I know), whereas the definition of a struct may be needed by other debug info before the end of the translation unit (such as emitting the definition of a member function which must refer to that member function's declaration). If we had a callback for whenever an IVar was added to an ObjC interface we could use that, and remove the need for the ObjCInterfaceCache, which might be nice. (also would need a callback for when it was more than just a declaration so we could get properties, etc). A side benefit is that we also don't need the CompletedTypeCache anymore. Just rely on the declaration-ness of a type to decide whether its definition is yet to be emitted. There's still the PR19562 memory leak, but this should hopefully make that a bit easier to approach. llvm-svn: 208015
* ObjC IVars aren't added when the type isn't emitted after the interface ↵David Blaikie2014-05-051-1/+15
| | | | | | extension llvm-svn: 208014
* During parsing, update the range of the Declarator to include the identifier.Richard Trieu2014-05-051-0/+1
| | | | llvm-svn: 208011
* [Basic/FileManager] Propagate whether a file 'IsVolatile' to the file ↵Argyrios Kyrtzidis2014-05-053-10/+19
| | | | | | | | opening functions. Needs llvm r208007. llvm-svn: 208008
* Add -Wnon-modular-include* optionsBen Langmuir2014-05-0534-38/+240
| | | | | | | | | | | | Warn on non-modular includes in various contexts. -Wnon-modular-include -Wnon-modular-include-in-module -Wnon-modular-include-in-framework-module Where each group is a subgroup of those above it. llvm-svn: 208004
* Simplify replacement map by avoiding duplicate values and ensuring the ↵David Blaikie2014-05-051-15/+9
| | | | | | | | | | | | | values it does contain are necessary. Items were being redundantly added to the replacement map (both when the declaration was created, and then again when its definition was constructed) which caused extra handling to be required when walking the map (as elements may've already been replaced due to prior entries). By avoiding adding the duplicates, the checks in the replacement handling can be replaced with assertions. llvm-svn: 208000
* MS ABI: Emit an error during IRgen on C++ exception handlingReid Kleckner2014-05-052-0/+33
| | | | | | | | | | | | | | | | Currently, users get error messages about RTTI descriptor mangling with no useful source location. This addresses that. Another approach would be to disable C++ exceptions by default in the driver when using the Microsoft C++ ABI. However, this makes it impossible to parse system headers that use exception handling constructs. By delaying the error to IRgen, we can figure out if we actually need to emit code for this construct. Additionally, users who are only interested in building refactoring tools on Windows still get a correct AST without having to add flags. Finally, this is consistent with what we do for SEH. llvm-svn: 207999
* Fix pr19653.Rafael Espindola2014-05-055-11/+41
| | | | | | Warn if an alias requests a section other than the aliasee section. llvm-svn: 207997
* www: remove proprietary dbtree.js script from r96013Alp Toker2014-05-058-22/+1
| | | | | | | | | | | | This minified source code and artwork is copied from a commercial product and carries no license information: dbtree.js (7 kb), 25.03.2014 14:51:32 Purchase and download DBTree now for only $29.75 $9.75 It was used by a small TOC which looks fine now as a plain unordered list. llvm-svn: 207995
* Fix some typosAlp Toker2014-05-054-7/+7
| | | | llvm-svn: 207994
* Small refactoring, no functionality change.Rafael Espindola2014-05-051-3/+4
| | | | llvm-svn: 207991
* CodeGen: Assign linkage to thread-wrappers correctlyDavid Majnemer2014-05-052-2/+11
| | | | | | | | | | We would sometimes incorrectly give a thread-wrapper external linkage instead of internal linkage if we had only CodeGen'd it's declaration, not it's definition. This fixes PR19655. llvm-svn: 207988
* Fix handling of condition variables in the face of temp dtors.Manuel Klimek2014-05-052-13/+10
| | | | | | | | The assignment needs to be before the destruction of the temporary. This patch calls out to addStmt, which invokes VisitDeclStmt, which has all the correct logic for handling temporaries. llvm-svn: 207985
* CodeGen: Cleanup visibility in RTTIBuilderDuncan P. N. Exon Smith2014-05-051-9/+5
| | | | | | No functionality change. llvm-svn: 207978
* Add -Wmodule-build to make it easy to see when modules are (re)builtBen Langmuir2014-05-053-0/+27
| | | | | | Warning is default ignore, and not in -Wall. llvm-svn: 207975
* clang-format: Understand functions with decltype return type.Daniel Jasper2014-05-052-1/+10
| | | | | | | | | | | | Before: decltype(long_name_forcing_break) f() {} After: decltype(long_name_forcing_break) f() {} llvm-svn: 207965
* Added some heuristics to identify c style castingDinesh Dwivedi2014-05-052-17/+46
| | | | | | | | | | | | | | Before: void f() { my_int a = (my_int) * b; } void f() { return P ? (my_int) * P : (my_int)0; } After: void f() { my_int a = (my_int)*b; } void f() { return P ? (my_int)*P : (my_int)0; } Differential Revision: http://reviews.llvm.org/D3576 llvm-svn: 207964
* Driver: Recognize CentOS 6 as RHEL 6.Benjamin Kramer2014-05-051-11/+9
| | | | | | Patch by Dimitry Andric! llvm-svn: 207963
* StringRefize and take out an old FIXMEAlp Toker2014-05-054-9/+8
| | | | llvm-svn: 207962
* clang-format: Improve understanding of decltype.Daniel Jasper2014-05-052-1/+5
| | | | | | | | | | Before: SomeFunction([](decltype(x), A * a) {}); After: SomeFunction([](decltype(x), A *a) {}); llvm-svn: 207961
* Fix bug in clang-format while merging short functionDinesh Dwivedi2014-05-052-4/+95
| | | | | | | | | | | | | | | | | | | | | Before: #ifdef _DEBUG int foo( int i = 0 ) #else int foo( int i = 5 ) #endif { return i; } After: #ifdef _DEBUG int foo( int i = 0 ) #else int foo( int i = 5 ) #endif { return i; } llvm-svn: 207958
* Fix crash when resolving branch conditions for temporary destructor ↵Manuel Klimek2014-05-052-25/+52
| | | | | | | | | | | | | | | | | | | | condition blocks. Document and simplify ResolveCondition. 1. Introduce a temporary special case for temporary desctructors when resolving the branch condition - in an upcoming patch, alexmc will change temporary destructor conditions to not run through this logic, in which case we can remove this (marked as FIXME); this currently fixes a crash. 2. Simplify ResolveCondition; while documenting the function, I noticed that it always returns the last statement - either that statement is the condition itself (in which case the condition was returned anyway), or the rightmost leaf is returned; for correctness, the rightmost leaf must be evaluated anyway (which the CFG does in the last statement), thus we can just return the last statement in that case, too. Added an assert to verify the invariant. llvm-svn: 207957
* Simplify getARMCPUForMArch() and make it more consistentChristian Pirker2014-05-052-53/+53
| | | | llvm-svn: 207956
* clang-format: Fix import statements with ColumnLimit: 0Daniel Jasper2014-05-052-1/+6
| | | | | | These used to interact badly with AlwaysBreakBeforeMultilineStrings. llvm-svn: 207955
* Update lit.cfg to support the clang-interpreter test from r207950Alp Toker2014-05-052-0/+2
| | | | | | | Performs behind-the-scenes RUN line substitution similarly to what's done with clang-check and clang-format to ensure the executable is found. llvm-svn: 207951
* Add speculative clang-interpreter testAlp Toker2014-05-051-0/+10
| | | | | | | | | | | Let's see how far this gets on the build servers. The application requires native JIT and uses the C standard library, but hopefully we can get this tested on at least some configurations. Taking a lead from the clang-format tests, we'll just expect the executable to get picked up from the build output path for now. llvm-svn: 207950
OpenPOWER on IntegriCloud