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

            Bug ID: 71536
           Summary: lto1 ICE: func-static constant in openmp offloaded
                    function
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bisqwit at iki dot fi
  Target Milestone: ---

With this example program:

#pragma omp declare target
void Process()
{
    static const int value = 12;
}
#pragma omp end declare target

int main()
{
    #pragma omp target
    {
        Process();
    }
}

g++ crash.cc -fopenmp -O1

lto1: internal compiler error: Segmentation fault
0x93bcaf crash_signal
        ../../gcc/toplev.c:333
0x82d2eb input_offload_tables(bool)
        ../../gcc/lto-cgraph.c:1931
0x5c6590 read_cgraph_and_symbols
        ../../gcc/lto/lto.c:2858
0x5c6590 lto_main()
        ../../gcc/lto/lto.c:3304
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
mkoffload-intelmic: fatal error:
x86_64-pc-linux-gnu-accel-x86_64-intelmicemul-linux-gnu-gcc returned 1 exit
status
compilation terminated.
lto-wrapper: fatal error:
/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.1.0//accel/x86_64-intelmicemul-linux-gnu/mkoffload
returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status

The main() can be deleted from the program, and the error still occurs.
This error requires at least -O1 to trigger it.

GCC version: 6.1.0

Reply via email to