llvm-project/clang/lib/Sema
Richard Smith 2ddcbab8ff Ugly ugly hack for libstdc++-4.6 and libstdc++-4.7 compatibility. These
libraries have an incorrect definition of std::common_type (inherited from a
bug in the standard -- see LWG issue 2141), whereby they produce reference
types when they should not.

If we instantiate a typedef named std::common_type<...>::type, which is defined
in a system header as decltype(... ? ... : ...), and the decltype produces a
reference type, convert it to the non-reference type. (This doesn't affect any
LWG2141-conforming implementation of common_type, such as libc++'s, because the
default implementation of common_type<...>::type isn't supposed to produce a
reference type.)

This is horrible. I'm really sorry. :( Better ideas appreciated!

llvm-svn: 166455
2012-10-23 00:32:41 +00:00
..
AnalysisBasedWarnings.cpp -Warc-repeated-use-of-weak: Don't warn on a single read followed by writes. 2012-10-11 16:10:19 +00:00
AttributeList.cpp Add support for "type safety" attributes that allow checking that 'void *' 2012-08-17 00:08:38 +00:00
CMakeLists.txt From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +00:00
CodeCompleteConsumer.cpp [libclang] Remove the ParentKind cursor kind from code-completion results. 2012-09-26 16:39:56 +00:00
DeclSpec.cpp DR1528: C++11 doesn't allow repeated cv-qualifiers in declarators after all. 2012-10-17 23:31:46 +00:00
DelayedDiagnostic.cpp objective-C: when diagnosing deprecated/unavailable usage of 2012-09-21 20:46:37 +00:00
IdentifierResolver.cpp Revert Decl's iterators back to pointer value_type rather than reference value_type 2012-06-06 20:45:41 +00:00
JumpDiagnostics.cpp During jump-scope checking, build an ExprWithCleanups immediately 2012-09-25 06:56:03 +00:00
Makefile
MultiplexExternalSemaSource.cpp From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +00:00
Scope.cpp Reapply r151638 and r151641. 2012-02-29 10:24:19 +00:00
ScopeInfo.cpp -Warc-repeated-use-of-weak: fix a use-of-uninitialized and add a test case. 2012-10-11 17:02:00 +00:00
Sema.cpp From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +00:00
SemaAccess.cpp Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 2012-09-27 10:16:10 +00:00
SemaAttr.cpp Permanently end the whole "pragma got handled by the parser too early" 2012-10-04 02:36:51 +00:00
SemaCXXScopeSpec.cpp Fix typo correction of one qualified name to another. 2012-10-12 20:00:44 +00:00
SemaCast.cpp Implement GCC's -Wint-to-pointer-cast. 2012-10-16 18:53:14 +00:00
SemaChecking.cpp Add null check for malformed code. 2012-10-11 19:06:43 +00:00
SemaCodeComplete.cpp From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +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 Rework implementation of DR1492: Apply the resolution to operator delete too, 2012-10-20 08:26:51 +00:00
SemaDeclAttr.cpp Add pnaclcall convention to Native Client targets. 2012-10-16 22:30:41 +00:00
SemaDeclCXX.cpp Rework implementation of DR1492: Apply the resolution to operator delete too, 2012-10-20 08:26:51 +00:00
SemaDeclObjC.cpp Allow objc_requires_super to be used to check class methods as well. 2012-10-19 16:05:26 +00:00
SemaExceptionSpec.cpp Rework implementation of DR1492: Apply the resolution to operator delete too, 2012-10-20 08:26:51 +00:00
SemaExpr.cpp Unrevert r166268, reverted in r166272, with a fix for the issue which Nick 2012-10-21 03:28:35 +00:00
SemaExprCXX.cpp Add codegen support for __uuidof(). 2012-10-11 10:13:44 +00:00
SemaExprMember.cpp From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +00:00
SemaExprObjC.cpp Allow objc_requires_super to be used to check class methods as well. 2012-10-19 16:05:26 +00:00
SemaFixItUtils.cpp Drop the ASTContext.h include from Stmt.h and fix up transitive users. 2012-07-04 17:04:04 +00:00
SemaInit.cpp PR14021: Copy lookup results to ensure safe iteration. 2012-10-18 16:57:32 +00:00
SemaLambda.cpp Handle lambdas where the lambda-declarator is an explicit "(void)". PR13854. 2012-09-20 01:40:23 +00:00
SemaLookup.cpp DR1442: In a range-based for statement, namespace 'std' is not an associated 2012-10-18 17:56:02 +00:00
SemaObjCProperty.cpp Fix Objective-C implicit property synthesis for C++ classes so we use valid 2012-10-18 20:14:08 +00:00
SemaOverload.cpp DR1442: In a range-based for statement, namespace 'std' is not an associated 2012-10-18 17:56:02 +00:00
SemaPseudoObject.cpp Rename ObjCMethodDecl::isSynthesized to isPropertyAccessor. 2012-10-10 16:42:25 +00:00
SemaStmt.cpp Fixed LabelDecl source range. 2012-10-15 21:07:44 +00:00
SemaStmtAsm.cpp Move private classes into anonymous namespaces. 2012-10-20 13:02:06 +00:00
SemaStmtAttr.cpp Improve C++11 attribute parsing. 2012-10-03 01:56:22 +00:00
SemaTemplate.cpp Fix typo correction of one qualified name to another. 2012-10-12 20:00:44 +00:00
SemaTemplateDeduction.cpp Fix the AST representation for non-type template arguments to encode 2012-09-26 02:36:12 +00:00
SemaTemplateInstantiate.cpp Fix template instantiation of attributes. More specifically, fix the case 2012-09-26 17:57:31 +00:00
SemaTemplateInstantiateDecl.cpp Ugly ugly hack for libstdc++-4.6 and libstdc++-4.7 compatibility. These 2012-10-23 00:32:41 +00:00
SemaTemplateVariadic.cpp Improved MSVC __interface support by adding first class support for it, instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. 2012-08-31 18:45:21 +00:00
SemaType.cpp Rework implementation of DR1492: Apply the resolution to operator delete too, 2012-10-20 08:26:51 +00:00
TargetAttributesSema.cpp Reapply r158700 and fixup patches, minus one hunk that slipped through and 2012-06-19 23:57:03 +00:00
TargetAttributesSema.h Remove Sema.h's dependency on DeclCXX.h. 2010-08-25 07:42:41 +00:00
TreeTransform.h Unrevert r166268, reverted in r166272, with a fix for the issue which Nick 2012-10-21 03:28:35 +00:00
TypeLocBuilder.h Remove more unnecessary #include <llvm/ADT/SmallVector.h> 2011-06-20 06:11:46 +00:00