aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2023-09-13 16:29:11 -0700
committerGitHub <noreply@github.com>2023-09-13 16:29:11 -0700
commitc8c075e8769a615451653b37e5426eb5d7a1d16c (patch)
tree1b2382fb3e67027a0c7de82d09dd4511a64b3acc /clang/lib/Frontend/CompilerInvocation.cpp
parent6385c1df919f237d4149fabf542a158f61010bf8 (diff)
downloadllvm-c8c075e8769a615451653b37e5426eb5d7a1d16c.zip
llvm-c8c075e8769a615451653b37e5426eb5d7a1d16c.tar.gz
llvm-c8c075e8769a615451653b37e5426eb5d7a1d16c.tar.bz2
[MS] Follow up fix to pass aligned args to variadic x86_32 functions (#65692)
MSVC allows users to pass structures with required alignments greater than 4 to variadic functions. It does not pass them indirectly to correctly align them. Instead, it passes them directly with the usual 4 byte stack alignment. This change implements the same logic in clang on the passing side. The receiving side (va_arg) never implemented any of this indirect logic, so it doesn't need to be updated. This issue pre-existed, but @aaron.ballman noticed it when we started passing structs containing aligned fields indirectly in D152752.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions