llvm-project/clang/lib/Sema
Reid Kleckner 23f4c4b64f [ms-cxxabi] Destroy temporary record arguments in the callee
Itanium destroys them in the caller at the end of the full expression,
but MSVC destroys them in the callee.  This is further complicated by
the need to emit EH-only destructor cleanups in the caller.

This should help clang compile MSVC's debug iterators more correctly.
There is still an outstanding issue in PR5064 of a memcpy emitted by the
LLVM backend, which is not correct for C++ records.

Fixes PR16226.

Reviewers: rjmccall

Differential Revision: http://llvm-reviews.chandlerc.com/D929

llvm-svn: 184543
2013-06-21 12:45:15 +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 Re-commit r183466 with a fix to make the TypeLoc casting machinery work 2013-06-07 20:31:48 +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 Don't mark a type specifier as "owned" if there is no declaration to own. 2013-05-14 23:22:32 +00:00
DelayedDiagnostic.cpp objective-C: when diagnosing deprecated/unavailable usage of 2012-09-21 20:46:37 +00:00
IdentifierResolver.cpp Delete dead code. 2013-06-19 02:07:51 +00:00
JumpDiagnostics.cpp Fix a couple of bugs where jump diagnostics would not notice that a variable 2013-06-03 01:05:37 +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 Lazily provide a __float128 dummy type in -std=gnu++11 mode. 2013-06-20 21:44:55 +00:00
SemaAccess.cpp Test commit 2013-05-07 16:56:03 +00:00
SemaAttr.cpp Adding support for MSVC #pragma detect_mismatch functionality by emitting a FAILIFMISMATCH linker command into the object file. 2013-06-04 02:07:14 +00:00
SemaCXXScopeSpec.cpp Remove dead code. 2013-06-19 22:49:39 +00:00
SemaCast.cpp Remove dead code. 2013-06-20 18:53:21 +00:00
SemaChecking.cpp [ms-cxxabi] Destroy temporary record arguments in the callee 2013-06-21 12:45:15 +00:00
SemaCodeComplete.cpp ArrayRef'ize Sema::CodeComplete* 2013-06-16 03:47:57 +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 Improve diagnostic for redeclaring static member function. Fixes PR16382. 2013-06-19 22:43:55 +00:00
SemaDeclAttr.cpp Don't allow __attribute__((common)) in C++. PR16330. 2013-06-20 22:55:04 +00:00
SemaDeclCXX.cpp Clean up warning and add a test. 2013-06-20 20:58:02 +00:00
SemaDeclObjC.cpp Delete dead code. 2013-06-21 02:13:57 +00:00
SemaExceptionSpec.cpp PR12086, PR15117 2013-06-12 22:31:48 +00:00
SemaExpr.cpp Extend -Wnon-pod-varargs to check calls made from function pointers. 2013-06-20 21:03:13 +00:00
SemaExprCXX.cpp contextual conversion fix: C++98 compatibility warning. 2013-06-18 03:08:53 +00:00
SemaExprMember.cpp address some comments on r183474: 2013-06-07 22:29:12 +00:00
SemaExprObjC.cpp Objective-C: Fixes a typo correction bug where a 2013-06-18 17:10:58 +00:00
SemaFixItUtils.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaInit.cpp Add a workaround for a libstdc++-4.2 <tr1/hashtable> bug. This header uses 2013-06-20 02:18:31 +00:00
SemaLambda.cpp Unify return type checking for functions and ObjC methods. Move all the 2013-06-14 21:14:10 +00:00
SemaLookup.cpp Lazily provide a __float128 dummy type in -std=gnu++11 mode. 2013-06-20 21:44:55 +00:00
SemaObjCProperty.cpp Objective-C: Another case of issuing warning about misusing 2013-06-07 20:26:51 +00:00
SemaOpenMP.cpp OpenMP threadprivate with qualified names. 2013-05-13 04:18:18 +00:00
SemaOverload.cpp Introduce a new mangling for protocol-qualified ObjC types in C++. This allows 2013-06-18 22:41:37 +00:00
SemaPseudoObject.cpp address some comments on r183474: 2013-06-07 22:29:12 +00:00
SemaStmt.cpp Fix a crash with -Wassign-enum, where we didn't adjust the APInt type of the 2013-06-06 13:48:00 +00:00
SemaStmtAsm.cpp [ms-inline asm] Don't diagnose an empty lookup for inline assmebly. This happen 2013-05-24 18:32:55 +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 Use FPT::getArgTypes() instead of manually building ArrayRefs 2013-06-10 20:51:09 +00:00
SemaTemplateDeduction.cpp Implement most of N3638 (return type deduction for normal functions). 2013-05-04 07:00:32 +00:00
SemaTemplateInstantiate.cpp PR16243: Use CXXThisOverride during template instantiation, and fix up the 2013-06-07 02:33:37 +00:00
SemaTemplateInstantiateDecl.cpp Include the unexpanded packs in the initializer expression when checking a 2013-06-13 00:45:47 +00:00
SemaTemplateVariadic.cpp Fix one place I missed that was memcpy'ing TypeLocs in a way that messes 2013-06-20 04:11:21 +00:00
SemaType.cpp Lazily provide a __float128 dummy type in -std=gnu++11 mode. 2013-06-20 21:44:55 +00:00
TargetAttributesSema.cpp Warn on and drop dllimport attrs from variable definitions 2013-05-20 21:53:29 +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 Fix one place I missed that was memcpy'ing TypeLocs in a way that messes 2013-06-20 04:11:21 +00:00
TypeLocBuilder.cpp Add missing file from r183563 (the recommit of 183466). 2013-06-07 20:33:10 +00:00
TypeLocBuilder.h Re-commit r183466 with a fix to make the TypeLoc casting machinery work 2013-06-07 20:31:48 +00:00