http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46028

           Summary: Regression from GCC 4.4: "storage size of 'test_array'
                    isn't constant"
           Product: gcc
           Version: 4.5.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ma...@juffo.org


Created attachment 22046
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22046
_configtest.i

When building the Python NumPy library for Python 3.x, it does the following
test compilation test:

typedef struct {float __x; float __y;} npy_check_sizeof_type;
int main ()
{
    static int test_array [1 - 2 * !(((long) (sizeof (npy_check_sizeof_type)))
<= 16.0)];
    test_array [0] = 0
...

This code compiles fine with GCC 4.4.5 on Ubuntu, but fails with GCC 4.5.1 on
Arch Linux x86_64:

% gcc _configtest.c
_configtest.c: In function 'main':
_configtest.c:5:16: error: storage size of 'test_array' isn't constant

% gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr
--enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
--enable-gnu-unique-object --enable-lto --enable-plugin --disable-multilib
--disable-libstdcxx-pch --with-system-zlib --with-ppl --with-cloog
--libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info
Thread model: posix
gcc version 4.5.1 (GCC)

Reply via email to