https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69639
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> --- (gdb) r Starting program: /test/gnu/gcc/objdir/stage1-gcc/cc1 -fpreprocessed limits-exprparen.i -quiet -dumpbase limits-exprparen.c -auxbase-strip limits-exprparen.o -O0 -w -version -fdiagnostics-color=never -fno-diagnostics-show-caret -o limits-exprparen.s warning: Private mapping of shared library text was not specified by the executable; setting a breakpoint in a shared library which is not privately mapped will not work. See the HP-UX 11i v3 chatr manpage for methods to privately map shared library text. GNU C11 (GCC) version 6.0.0 20160201 (experimental) [trunk revision 233038] (hppa2.0w-hp-hpux11.11) compiled by GNU C version 5.2.1 20150716 [gcc-5-branch revision 225904], GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3, isl version none GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C11 (GCC) version 6.0.0 20160201 (experimental) [trunk revision 233038] (hppa2.0w-hp-hpux11.11) compiled by GNU C version 5.2.1 20150716 [gcc-5-branch revision 225904], GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3, isl version none GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: f2dd5e0bce1bf74507a5dd14a956b7c9 Pid 7906 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. Program received signal SIGSEGV, Segmentation fault. 0x00185078 in _ZL19c_parser_peek_tokenP8c_parser (parser=0x0) at ../../gcc/gcc/c/c-parser.c:452 452 { (gdb) bt Python Exception <type 'exceptions.ImportError'> Failed to load /home/gnu/lib/python2.7/lib-dynload/itertools.sl: #0 0x00185078 in _ZL19c_parser_peek_tokenP8c_parser (parser=0x0) at ../../gcc/gcc/c/c-parser.c:452 #1 0x0019a734 in _ZL24c_parser_cast_expressionP8c_parserP6c_expr ( parser=0x7aead000, after=0x0) at ../../gcc/gcc/c/c-parser.c:6653 #2 0x0019950c in _ZL26c_parser_binary_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6508 #3 0x00198980 in _ZL31c_parser_conditional_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6279 #4 0x00198460 in _ZL23c_parser_expr_no_commasP8c_parserP6c_exprP9tree_node ( parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6196 #5 0x001a33a0 in _ZL19c_parser_expressionP8c_parser (parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:8381 #6 0x0019e7c8 in _ZL27c_parser_postfix_expressionP8c_parser ( parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:7522 #7 0x0019badc in _ZL25c_parser_unary_expressionP8c_parser (parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:6870 #8 0x0019aab0 in _ZL24c_parser_cast_expressionP8c_parserP6c_expr ( parser=0x7aead000, after=0x0) at ../../gcc/gcc/c/c-parser.c:6699 #9 0x0019950c in _ZL26c_parser_binary_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) ---Type <return> to continue, or q <return> to quit--- at ../../gcc/gcc/c/c-parser.c:6508 #10 0x00198980 in _ZL31c_parser_conditional_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6279 #11 0x00198460 in _ZL23c_parser_expr_no_commasP8c_parserP6c_exprP9tree_node ( parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6196 #12 0x001a33a0 in _ZL19c_parser_expressionP8c_parser (parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:8381 #13 0x0019e7c8 in _ZL27c_parser_postfix_expressionP8c_parser ( parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:7522 #14 0x0019badc in _ZL25c_parser_unary_expressionP8c_parser (parser=0x7aead000) at ../../gcc/gcc/c/c-parser.c:6870 #15 0x0019aab0 in _ZL24c_parser_cast_expressionP8c_parserP6c_expr ( parser=0x7aead000, after=0x0) at ../../gcc/gcc/c/c-parser.c:6699 #16 0x0019950c in _ZL26c_parser_binary_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6508 #17 0x00198980 in _ZL31c_parser_conditional_expressionP8c_parserP6c_exprP9tree_node (parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) at ../../gcc/gcc/c/c-parser.c:6279 #18 0x00198460 in _ZL23c_parser_expr_no_commasP8c_parserP6c_exprP9tree_node ( parser=0x7aead000, after=0x0, omp_atomic_lhs=0x0) [...] We have similar backtrace with stage3 compuler. (gdb) p *parser $1 = {tokens = 0x7aead004, tokens_buf = {{type = CPP_OPEN_PAREN, id_kind = C_ID_NONE, keyword = RID_MAX, pragma_kind = PRAGMA_NONE, location = 151584, value = 0x0}, {type = CPP_OPEN_PAREN, id_kind = C_ID_NONE, keyword = RID_MAX, pragma_kind = PRAGMA_NONE, location = 151584, value = 0x0}, {type = CPP_EQ, id_kind = C_ID_ID, keyword = RID_STATIC, pragma_kind = PRAGMA_NONE, location = 0, value = 0x0}, {type = CPP_EQ, id_kind = C_ID_ID, keyword = RID_STATIC, pragma_kind = PRAGMA_NONE, location = 0, value = 0x0}}, tokens_avail = 1, error = 0, in_pragma = 0, in_if_block = 0, lex_untranslated_string = 0, objc_pq_context = 0, objc_could_be_foreach_context = 0, objc_need_raw_identifier = 0, in_transaction = 0, objc_property_attr_context = 0, cilk_simd_fn_tokens = 0x0} (gdb) p *parser->tokens $3 = {type = CPP_OPEN_PAREN, id_kind = C_ID_NONE, keyword = RID_MAX, pragma_kind = PRAGMA_NONE, location = 151584, value = 0x0} Total stack per bracket appears to be 1984 bytes and we appear to have a million brackets.