http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56344
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-02-22 14:28:02 UTC --- Richi, for the middle-end part, do you mean something like this? I've used error () instead of sorry (), but of course I can change that back. --- gcc/calls.c.mp 2013-02-22 15:24:58.655086818 +0100 +++ gcc/calls.c 2013-02-22 15:25:09.737117963 +0100 @@ -3037,6 +3037,12 @@ expand_call (tree exp, rtx target, int i { rtx before_arg = get_last_insn (); + if (adjusted_args_size.constant >= (1 << 31)) + { + error ("passing too large argument on stack"); + break; + } + if (store_one_arg (&args[i], argblock, flags, adjusted_args_size.var != 0, reg_parm_stack_space)