llvm-project/clang/lib
Reid Kleckner 9d03109233 Fix argument expansion of reference fields of structs
r268261 made Clang "expand" more struct arguments on Windows. It removed
the check for 'RD->isCLike()', which was preventing us from attempting
to expand structs with reference type fields.

Our expansion code was attempting to load and pass each field of the
type in turn. We were accidentally doing one to many loads on reference
type fields.

On the function prologue side, we can use
EmitLValueForFieldInitialization, which obviously gets the address of
the field. On the call side, I tweaked EmitRValueForField directly,
since this is the only use of this method.

Fixes PR27607

llvm-svn: 268321
2016-05-02 22:42:34 +00:00
..
ARCMigrate Fix some Clang-tidy readability-redundant-control-flow warnings; other minor fixes. 2016-02-10 19:11:58 +00:00
AST [CUDA] Make sure device-side __global__ functions are always visible. 2016-05-02 20:30:03 +00:00
ASTMatchers [ASTMatchers] Do not try to memoize nodes we can't compare. 2016-04-19 15:52:56 +00:00
Analysis Check 'r' and 'y specifiers of freebsd_kernel_printf format strings on PS4 2016-04-26 23:19:00 +00:00
Basic [CUDA] Copy host builtin types to NVPTXTargetInfo. 2016-04-29 23:05:19 +00:00
CodeGen Fix argument expansion of reference fields of structs 2016-05-02 22:42:34 +00:00
Driver Revert "[Driver] Quote clang full version in dwarf producer when invoking cc1as" 2016-05-02 20:20:49 +00:00
Edit Remove autoconf support 2016-01-26 21:30:40 +00:00
Format removed redundant '#' 2016-04-28 07:52:06 +00:00
Frontend [CUDA] Copy host builtin types to NVPTXTargetInfo. 2016-04-29 23:05:19 +00:00
FrontendTool Make it possible for AST plugins to enable themselves by default 2016-03-15 12:51:40 +00:00
Headers [CLANG][AVX512][BUILTIN]movap{d|s}{128|256|512} 2016-05-02 14:02:01 +00:00
Index [index] Add SymbolSubKinds for ObjC IB annotations. 2016-04-22 07:21:16 +00:00
Lex Remove unused LangOpts private variable in HeaderSearch. 2016-04-27 22:28:32 +00:00
Parse [MS] Make #pragma pack use PragmaStack<> class. 2016-04-29 18:17:40 +00:00
Rewrite Remove use of builtin comma operator. 2016-02-18 22:34:54 +00:00
Sema [NFC] Initialize a variable to make buildbot green. 2016-04-29 22:50:16 +00:00
Serialization Method Pool in modules: we make sure that if a module contains an entry for 2016-04-29 19:04:05 +00:00
StaticAnalyzer [analyzer] Add path note for localizability checker. 2016-04-28 19:44:40 +00:00
Tooling [Tooling] Inject -resource-dir instead of overwriting argv[0]. 2016-04-21 10:18:18 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00