[Bug c/79266] New: excessive compile time for large static array (-O1)
josh at joshtriplett dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 28 19:51:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79266
Bug ID: 79266
Summary: excessive compile time for large static array (-O1)
Product: gcc
Version: 6.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: josh at joshtriplett dot org
Target Milestone: ---
Consider the following test case:
int main(int argc, char *argv[]) {
char *array[] = {
#include "num_array.h"
argv[0],
};
int sum = 0;
for (int i = 0; i < sizeof(array)/sizeof(*array); i++) {
sum += __builtin_strlen(array[i]);
}
return sum;
}
Where num_array.h gets generated as follows:
seq 1 250000 | sed 's/.*/"&",/' > num_array.h
When compiled without optimization, it compiles without issue:
/tmp$ time gcc test.c -o test
real 0m6.563s
user 0m6.288s
sys 0m0.264s
/tmp$ ./test
However, turning on even -O1 causes gcc to run for a long time with no signs of
stopping.
More information about the Gcc-bugs
mailing list