| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 126909
|
| |
|
|
| |
llvm-svn: 126907
|
| |
|
|
| |
llvm-svn: 126897
|
| |
|
|
| |
llvm-svn: 126890
|
| |
|
|
| |
llvm-svn: 126888
|
| |
|
|
|
|
|
| |
which is important for libclang's token-annotation and
where's-my-cursor functionality. Fixes <rdar://problem/9004439>.
llvm-svn: 126887
|
| |
|
|
|
|
| |
This reverts commit 126863.
llvm-svn: 126886
|
| |
|
|
| |
llvm-svn: 126884
|
| |
|
|
| |
llvm-svn: 126883
|
| |
|
|
|
|
|
| |
nested-name-specifier and improve the detection of implicit 'this'
bases. Fixes <rdar://problem/8750392>.
llvm-svn: 126880
|
| |
|
|
| |
llvm-svn: 126879
|
| |
|
|
|
|
| |
This reverts commit 126865.
llvm-svn: 126876
|
| |
|
|
|
|
| |
actually returns. Use this for -Wreturn-type to prune false positives reported in PR 6884.
llvm-svn: 126875
|
| |
|
|
| |
llvm-svn: 126874
|
| |
|
|
|
|
| |
// rdar://8604515.
llvm-svn: 126869
|
| |
|
|
| |
llvm-svn: 126865
|
| |
|
|
| |
llvm-svn: 126863
|
| |
|
|
|
|
|
|
|
|
| |
in order.
This fixes few blocks.exp regressions.
Reapply r126795 with a fix (one character change) for gdb testsuite regressions.
llvm-svn: 126858
|
| |
|
|
| |
llvm-svn: 126857
|
| |
|
|
|
|
|
|
|
|
| |
TreeTransform::TransformDependentTemplateSpecializationType() with
poor source-location information handling. All of the
CXXScopeSpec::MakeTrivial() and
NestedNameSpecifierLocBuilder::MakeTrivial() callers actually make
sense now.
llvm-svn: 126856
|
| |
|
|
|
|
| |
them, which are no longer used.
llvm-svn: 126855
|
| |
|
|
|
|
| |
nested-name-specifier source-location information in DependentTemplateSpecializationTypeLocs now
llvm-svn: 126854
|
| |
|
|
|
|
|
|
| |
source-location-preserving
TreeTransform::TranformNestedNameSpecifierLoc(). No functionality
change: the victim had no callers (that themselves had callers) anyway.
llvm-svn: 126853
|
| |
|
|
|
|
| |
poor source-location information.
llvm-svn: 126852
|
| |
|
|
|
|
| |
overloads (the one with the poor source-location information).
llvm-svn: 126851
|
| |
|
|
|
|
|
| |
that preserve source-location information. This commit adds more
redundancy than it removes; WIP.
llvm-svn: 126849
|
| |
|
|
| |
llvm-svn: 126848
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 126841
|
| |
|
|
|
|
|
| |
using a custom plural form. Split out the range diagnostics as their
own message.
llvm-svn: 126840
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
captured __block variables in the block-literal type.
llvm-svn: 126834
|
| |
|
|
|
|
|
| |
used for attributes that are okay to inherit when written on a parameter.
Dependent on LLVM r126827.
llvm-svn: 126828
|
| |
|
|
|
|
| |
whether C++ exceptions are enabled, not exceptions in general. PR9358.
llvm-svn: 126820
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
can't overflow due to promotion rules; emit a wrapping add for those cases.
llvm-svn: 126816
|
| |
|
|
| |
llvm-svn: 126810
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 126797
|
| |
|
|
|
|
|
|
| |
in order.
This fixes few blocks.exp regressions.
llvm-svn: 126795
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
and RHS are "unused" (side-effect free).
Patch by Justin Bogner! Fixes PR 8282.
llvm-svn: 126779
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 126772
|
| |
|
|
| |
llvm-svn: 126770
|
| |
|
|
| |
llvm-svn: 126767
|
| |
|
|
|
|
| |
accesses in ?: expressions.
llvm-svn: 126766
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Patch by Dimitry Andric!
llvm-svn: 126763
|