|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 142478 | 
| | 
| 
| 
| 
| 
| | 'char32_t', 'constexpr', 'decltype', 'noexcept', 'nullptr' and 'static_assert'.
llvm-svn: 142302 | 
| | 
| 
| 
| 
| 
| | Lack of half FP was a regression compared to llvm-gcc.
llvm-svn: 142016 | 
| | 
| 
| 
| 
| 
| 
| 
| | committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
Thanks to Jeffrey Yasskin for the thorough review!
llvm-svn: 141330 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | which enables support for C99 storage-class specifiers.
This extension is intended to be used by implementations to implement
OpenCL C built-in functions.
llvm-svn: 141271 | 
| | 
| 
| 
| | llvm-svn: 140478 | 
| | 
| 
| 
| | llvm-svn: 140367 | 
| | 
| 
| 
| 
| 
| | It already works (and is useful with) macro locs as well.
llvm-svn: 140057 | 
| | 
| 
| 
| 
| 
| 
| 
| | that this flag must be used only for Microsoft extensions and not emulation; to avoid confusion with the new LangOptions::MicrosoftMode flag.
Many of the code now under LangOptions::MicrosoftExt will eventually be moved under the LangOptions::MicrosoftMode flag.
llvm-svn: 139987 | 
| | 
| 
| 
| 
| 
| 
| | declaration may be the first declaration, we want the ability to that
declaration to be marked module-private.
llvm-svn: 139497 | 
| | 
| 
| 
| | llvm-svn: 139411 | 
| | 
| 
| 
| 
| 
| 
| | indicates that a declaration is only visible within the module it is
declared in.
llvm-svn: 139348 | 
| | 
| 
| 
| 
| 
| | 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 |