re PR middle-end/56977 (gcc -Og incorrectly warns about 'constant zero length parameter')

2013-06-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/56977
	* passes.c (init_optimization_passes): Move pass_fold_builtins
	and pass_dce earlier with -Og.

	* gcc.dg/pr56977.c: New testcase.

From-SVN: r200391
This commit is contained in:
Richard Biener 2013-06-25 08:21:31 +00:00 committed by Richard Biener
parent 9d2cdf2500
commit 8a845901e4
4 changed files with 25 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2013-06-25 Richard Biener <rguenther@suse.de>
PR middle-end/56977
* passes.c (init_optimization_passes): Move pass_fold_builtins
and pass_dce earlier with -Og.
2013-06-25 Eric Botcazou <ebotcazou@adacore.com>
* expr.c (expand_expr_real_1) <ARRAY_REF>: Fix formatting glitches.

View file

@ -1536,15 +1536,15 @@ init_optimization_passes (void)
/* Perform simple scalar cleanup which is constant/copy propagation. */
NEXT_PASS (pass_ccp);
NEXT_PASS (pass_object_sizes);
/* Fold remaining builtins. */
NEXT_PASS (pass_fold_builtins);
/* Copy propagation also copy-propagates constants, this is necessary
to forward object-size results properly. */
to forward object-size and builtin folding results properly. */
NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_dce);
NEXT_PASS (pass_asan);
NEXT_PASS (pass_tsan);
NEXT_PASS (pass_rename_ssa_copies);
NEXT_PASS (pass_dce);
/* Fold remaining builtins. */
NEXT_PASS (pass_fold_builtins);
/* ??? We do want some kind of loop invariant motion, but we possibly
need to adjust LIM to be more friendly towards preserving accurate
debug information here. */

View file

@ -1,3 +1,8 @@
2013-06-25 Richard Biener <rguenther@suse.de>
PR middle-end/56977
* gcc.dg/pr56977.c: New testcase.
2013-06-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/57358

View file

@ -0,0 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-Og" } */
__attribute__((__error__("error"))) void error ();
void f (int i) {
if (__builtin_constant_p (i)) {
error ();
}
}