aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/CommandLineTest.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2019-06-10 22:53:12 +0000
committerReid Kleckner <rnk@google.com>2019-06-10 22:53:12 +0000
commite78333a0105dc3e653d47be0aceeea9c7972ab23 (patch)
tree03c5b68cfea5a6d27cc191eef329853a5c76a397 /llvm/unittests/Support/CommandLineTest.cpp
parentee5881a88cbe148bb64d14b8a5b31a314ee22343 (diff)
downloadllvm-e78333a0105dc3e653d47be0aceeea9c7972ab23.zip
llvm-e78333a0105dc3e653d47be0aceeea9c7972ab23.tar.gz
llvm-e78333a0105dc3e653d47be0aceeea9c7972ab23.tar.bz2
Require stdcall etc parameters to be complete on ODR use
Functions using stdcall, fastcall, or vectorcall with C linkage mangle in the size of the parameter pack. Calculating the size of the pack requires the parameter types to complete, which may require template instantiation. Previously, we would crash during IRgen when requesting the size of incomplete or uninstantiated types, as in this reduced example: struct Foo; void __fastcall bar(struct Foo o); void (__fastcall *fp)(struct Foo) = &bar; Reported in Chromium here: https://crbug.com/971245 Differential Revision: https://reviews.llvm.org/D62975 llvm-svn: 363000
Diffstat (limited to 'llvm/unittests/Support/CommandLineTest.cpp')
0 files changed, 0 insertions, 0 deletions