https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82679

--- Comment #2 from olivier.delande.spam at googlemail dot com ---
(In reply to Marek Polacek from comment #1)
> GCC is correct here, and this behavior is intentional:

I don't understand. The comment you are quoting mentions detecting
qualifications of the array type, whereas my example qualifies the element
type. This is made clearer in the following variant of my example, which
produces the same error:

  typedef _Atomic int my_atomic_int;
  typedef my_atomic_int my_array[42];
  my_array x;

  int main(void) {
    return 0;
  }

This additional typedef makes it clearer that int is qualified, not the array
type.

You write that GCC is correct, but my interpretation of the C standard is that
it is not. Could you elaborate and provide a reference to the part of the
standard supporting GCC's behavior?

(For comparison, clang 3.8.0 accepts both my examples, and does reject _Atomic
qualifications of array types.)

Reply via email to