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)

Reply via email to