https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84964
Bug ID: 84964 Summary: internal compiler error: in expand_call, at calls.c:4540 Product: gcc Version: 8.0.1 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vegard.nossum at oracle dot com CC: webrown.cpp at gmail dot com Target Milestone: --- Input: struct a { short b : -1ULL; }; void c(...) { c(a()); } Output: $ cc1plus <stdin>:2:14: warning: width of 'a::b' exceeds its type void c(...) Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes> <targetclone> <free-fnsummary> <whole-program> <fnsummary> <inline> <free-fnsummary> <single-use> <comdats>Assembling functions: <materialize-all-clones> <simdclone> void c(...) <stdin>: In function 'void c(...)': <stdin>:4:16: sorry, unimplemented: passing too large argument on stack during RTL pass: expand <stdin>:4:16: internal compiler error: in expand_call, at calls.c:4540 0x17b719f expand_call(tree_node*, rtx_def*, int) /home/vegard/git/gcc/gcc/calls.c:4537 0x1e78955 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/vegard/git/gcc/gcc/expr.c:11002 0x181e6d4 expand_expr /home/vegard/git/gcc/gcc/expr.h:276 0x181e6d4 expand_call_stmt /home/vegard/git/gcc/gcc/cfgexpand.c:2690 0x181e6d4 expand_gimple_stmt_1 /home/vegard/git/gcc/gcc/cfgexpand.c:3624 0x181e6d4 expand_gimple_stmt /home/vegard/git/gcc/gcc/cfgexpand.c:3790 0x1824c48 expand_gimple_basic_block /home/vegard/git/gcc/gcc/cfgexpand.c:5819 0x18443d7 execute /home/vegard/git/gcc/gcc/cfgexpand.c:6425 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Version: GNU C++14 (GCC) version 8.0.1 20180306 (experimental) (x86_64-pc-linux-gnu)