summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Teach CFGImplicitDtor::getDestructorDecl() about reference types.Ted Kremenek2011-03-031-2/+3
| | | | llvm-svn: 126909
* Let's go with John and Ted's preferred fix.Matt Beaumont-Gay2011-03-031-1/+2
| | | | llvm-svn: 126907
* Keep GCC from complaining about falling off the end of the function.Matt Beaumont-Gay2011-03-021-0/+1
| | | | llvm-svn: 126897
* Fix a typo.Dan Gohman2011-03-021-1/+1
| | | | llvm-svn: 126890
* Remove cruftDouglas Gregor2011-03-021-9/+0
| | | | llvm-svn: 126888
* Force CaseStmt to store its child statements in source-code order,Douglas Gregor2011-03-021-0/+9
| | | | | | | which is important for libclang's token-annotation and where's-my-cursor functionality. Fixes <rdar://problem/9004439>. llvm-svn: 126887
* Revert "Add CC_Win64ThisCall and set it in the necessary places."Tilmann Scheller2011-03-0214-105/+39
| | | | | | This reverts commit 126863. llvm-svn: 126886
* Apply sysroot to system c++ headers too. Fixes PR9372.Rafael Espindola2011-03-021-1/+1
| | | | llvm-svn: 126884
* Only emit string initializers in-place if types match. Fixes PR9373.Benjamin Kramer2011-03-021-1/+1
| | | | llvm-svn: 126883
* Fix the source range for a member access expression that includes aDouglas Gregor2011-03-022-37/+60
| | | | | | | nested-name-specifier and improve the detection of implicit 'this' bases. Fixes <rdar://problem/8750392>. llvm-svn: 126880
* Work around a misdesigned GCC warning.John McCall2011-03-021-1/+1
| | | | llvm-svn: 126879
* Revert "Add preliminary support for MSVC-style vtables."Tilmann Scheller2011-03-021-61/+2
| | | | | | This reverts commit 126865. llvm-svn: 126876
* Introduce CFGImplicitDtor::isNoReturn() to query whether a destructor ↵Ted Kremenek2011-03-022-1/+49
| | | | | | actually returns. Use this for -Wreturn-type to prune false positives reported in PR 6884. llvm-svn: 126875
* revert r126858.Devang Patel2011-03-025-27/+20
| | | | llvm-svn: 126874
* IRGen. Fix IR when message returns reference type.Fariborz Jahanian2011-03-021-0/+3
| | | | | | // rdar://8604515. llvm-svn: 126869
* Add preliminary support for MSVC-style vtables.Tilmann Scheller2011-03-021-2/+61
| | | | llvm-svn: 126865
* Add CC_Win64ThisCall and set it in the necessary places.Tilmann Scheller2011-03-0214-39/+105
| | | | llvm-svn: 126863
* Encode argument numbering in debug info so that code generator can emit them ↵Devang Patel2011-03-025-20/+27
| | | | | | | | | | in order. This fixes few blocks.exp regressions. Reapply r126795 with a fix (one character change) for gdb testsuite regressions. llvm-svn: 126858
* Eliminate an unnecessary TemporaryBase object from TreeTransformDouglas Gregor2011-03-021-2/+0
| | | | llvm-svn: 126857
* Kill off theDouglas Gregor2011-03-021-65/+0
| | | | | | | | | | TreeTransform::TransformDependentTemplateSpecializationType() with poor source-location information handling. All of the CXXScopeSpec::MakeTrivial() and NestedNameSpecifierLocBuilder::MakeTrivial() callers actually make sense now. llvm-svn: 126856
* Eliminate TreeTransform::RebuildNestedNameSpecifier(), all four ofDouglas Gregor2011-03-021-96/+0
| | | | | | them, which are no longer used. llvm-svn: 126855
* Eliminate an unnecessary use of CXXScopeSpec::MakeTrivial. We have proper ↵Douglas Gregor2011-03-021-3/+1
| | | | | | nested-name-specifier source-location information in DependentTemplateSpecializationTypeLocs now llvm-svn: 126854
* Kill off TreeTransform::TransformNestedNameSpecifier() in favor of theDouglas Gregor2011-03-022-121/+1
| | | | | | | | source-location-preserving TreeTransform::TranformNestedNameSpecifierLoc(). No functionality change: the victim had no callers (that themselves had callers) anyway. llvm-svn: 126853
* Kill off the TreeTransform::TransformTemplateName overload that hasDouglas Gregor2011-03-023-187/+20
| | | | | | poor source-location information. llvm-svn: 126852
* Kill off one of the TreeTransform::TransformTypeInObjectScope()Douglas Gregor2011-03-021-91/+65
| | | | | | overloads (the one with the poor source-location information). llvm-svn: 126851
* Start migrating TreeTransform's TransformTemplateName over to versionDouglas Gregor2011-03-022-74/+218
| | | | | | | that preserve source-location information. This commit adds more redundancy than it removes; WIP. llvm-svn: 126849
* Revert r126794.Devang Patel2011-03-025-27/+20
| | | | llvm-svn: 126848
* Push nested-name-specifier source location information into templateDouglas Gregor2011-03-027-45/+104
| | | | | | | | | | | | template arguments. I believe that this is the last place in the AST where we were storing a source range for a nested-name-specifier rather than a proper nested-name-specifier location structure. (Yay!) There is still a lot of cleanup to do in the TreeTransform, which doesn't take advantage of nested-name-specifiers with source-location information everywhere it could. llvm-svn: 126844
* Don't hard-code these constants, or at least don't hard-code them so hard.John McCall2011-03-021-40/+60
| | | | llvm-svn: 126841
* Pretty up the wrong-number-of-arguments-for-attribute diagnostic byJohn McCall2011-03-021-14/+9
| | | | | | | using a custom plural form. Split out the range diagnostics as their own message. llvm-svn: 126840
* Provide an attribute, objc_method_family, to allow the inferred familyJohn McCall2011-03-024-0/+66
| | | | | | | | | | of an Objective-C method to be overridden on a case-by-case basis. This is a higher-level tool than ns_returns_retained &c.; it lets users specify that not only does a method have different retain/release semantics, but that it semantically acts differently than one might assume from its name. This in turn is quite useful to static analysis. llvm-svn: 126839
* Hack in something so that we emit better debug information aboutJohn McCall2011-03-021-3/+17
| | | | | | captured __block variables in the block-literal type. llvm-svn: 126834
* Support a new InheritableAttr subclass, InheritableParamAttr, which isJohn McCall2011-03-022-22/+69
| | | | | | | used for attributes that are okay to inherit when written on a parameter. Dependent on LLVM r126827. llvm-svn: 126828
* Semantic checking for exception specifications should be triggered byJohn McCall2011-03-021-3/+3
| | | | | | whether C++ exceptions are enabled, not exceptions in general. PR9358. llvm-svn: 126820
* When we're substituting into a parameter-type-list nested inside the patternDouglas Gregor2011-03-022-12/+26
| | | | | | | | of an expansion, and we have a paramameter that is not a parameter pack, don't suppress substitution of parameter packs within this context. llvm-svn: 126819
* Move some of the logic about classifying Objective-C methods intoJohn McCall2011-03-025-81/+141
| | | | | | | | conventional categories into Basic and AST. Update the self-init checker to use this logic; CFRefCountChecker is complicated enough that I didn't want to touch it. llvm-svn: 126817
* PR9350: increment/decrement of char (and anything else narrower than int)Eli Friedman2011-03-021-3/+5
| | | | | | can't overflow due to promotion rules; emit a wrapping add for those cases. llvm-svn: 126816
* build: Allow disabling movt/movw from build, for testing purposes.Daniel Dunbar2011-03-021-0/+6
| | | | llvm-svn: 126810
* Push nested-name-specifier source-location information into dependentDouglas Gregor2011-03-0210-82/+146
| | | | | | | | | | | | | | | | | | | | | | | | template specialization types. This also required some parser tweaks, since we were losing track of the nested-name-specifier's source location information in several places in the parser. Other notable changes this required: - Sema::ActOnTagTemplateIdType now type-checks and forms the appropriate type nodes (+ source-location information) for an elaborated-type-specifier ending in a template-id. Previously, we used a combination of ActOnTemplateIdType and ActOnTagTemplateIdType that resulted in an ElaboratedType wrapped around a DependentTemplateSpecializationType, which duplicated the keyword ("class", "struct", etc.) and nested-name-specifier storage. - Sema::ActOnTemplateIdType now gets a nested-name-specifier, which it places into the returned type-source location information. - Sema::ActOnDependentTag now creates types with source-location information. llvm-svn: 126808
* Teach CFGBuilder to prune trivially unreachable case statements.Ted Kremenek2011-03-012-38/+110
| | | | llvm-svn: 126797
* Encode argument numbering in debug info so that code generator can emit them ↵Devang Patel2011-03-015-20/+27
| | | | | | | | in order. This fixes few blocks.exp regressions. llvm-svn: 126795
* Since getDriver().getInstalledDir() returns a const char *, don't try toBenjamin Kramer2011-03-011-3/+3
| | | | | | | | | | | | | compare it with getDriver().Dir.c_str(), since that is a pointer comparison, not a "are these strings equal" comparison. Instead, just compare with getDriver().Dir directly, so both sides will get promoted to std::string, and the regular std::string comparison operator applies. Patch by Dimitry Andric! llvm-svn: 126791
* Don't warn about unused values in ternary ?: expressions unless both the LHS ↵Ted Kremenek2011-03-011-5/+7
| | | | | | | | and RHS are "unused" (side-effect free). Patch by Justin Bogner! Fixes PR 8282. llvm-svn: 126779
* Push nested-name-specifier source-location information into dependentDouglas Gregor2011-03-017-22/+144
| | | | | | | | template specialization types. There are still a few rough edges to clean up with some of the parser actions dropping nested-name-specifiers too early. llvm-svn: 126776
* Revert 123553, as sys::fs::unique_file is not finished yet.Dan Gohman2011-03-011-17/+22
| | | | llvm-svn: 126772
* Don't warning about shifting by too many bits in dead code.Ted Kremenek2011-03-011-1/+3
| | | | llvm-svn: 126770
* Driver/Darwin: Be bug compatible with GCC and ignore -pg on ARM.Daniel Dunbar2011-03-013-3/+13
| | | | llvm-svn: 126767
* For C++, enhance -Warray-bounds to recursively analyze array subscript ↵Ted Kremenek2011-03-013-22/+41
| | | | | | accesses in ?: expressions. llvm-svn: 126766
* Reinstate the introduction of source-location information forDouglas Gregor2011-03-0114-39/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | nested-name-speciciers within elaborated type names, e.g., enum clang::NestedNameSpecifier::SpecifierKind Fixes in this iteration include: (1) Compute the type-source range properly for a dependent template specialization type that starts with "template template-id ::", as in a member access expression dep->template f<T>::f() This is a latent bug I triggered with this change (because now we're checking the computed source ranges for dependent template specialization types). But the real problem was... (2) Make sure to set the qualifier range on a dependent template specialization type appropriately. This will go away once we push nested-name-specifier locations into dependent template specialization types, but it was the source of the valgrind errors on the buildbots. llvm-svn: 126765
* The default CPU on FreeBSD for i386 should be i486, not pentium4.Roman Divacky2011-03-011-0/+5
| | | | | | Patch by Dimitry Andric! llvm-svn: 126763
OpenPOWER on IntegriCloud