https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90860
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Mateusz Stępień from comment #0)
> static const int one = 1;
> static const int two = one;
> int main()
> {
> return two;
> }
>
> Following code does not compile on gcc 7.4, yet it does on gcc 8.3. I looked
> into the C11 standard and it still does not consider static const variable a
> constant expression, so it should not be allowed to initialize one static
> const with another. Am I missing something? Is it a GNU extension? Clang
> compiles it as well so I'm not sure now.
6.6 p10 "An implementation may accept other forms of constant expressions."
Compilers are allowed (but not required) to accept this.