Turns out the variadic function checking added in r258643 was too strict
for some existing users; give them an escape valve. When
-fcuda-allow-variadic-functions is passed, the front-end makes no
attempt to disallow C-style variadic functions. Calls to va_arg are
still not allowed.
Details
Details
Diff Detail
Diff Detail
Event Timeline
cfe/trunk/include/clang/Driver/CC1Options.td | ||
---|---|---|
681 ↗ | (On Diff #46005) | AFAICT, these are customer facing flags, correct? If so, shouldn't these options be hidden from the help (via the HelpHidden flag AFAICT)? |
cfe/trunk/include/clang/Driver/CC1Options.td | ||
---|---|---|
681 ↗ | (On Diff #46005) | This might cause issues such as those reported in PR26317 and PR26318. |
cfe/trunk/include/clang/Driver/CC1Options.td | ||
---|---|---|
681 ↗ | (On Diff #46005) | These are cc1-only options and do *not* show up in top-level --help. |
cfe/trunk/include/clang/Driver/CC1Options.td | ||
---|---|---|
681 ↗ | (On Diff #46005) | Ah, yes. You are correct. |
Comment Actions
Could you please add this to the documentation?
Could this be made the default? It seems like nvcc does this by default.
Comment Actions
Clang already does that, though we only allow variadic functions that don't actually use the vararg arguments: https://reviews.llvm.org/D151359
It's sufficient to compile recent CUDA/libcu++ headers w/o errors.