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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|wrong location with         |wrong location with macros
                   |predefined macros           |

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
In this case it is just the macro in general, not really the predefined one
that makes a difference:
#define S_MAX (18446744073709551615UL)
char a[~0LU << 1];
char b0[S_MAX << 1];
char b[__SIZE_MAX__ << 1];

---- CUT ----
<source>:2:13: error: size '18446744073709551614' of array 'a' exceeds maximum
object size '9223372036854775807'
    2 | char a[~0LU << 1];
      |        ~~~~~^~~~
<source>:3:15: error: size '18446744073709551614' of array 'b0' exceeds maximum
object size '9223372036854775807'
    3 | char b0[S_MAX << 1];
      |               ^
<source>:4:21: error: size '18446744073709551614' of array 'b' exceeds maximum
object size '9223372036854775807'
    4 | char b[__SIZE_MAX__ << 1];
      |                     ^

Reply via email to