qualifiers for auto_type in C · Issue #53652 · llvm/llvm-project (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Description
Hi,
when preparing for standardization in WG14 of this feature we ran into an inconsistency with gcc.
For declarations with __auto_type
gcc accepts all C qualifiers in a reasonable way, whereas clang refuses restrict
and _Atomic
. The diagnostics that clang gives seem to indicate that these have simply not yet been considered
restrict requires a pointer or reference ('__auto_type' is invalid)
_Atomic cannot be applied to type '__auto_type' which is not trivially copyable
A small example that compiles with gcc but not with clang:
int main() { double x = 37; // clang doesn't accept that __auto_type restrict xr = &x; restrict __auto_type rx = &x; __auto_type _Atomic xa = x; _Atomic __auto_type ax = x; }
Thanks
Jens