summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* [Sema] When checking if a bitcast is appropriate between vector types, take intoArgyrios Kyrtzidis2014-01-041-2/+37
| | | | | | | | | | | consideration the num-of-elements*width-of-element width. Disallow casts when such width is not equal between the vector types otherwise we may end up with an invalid LLVM bitcast. rdar://15722308. llvm-svn: 198474
* Ignore qualified templated functions for -Winfinite-recursion. This treatsRichard Trieu2014-01-041-0/+12
| | | | | | functions like Foo<5>::run() the same way as run<5>() for this warning. llvm-svn: 198470
* [ms-cxxabi] Improve vbtable name mangling accuracyReid Kleckner2014-01-032-173/+121
| | | | | | | | | | | | | | | | | | | | | | Summary: This makes us more compatible with MSVC 2012+ and fixes PR17748 where we would give two tables the same name. Rather than doing a fresh depth-first traversal of the inheritance graph for every record's vbtables, now we memoize vbtable paths for each record. By doing memoization, we end up considering virtual bases of subobjects that come later in the depth-first traversal. Where previously we would have ignored a virtual base that we'd already seen, we now consider it for name mangling purposes without emitting a duplicate vbtable for it. Reviewers: majnemer CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2509 llvm-svn: 198462
* Debug info: Ensure that the last stop point in a function is still withinAdrian Prantl2014-01-035-8/+16
| | | | | | | | | the lexical block formed by the compound statement that is the function body. rdar://problem/15010825 llvm-svn: 198461
* Refactored Builtin::Context::isPrintfLike and isScanfLike into a helper ↵Aaron Ballman2014-01-031-28/+23
| | | | | | | | function. The implementations are identical, except for the format arguments being searched for. No functional changes intended. llvm-svn: 198446
* Fix 80 col violation.Argyrios Kyrtzidis2014-01-031-1/+2
| | | | llvm-svn: 198444
* Pass the decl directly to the diagnostic, no need to call getDeclName().Argyrios Kyrtzidis2014-01-031-1/+1
| | | | llvm-svn: 198442
* Fixing a FIXME; the RetTy template parameter is always bool in practice, and ↵Aaron Ballman2014-01-031-48/+47
| | | | | | so it has been removed. No functional changes intended. llvm-svn: 198440
* Update for llvm's DataLayout including mangling information.Rafael Espindola2014-01-031-38/+57
| | | | llvm-svn: 198439
* Removed one of the string versions of getQualifiedNameAsString, and switched ↵Aaron Ballman2014-01-032-23/+34
| | | | | | over to using printQualifiedName where possible. No functional changes intended. llvm-svn: 198433
* [objc] Refactor and improve functionality for the -Wunused-property-ivar ↵Argyrios Kyrtzidis2014-01-039-54/+83
| | | | | | | | | | | | | | warning. - Remove the additions to ObjCMethodDecl & ObjCIVarDecl that were getting de/serialized and consolidate all functionality for the checking for this warning in Sema::DiagnoseUnusedBackingIvarInAccessor - Don't check immediately after the method body is finished, check when the @implementation is finished. This is so we can see if the ivar was referenced by any other method, even if the method was defined after the accessor. - Don't silence the warning if any method is called from the accessor silence it if the accessor delegates to another method via self. rdar://15727325 llvm-svn: 198432
* Reformat the description strings. No functionality change.Rafael Espindola2014-01-031-81/+33
| | | | llvm-svn: 198430
* Fixed a FIXME; created a print method for Selectors that accepts a ↵Aaron Ballman2014-01-0312-29/+49
| | | | | | | | raw_ostream, and started using it in places it made sense. No functional changes intended, just API cleanliness. llvm-svn: 198428
* Make clang::ento::CreateAnalysisConsumer a part of a public interface of the ↵Alexander Kornienko2014-01-033-45/+2
| | | | | | | | | | | | | | | | | | static analyzer. Summary: This allows for a better alternative to the FrontendAction hack used in clang-tidy in order to get static analyzer's ASTConsumer. Reviewers: jordan_rose, krememek Reviewed By: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2505 llvm-svn: 198426
* Simplifying the mutual exclusion check now that the diagnostics engine knows ↵Aaron Ballman2014-01-031-12/+7
| | | | | | how to handle Attr objects directly. Updates an associated test case due to the attribute name being properly quoted again. llvm-svn: 198424
* Using the proper helper function instead of manually doing this work. No ↵Aaron Ballman2014-01-031-2/+2
| | | | | | functional changes intended. llvm-svn: 198421
* Removing some more unnecessary manual quotes from diagnostics.Aaron Ballman2014-01-031-1/+1
| | | | llvm-svn: 198420
* Removing an unneeded typecast. getScopeRep() already returns a ↵Aaron Ballman2014-01-031-1/+1
| | | | | | NestedNameSpecifier. llvm-svn: 198419
* Removing some more unnecessary manual quotes from diagnostics.Aaron Ballman2014-01-032-2/+2
| | | | llvm-svn: 198418
* [OpenCL] Variables in the constant address space must be initialized.Joey Gouly2014-01-031-0/+10
| | | | llvm-svn: 198417
* Removing some more unnecessary manual quotes from diagnostics.Aaron Ballman2014-01-031-2/+2
| | | | llvm-svn: 198416
* It turns out the problem was a bit more wide-spread. Removing a lot of ↵Aaron Ballman2014-01-037-30/+20
| | | | | | | | unneeded typecasts. getScopeRep() already returns a NestedNameSpecifier. No functional changes intended. llvm-svn: 198414
* Removing an unneeded typecast. getScopeRep() already returns a ↵Aaron Ballman2014-01-031-1/+1
| | | | | | NestedNameSpecifier. llvm-svn: 198413
* Removing some more unnecessary manual quotes from diagnostics. Updated the ↵Aaron Ballman2014-01-031-1/+1
| | | | | | related test case to ensure correctness. llvm-svn: 198412
* clang-format: Recognize single-line macro usages inside macros.Daniel Jasper2014-01-031-1/+1
| | | | | | | | | | | | | | | | | Before: #define LIST(L) \ L(FirstElement) L(SecondElement) L(ThirdElement) L(FourthElement) \ L(FifthElement) After: #define LIST(L) \ L(FirstElement) \ L(SecondElement) \ L(ThirdElement) \ L(FourthElement) \ L(FifthElement) llvm-svn: 198407
* Removing some more unnecessary manual quotes from diagnostics.Aaron Ballman2014-01-031-2/+2
| | | | llvm-svn: 198395
* Removing some more unnecessary manual quotes from attribute diagnostics.Aaron Ballman2014-01-031-1/+1
| | | | llvm-svn: 198392
* Removing some more unnecessary manual quotes from attribute diagnostics.Aaron Ballman2014-01-031-1/+1
| | | | llvm-svn: 198391
* [analyzer] Don't track return value of NSNull +null for retain/release tracking.Ted Kremenek2014-01-031-0/+5
| | | | | | Fixes <rdar://problem/12858915>. llvm-svn: 198388
* Removing some more unnecessary manual quotes from attribute diagnostics.Aaron Ballman2014-01-032-5/+5
| | | | llvm-svn: 198387
* Remove unused variable to fix clang warningReid Kleckner2014-01-031-1/+0
| | | | llvm-svn: 198382
* [ms-cxxabi] Move VBTableBuilder from CodeGen over to AST/VTableBuilder.cppReid Kleckner2014-01-035-411/+369
| | | | | | | | | | | | | | | | | | | | | Summary: No functionality change. This code should live here long-term because we should be able to use it to compute correct vftable names. It turns out that the most natural way to implement the naming algorithm is to use a caching layer similar to what we already have for virtual table info in VTableContext. Subsequent changes will take advantage of this to fix PR17748, where we have a vbtable name collision. Reviewers: majnemer CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2499 llvm-svn: 198380
* Removed an unnecessary %select from the alignas diagnostics. The attribute ↵Aaron Ballman2014-01-022-7/+6
| | | | | | already knows how it was spelled. llvm-svn: 198375
* Removing some more unnecessary manual quotes from attribute diagnostics. ↵Aaron Ballman2014-01-021-2/+2
| | | | | | Updated the associated testcase because QualType pretty printing was an improvement. llvm-svn: 198372
* Removing some more unnecessary manual quotes from attribute diagnostics.Aaron Ballman2014-01-021-4/+4
| | | | llvm-svn: 198371
* ObjectiveC. Remove false positive warning for missing propertyFariborz Jahanian2014-01-024-4/+13
| | | | | | | backing ivar by not issuing this warning if ivar is referenced somewhere and accessor makes method calls. // rdar://15727325 llvm-svn: 198367
* Removing some manual quotes from this diagnostic, since the AST diagnostics ↵Aaron Ballman2014-01-021-1/+1
| | | | | | engine knows how to handle NamedDecl objects. llvm-svn: 198365
* Updated the wording of two attribute-related diagnostics so that they print ↵Aaron Ballman2014-01-022-9/+17
| | | | | | the offending attribute name. Also updates the associated test cases. llvm-svn: 198355
* Objective-C ARC++: Prefer references to __strong/__weak over ↵Douglas Gregor2014-01-021-0/+11
| | | | | | | | __unsafe_unretained. Fixes <rdar://problem/15713945>. llvm-svn: 198343
* Using the quoted version of an attribute name for consistency with other ↵Aaron Ballman2014-01-022-2/+2
| | | | | | attribute diagnostics. llvm-svn: 198326
* ObjectiveC. Class methods must be ignored when looking forFariborz Jahanian2014-01-021-1/+2
| | | | | | | property accessor's missing backing ivar. This eliminates the bogus warning being issued. // rdar://15728901 llvm-svn: 198322
* Remove a tab that snuck in.Roman Divacky2014-01-021-1/+1
| | | | llvm-svn: 198312
* In the FreeBSD assembler driver, inform the sparc assembler that we're producingRoman Divacky2014-01-021-0/+13
| | | | | | PIC code. llvm-svn: 198311
* Added an option to avoid splitting certain kinds of comments into lines.Alexander Kornienko2014-01-023-1/+10
| | | | | | | | | | | | | | Summary: Added CommentPragmas option for this. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2460 llvm-svn: 198310
* Verify that clang TargetInfo descriptions match DataLayout strings from LLVMAlp Toker2014-01-022-7/+20
| | | | | | | The backend string is only verified when available as it's possible to run clang IRGen for targets that haven't been built or don't exist in LLVM. llvm-svn: 198309
* Remove the now unused 's' specifications.Rafael Espindola2014-01-021-3/+3
| | | | llvm-svn: 198308
* Pass the aapcs and apcs features down to llvm.Rafael Espindola2014-01-021-0/+5
| | | | | | | No functionality change, but unblocks asserting that llvm's and clang's datalayout strings are the same. llvm-svn: 198306
* Eliminate UnaryTypeTraitExprAlp Toker2014-01-0116-133/+16
| | | | | | | | | | | | | Remove UnaryTypeTraitExpr and switch all remaining type trait related handling over to TypeTraitExpr. The UTT/BTT/TT enum prefix and evaluation code is retained pending further cleanup. This is part of the ongoing work to unify type traits following the removal of BinaryTypeTraitExpr in r197273. llvm-svn: 198271
* ExpectAndConsume: Diagnose errors automaticallyAlp Toker2014-01-0110-166/+157
| | | | | | | | | | | | | | 1) Teach ExpectAndConsume() to emit expected and expected-after diagnostics using the generic diagnostic descriptions added in r197972, eliminating another set of trivial err_expected_* variations while maintaining existing behaviour. 2) Lift SkipUntil() recovery out of ExpectAndConsume(). The Expect/Consume family of functions are primitive parser operations that now have the well-defined property of operating on single tokens. Factoring out recovery exposes opportunities for more consistent and tailored error recover at the call sites instead of just relying on a bottled SkipUntil formula. llvm-svn: 198270
* [OpenCL] Produce an error, instead of a warning, for sizeof(void) in OpenCL.Joey Gouly2013-12-311-2/+5
| | | | | | Patch by joey.gouly@arm.com llvm-svn: 198264
OpenPOWER on IntegriCloud