llvm-project/clang/lib/Sema
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
..
AnalysisBasedWarnings.cpp Thread safety analysis: turn on checking within lock and unlock functions. 2013-04-08 20:11:11 +00:00
AttributeList.cpp Basic support for Microsoft property declarations and 2013-04-16 07:28:30 +00:00
CMakeLists.txt OpenMP threadprivate directive parsing and semantic analysis 2013-03-22 06:34:35 +00:00
CodeCompleteConsumer.cpp Allow the computation of the base priority for a declaration code completion result to consider the completion context 2013-01-31 04:52:16 +00:00
DeclSpec.cpp Fix PR15845: apparently MSVC does not support implicit int in C++ mode. 2013-04-30 22:43:51 +00:00
DelayedDiagnostic.cpp objective-C: when diagnosing deprecated/unavailable usage of 2012-09-21 20:46:37 +00:00
IdentifierResolver.cpp [Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/13189985>. 2013-02-11 18:16:18 +00:00
JumpDiagnostics.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
Makefile
MultiplexExternalSemaSource.cpp Simplify FindExternalVisibleDeclsByName by making it return a bool indicating 2013-02-07 03:30:24 +00:00
Scope.cpp Reapply r151638 and r151641. 2012-02-29 10:24:19 +00:00
ScopeInfo.cpp Sema for Captured Statements 2013-04-16 19:37:38 +00:00
Sema.cpp Fix very confusing indent in Sema.cpp. 2013-04-30 06:43:16 +00:00
SemaAccess.cpp Implement DR580: access checks for template parameters of a class template are 2013-04-29 10:13:55 +00:00
SemaAttr.cpp Add a new 'type_visibility' attribute to allow users to 2013-02-20 01:54:26 +00:00
SemaCXXScopeSpec.cpp Remove some no-op static_casts. 2013-03-26 00:54:11 +00:00
SemaCast.cpp Provide a fixit to static_cast for reinterpret_casts within a class hierarchy. 2013-03-28 19:09:40 +00:00
SemaChecking.cpp c language: diagnose use of "[*]" on any array dimension 2013-04-29 22:01:25 +00:00
SemaCodeComplete.cpp Enhance the ObjC global method pool to record whether there were 0, 1, or >= 2 methods (with a particular selector) inside categories. 2013-04-17 00:08:58 +00:00
SemaConsumer.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SemaDecl.cpp Use attribute argument information to determine when to parse attribute arguments as expressions. 2013-05-02 23:25:32 +00:00
SemaDeclAttr.cpp Basic support for Microsoft property declarations and 2013-04-16 07:28:30 +00:00
SemaDeclCXX.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaDeclObjC.cpp Fix an assertion hit in Sema::CheckObjCMethodOverrides. 2013-04-27 00:10:12 +00:00
SemaExceptionSpec.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
SemaExpr.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaExprCXX.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaExprMember.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaExprObjC.cpp Point diagnostics that complain about a use of a selector in an objc message, to the selector location. 2013-05-01 00:24:09 +00:00
SemaFixItUtils.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaInit.cpp C++1y: support simple variable assignments in constexpr functions. 2013-04-26 14:36:30 +00:00
SemaLambda.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaLookup.cpp Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there 2013-04-30 13:56:41 +00:00
SemaObjCProperty.cpp Objective-C: This is a small modification to my 2013-04-25 21:59:34 +00:00
SemaOpenMP.cpp Annotate flavor of TLS variable (statically or dynamically initialized) onto the AST. 2013-04-13 02:43:54 +00:00
SemaOverload.cpp Use ArrayRef in AddMethodCandidate. 2013-04-29 19:29:25 +00:00
SemaPseudoObject.cpp Don't put too much thought into whether or not to capture a 2013-04-16 22:32:04 +00:00
SemaStmt.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaStmtAsm.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaStmtAttr.cpp PR15300: Support C++11 attributes on base-specifiers. We don't support any such 2013-02-19 23:47:15 +00:00
SemaTemplate.cpp When modifying an implicit instantiation with information from an explicit one, make sure to reset the "right brace" location. 2013-04-22 23:23:42 +00:00
SemaTemplateDeduction.cpp When deducing an 'auto' type, don't modify the type-as-written. 2013-04-30 21:23:01 +00:00
SemaTemplateInstantiate.cpp Sema: Give a typically small DenseMap some inline capacity. 2013-04-12 15:22:25 +00:00
SemaTemplateInstantiateDecl.cpp ArrayRef'ize Sema::ActOnEnumBody. No functionality change. 2013-04-27 20:23:52 +00:00
SemaTemplateVariadic.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
SemaType.cpp Fix PR15845: apparently MSVC does not support implicit int in C++ mode. 2013-04-30 22:43:51 +00:00
TargetAttributesSema.cpp PR14922: when printing an attribute, use the real syntax of the attribute (GNU, C++11, MS Declspec) instead of hardcoded GNU syntax. 2013-01-24 16:46:58 +00:00
TargetAttributesSema.h Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here. 2012-12-20 19:22:21 +00:00
TreeTransform.h Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
TypeLocBuilder.h Replace TypeLoc llvm::cast support to be well-defined. 2013-02-18 22:06:02 +00:00