summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/variadic-null-win64.c
Commit message (Collapse)AuthorAgeFilesLines
* Relax CHECK line from r290906Reid Kleckner2017-01-031-1/+1
| | | | llvm-svn: 290907
* [Win64] Don't widen integer literal zero arguments to unprototyped function ↵Reid Kleckner2017-01-031-1/+7
| | | | | | | | | | | | | | | | | | | | | calls The special case to widen the integer literal zero when passed to variadic function calls should only apply to variadic functions, not unprototyped functions. This is consistent with what MSVC does. In this test case, MSVC uses a 4-byte store to pass the 5th argument to 'kr' and an 8-byte store to pass the zero to 'v': void v(int, ...); void kr(); void f(void) { v(1, 2, 3, 4, 0); kr(1, 2, 3, 4, 0); } Aaron Ballman discovered this issue in https://reviews.llvm.org/D28166 llvm-svn: 290906
* [opaque pointer types] Explicit non-pointer type for call expressionsDavid Blaikie2015-04-161-2/+2
| | | | | | (migration for recent LLVM change to textual IR for calls) llvm-svn: 235147
* Promote null pointer constants used as arguments to variadic functionsReid Kleckner2014-10-101-0/+17
Make it possible to pass NULL through variadic functions on 64-bit Windows targets. The Visual C++ headers define NULL to 0, when they should define it to 0LL on Win64 so that NULL is a pointer-sized integer. Fixes PR20949. Reviewers: thakis, rsmith Differential Revision: http://reviews.llvm.org/D5480 llvm-svn: 219456
OpenPOWER on IntegriCloud