[PATCH] D62975: Require stdcall etc parameters to be complete on ODR use

2019-06-10 Thread Reid Kleckner via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL363000: Require stdcall etc parameters to be complete on ODR use (authored by rnk, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D62975: Require stdcall etc parameters to be complete on ODR use

2019-06-06 Thread Bob Haarman via Phabricator via cfe-commits
inglorion accepted this revision. inglorion added a comment. This revision is now accepted and ready to land. Thank you. Given that proceeding with the wrong value will result in either an undefined reference or a reference to what might well be the wrong function at link time, I think making

[PATCH] D62975: Require stdcall etc parameters to be complete on ODR use

2019-06-06 Thread Reid Kleckner via Phabricator via cfe-commits
rnk marked 2 inline comments as done. rnk added a comment. In D62975#1533019 , @inglorion wrote: > Can you clarify "which will usually result in a linker error"? E.g. an > example of link.exe rejecting the object file or the wrong function being >

[PATCH] D62975: Require stdcall etc parameters to be complete on ODR use

2019-06-06 Thread Bob Haarman via Phabricator via cfe-commits
inglorion added a comment. Can you clarify "which will usually result in a linker error"? E.g. an example of link.exe rejecting the object file or the wrong function being called. The reason I ask is that if we can be sure at compile time that the resulting code will not work or do the wrong

[PATCH] D62975: Require stdcall etc parameters to be complete on ODR use

2019-06-06 Thread Reid Kleckner via Phabricator via cfe-commits
rnk created this revision. rnk added reviewers: thakis, rsmith, hans. Herald added a project: clang. 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