| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class.
llvm-svn: 139102
|
|
|
|
|
|
| |
parsing lambda expressions, from John Freeman!
llvm-svn: 135090
|
|
|
|
|
|
|
| |
as scope specifiers; diagnose the attempt, rather than letting it go
to an assert. The rest of PR10264.
llvm-svn: 134479
|
|
|
|
|
|
|
|
| |
When performing semantic analysis on a member declaration, fix the check for whether we are declaring a function to check for parenthesized declarators, declaration via decltype, etc.
Also fix the semantic check to not treat FuncType* as a function type.
llvm-svn: 133862
|
|
|
|
|
|
|
|
|
| |
declaration, determine whether the declaration will end up declaring a
function using semantic criteria (e.g., it will have function type)
rather than purely syntactic criteria (e.g., it has the form of a
function declarator). Fixes <rdar://problem/9670557>.
llvm-svn: 133854
|
|
|
|
|
|
|
|
|
|
| |
resources that, while their
lifetime is well-known and restricted, cleaning them up manually is easy to miss and cause a leak.
Use it to plug the leaking of TemplateIdAnnotation objects. rdar://9634138.
llvm-svn: 133610
|
|
|
|
|
|
|
|
| |
type that turns one type into another. This is used as the basis to
implement __underlying_type properly - with TypeSourceInfo and proper
behavior in the face of templates.
llvm-svn: 132017
|
|
|
|
| |
llvm-svn: 131633
|
|
|
|
|
|
| |
for them. The only major missing feature is references.
llvm-svn: 129234
|
|
|
|
| |
llvm-svn: 128279
|
|
|
|
|
|
| |
C++0x draft
llvm-svn: 128271
|
|
|
|
|
|
|
|
|
| |
AttributeLists do not accumulate over the lifetime of parsing, but are
instead reused. Also make the arguments array not require a separate
allocation, and make availability attributes store their stuff in
augmented memory, too.
llvm-svn: 128209
|
|
|
|
| |
llvm-svn: 127755
|
|
|
|
| |
llvm-svn: 127536
|
|
|
|
|
|
| |
keywords for Objective-C+ and C++0x.
llvm-svn: 127253
|
|
|
|
| |
llvm-svn: 127132
|
|
|
|
| |
llvm-svn: 127111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) When we do an instantiation of the injected-class-name type,
provide a proper source location. This is just plain good hygiene.
2) When we're building a NestedNameSpecifierLoc from a CXXScopeSpec,
only return an empty NestedNameSpecifierLoc if there's no
representation.
Both problems contributed to the horrible test case in PR9390 that I
couldn't reduce down to something palatable.
llvm-svn: 126961
|
|
|
|
|
|
|
|
|
|
| |
source-location information into a NestedNameSpecifierLocBuilder
class, which lives within the AST library and centralize all knowledge
of the format of nested-name-specifier location information here.
No functionality change.
llvm-svn: 126716
|
|
|
|
|
|
|
| |
tag definitions. Also, add support for template instantiation of
NestedNameSpecifierLocs.
llvm-svn: 126470
|
|
|
|
|
|
|
|
|
|
|
|
| |
nested-name-specifiers throughout the parser, and provide a new class
(NestedNameSpecifierLoc) that contains a nested-name-specifier along
with its type-source information.
Right now, this information is completely useless, because we don't
actually store the source-location information anywhere in the
AST. Call this Step 1/N.
llvm-svn: 126391
|
|
|
|
|
|
|
|
| |
way it keeps track of namespaces. Previously, we would map from the
namespace alias to its underlying namespace when building a
nested-name-specifier, losing source information in the process.
llvm-svn: 126358
|
|
|
|
|
|
|
|
|
| |
with another component in the nested-name-specifiers, updating its
representation (a NestedNameSpecifier) and source-location information
(currently a SourceRange) simultaneously. This is groundwork for
adding source-location information to nested-name-specifiers.
llvm-svn: 126346
|
|
|
|
| |
llvm-svn: 125399
|
|
|
|
| |
llvm-svn: 124276
|
|
|
|
| |
llvm-svn: 124036
|
|
|
|
| |
llvm-svn: 124035
|
|
|
|
| |
llvm-svn: 124032
|
|
|
|
|
|
|
| |
Enforce C++[class.mem]p8:
A virt-specifier-seq shall contain at most one of each virt-specifier.
llvm-svn: 123611
|
|
|
|
|
|
|
| |
on array and function declarators. This is pretty far from complete, and I'll
revisit it later if someone doesn't beat me to it.
llvm-svn: 122535
|
|
|
|
|
|
|
|
|
|
|
| |
-Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class.
-DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units.
-The rest of the state in Diagnostic object is considered related and tied to one translation unit.
-Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a
SourceLocation instead of a FullSourceLoc.
-Reflect the changes to various interfaces.
llvm-svn: 119730
|
|
|
|
|
|
|
|
|
|
| |
auto f(int) -> int
from Daniel Wallin!
(With a few minor bug fixes from me).
llvm-svn: 115322
|
|
|
|
|
|
| |
it might previously have been a tag TST.
llvm-svn: 112196
|
|
|
|
| |
llvm-svn: 111901
|
|
|
|
| |
llvm-svn: 111733
|
|
- move DeclSpec &c into the Sema library
- move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.
llvm-svn: 111667
|