diff options
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 35ca276..9d1eab6 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1674,7 +1674,12 @@ expand_one_var (tree var, bool toplevel, bool really_expand) /* Reject variables which cover more than half of the address-space. */ if (really_expand) { - error ("size of variable %q+D is too large", var); + if (DECL_NONLOCAL_FRAME (var)) + error_at (DECL_SOURCE_LOCATION (current_function_decl), + "total size of local objects is too large"); + else + error_at (DECL_SOURCE_LOCATION (var), + "size of variable %q+D is too large", var); expand_one_error_var (var); } } |