nvcc may crash with partial array initializers

Compiling attached testcase with

nvcc --ptx test.cu -o test.ptx

crashes nvcc for cases 0, 1 and 5 (see the define) with

Signal: Segmentation fault in Lowering phase.

<input>(0): Error: Signal Segmentation fault in phase Lowering -- processing aborted

*** Internal stack backtrace:

    /usr/local/cuda/open64/lib//be [0x69cca2]

    /usr/local/cuda/open64/lib//be [0x69d985]

    /usr/local/cuda/open64/lib//be [0x69d05f]

    /usr/local/cuda/open64/lib//be [0x69e338]

    /lib64/libc.so.6 [0x2b4d2a51a5b0]

    /usr/local/cuda/open64/lib//be [0x620529]

    /usr/local/cuda/open64/lib//be [0x6197ff]

    /usr/local/cuda/open64/lib//be [0x6151f1]

    /usr/local/cuda/open64/lib//be [0x62422b]

    /usr/local/cuda/open64/lib//be [0x61b30c]

    /usr/local/cuda/open64/lib//be [0x6298d2]

    /usr/local/cuda/open64/lib//be [0x6197ec]

    /usr/local/cuda/open64/lib//be [0x6151f1]

    /usr/local/cuda/open64/lib//be [0x625188]

    /usr/local/cuda/open64/lib//be [0x6260ef]

    /usr/local/cuda/open64/lib//be [0x417fd2]

    /usr/local/cuda/open64/lib//be [0x418f31]

    /usr/local/cuda/open64/lib//be [0x41a110]

    /usr/local/cuda/open64/lib//be [0x41b6b8]

    /lib64/libc.so.6(__libc_start_main+0xf4) [0x2b4d2a507ae4]

    /usr/local/cuda/open64/lib//be [0x4178ca]

nvopencc INTERNAL ERROR: /usr/local/cuda/open64/lib//be died due to signal 4

nvcc is from CUDA 2.0 beta, nvcc --version is:

Copyright (c) 2005-2007 NVIDIA Corporation

Built on Wed_Apr__9_11:17:27_PDT_2008

Cuda compilation tools, release 1.1, V0.2.1221

System is Core2 Duo E4500, running x86_64 Linux with both gcc 4.2.1 and gcc 4.1.2, 2 GB system RAM and two GeForce 8800 GTX with 768 MB RAM each.

Looks a lot like it is related to spilling registers to local memory…
inittest.txt (391 Bytes)

Thanks for the bug report. I’ve reproduced this crash, and opened bug 431239.