llvm-project/clang/lib/AST
John McCall f413f5ed44 Move parsing of identifiers in MS-style inline assembly into
the actual parser and support arbitrary id-expressions.

We're actually basically set up to do arbitrary expressions here
if we wanted to.

Assembly operands permit things like A::x to be written regardless
of language mode, which forces us to embellish the evaluation
context logic somewhat.  The logic here under template instantiation
is incorrect;  we need to preserve the fact that an expression was
unevaluated.  Of course, template instantiation in general is fishy
here because we have no way of delaying semantic analysis in the
MC parser.  It's all just fishy.

I've also fixed the serialization of MS asm statements.

This commit depends on an LLVM commit.

llvm-svn: 180976
2013-05-03 00:10:13 +00:00
..
APValue.cpp Don't crash while printing APValues that are lvalues casted to a 2013-01-29 01:26:43 +00:00
ASTConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTContext.cpp [document parsing]: support c++11 type aliases 2013-05-02 15:44:16 +00:00
ASTDiagnostic.cpp Refactor the Get* functions to be more consistant among themselves. 2013-04-03 03:06:48 +00:00
ASTDumper.cpp Annotate flavor of TLS variable (statically or dynamically initialized) onto the AST. 2013-04-13 02:43:54 +00:00
ASTImporter.cpp In the ASTImporter, when checking whether two 2013-04-26 22:49:25 +00:00
AttrImpl.cpp [ms-cxxabi] Give the MS inheritance attributes a base class 2013-03-26 18:30:28 +00:00
CMakeLists.txt OpenMP threadprivate directive parsing and semantic analysis 2013-03-22 06:34:35 +00:00
CXXABI.h [ms-cxxabi] Correctly compute the size of member pointers 2013-03-28 20:02:56 +00:00
CXXInheritance.cpp Fix Cast 2013-01-15 22:09:40 +00:00
Comment.cpp Replace TypeLoc llvm::cast support to be well-defined. 2013-02-18 22:06:02 +00:00
CommentBriefParser.cpp Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
CommentCommandTraits.cpp Comment parsing: add CommentOptions to allow specifying custom comment block commands 2013-02-22 14:21:27 +00:00
CommentLexer.cpp Comment parsing: refactor handling of command markers in AST 2013-03-04 23:06:15 +00:00
CommentParser.cpp Comment parsing: simplify code. As a side effect, this also silences GCC's 2013-04-18 20:50:35 +00:00
CommentSema.cpp documentation comment parsing. Added couple of 2013-03-18 23:45:52 +00:00
Decl.cpp Add r180263 back, but fix hasBraces() to be correct during parsing. 2013-04-26 01:30:23 +00:00
DeclBase.cpp Sema for Captured Statements 2013-04-16 19:37:38 +00:00
DeclCXX.cpp Add r180263 back, but fix hasBraces() to be correct during parsing. 2013-04-26 01:30:23 +00:00
DeclFriend.cpp Added outer template parameter lists to friend type AST nodes. 2013-01-31 09:54:08 +00:00
DeclGroup.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclObjC.cpp Objective-C: This is a small modification to my 2013-04-25 21:59:34 +00:00
DeclOpenMP.cpp OpenMP threadprivate directive parsing and semantic analysis 2013-03-22 06:34:35 +00:00
DeclPrinter.cpp [documenting declaration]: Remove arc liftime qualifiers 2013-05-01 20:53:21 +00:00
DeclTemplate.cpp Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList. 2013-02-22 15:46:01 +00:00
DeclarationName.cpp Don't include Type.h in DeclarationName.h. 2012-12-01 16:35:25 +00:00
DumpXML.cpp Revert r175912, "Add support for coldcc to clang" at John's request. 2013-02-23 00:06:18 +00:00
Expr.cpp C++1y constexpr extensions, round 1: Allow most forms of declaration and 2013-04-22 15:31:51 +00:00
ExprCXX.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
ExprClassification.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
ExprConstant.cpp PR15884: In the 'taking the address of a temporary' extension, materialize the 2013-05-01 19:00:39 +00:00
ExternalASTSource.cpp Simplify FindExternalVisibleDeclsByName by making it return a bool indicating 2013-02-07 03:30:24 +00:00
InheritViz.cpp Remove an unneeded const_cast 2013-01-14 00:25:25 +00:00
ItaniumCXXABI.cpp [ms-cxxabi] Correctly compute the size of member pointers 2013-03-28 20:02:56 +00:00
ItaniumMangle.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
LambdaMangleContext.cpp ArrayRef-ize ASTContext::getFunctionType and Sema::BuildFunctionType. 2013-03-08 21:51:21 +00:00
Makefile
Mangle.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
MicrosoftCXXABI.cpp [ms-cxxabi] Implement member pointer emission and dereferencing 2013-04-11 18:13:19 +00:00
MicrosoftMangle.cpp [ms-cxxabi] Fix a number of bugs in the mangler. 2013-04-25 04:25:40 +00:00
NSAPI.cpp Use None rather than Optional<T>() where possible. 2013-02-21 01:47:18 +00:00
NestedNameSpecifier.cpp Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList. 2013-02-22 15:46:01 +00:00
ParentMap.cpp ParentMap: Restore the ability to update an existing map. 2012-10-06 01:19:36 +00:00
RawCommentList.cpp Comment parsing: -fparse-all-comments: recognize empty line comments 2013-04-26 20:12:49 +00:00
RecordLayout.cpp First pass at abstracting out a class for the target C++ ABI. 2013-01-25 22:30:49 +00:00
RecordLayoutBuilder.cpp Abstract the behavior of when to use base-class tail padding. 2013-01-29 01:14:22 +00:00
SelectorLocationsKind.cpp Fix crash when using archaic protocol, rdar://10238337 2011-10-05 21:28:06 +00:00
Stmt.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
StmtIterator.cpp Support for C++11 (non-template) alias declarations. 2011-04-15 14:24:37 +00:00
StmtPrinter.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
StmtProfile.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
StmtViz.cpp
TemplateBase.cpp Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList. 2013-02-22 15:46:01 +00:00
TemplateName.cpp Add quotation marks to template names in diagnostics. 2013-03-05 06:21:38 +00:00
Type.cpp Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there 2013-04-30 13:56:41 +00:00
TypeLoc.cpp Rename TypeLoc's isType to isKind 2013-02-21 01:47:08 +00:00
TypePrinter.cpp Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there 2013-04-30 13:56:41 +00:00
VTTBuilder.cpp Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used instead. 2012-07-04 18:45:14 +00:00
VTableBuilder.cpp Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058 2013-02-13 08:37:51 +00:00