[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 meadori at gcc dot gnu.org changed: What|Removed |Added CC||meadori at gcc dot gnu.org --- Comment #14 from meadori at gcc dot gnu.org --- (In reply to hmb from comment #13) > Created attachment 30201 [details] > preprocessed source code > > Attaching the preprocessed source code Here is a reduction (as of trunk today): $ cat test.c #include #include struct node { struct node *next; char *name; } *list; struct node *list; struct node *head (void); sigjmp_buf *bar (void); int baz (void) { struct node *n; int varseen = 0; list = head (); for (n = list; n; n = n->next) { if (!varseen) varseen = 1; sigjmp_buf *buf = bar (); __sigsetjmp (*buf, 1); } if (!varseen) return 0; return 1; } $ i686-pc-linux-gnu-gcc --version i686-pc-linux-gnu-gcc (GCC) 4.9.0 20130819 (experimental) Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ i686-pc-linux-gnu-gcc -Wall -O2 -c test.c test.c: In function 'baz': test.c:26:19: warning: 'buf' may be used uninitialized in this function [-Wmaybe-uninitialized] sigjmp_buf *buf = bar (); ^
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #13 from hmb --- Created attachment 30201 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30201&action=edit preprocessed source code Attaching the preprocessed source code
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 hmb changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --- Comment #12 from hmb --- I got enother error in gdb source code with same building step as I described above: /home/mbilal/gcc-svn/install/bin/gcc -save-temps -g -O2 -I. -I.././../src/gdb -I.././../src/gdb/common -I.././../src/gdb/config -DLOCALEDIR="\"/home/mbilal/gdb-git/gcc_install_bug_report/share/locale\"" -DHAVE_CONFIG_H -I.././../src/gdb/../include/opcode -I.././../src/gdb/../opcodes/.. -I.././../src/gdb/../readline/.. -I../bfd -I.././../src/gdb/../bfd -I.././../src/gdb/../include -I../libdecnumber -I.././../src/gdb/../libdecnumber -I.././../src/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Wformat-nonliteral -Werror -c -o value.o -MT value.o -MMD -MP -MF .deps/value.Tpo .././../src/gdb/value.c .././../src/gdb/value.c: In function ‘show_convenience’: .././../src/gdb/value.c:2247:21: error: ‘buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized] TRY_CATCH (ex, RETURN_MASK_ERROR) ^ cc1: all warnings being treated as errors make[2]: *** [value.o] Error 1 make[2]: Leaving directory `/home/mbilal/gdb-git/gcc-obj_bug_report/gdb' make[1]: *** [all-gdb] Error 2 make[1]: Leaving directory `/home/mbilal/gdb-git/gcc-obj_bug_report' make: *** [all] Error 2
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 Richard Biener changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #11 from Richard Biener --- Author: rguenth Date: Fri May 24 12:44:58 2013 New Revision: 199289 URL: http://gcc.gnu.org/viewcvs?rev=199289&root=gcc&view=rev Log: 2013-05-24 Richard Biener PR tree-optimization/57287 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Disregard all SSA names that occur in abnormal PHIs. * gcc.dg/pr57287.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr57287.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-uninit.c
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #10 from Richard Biener --- #include jmp_buf buf; void foo (int); void bar (int) __attribute__((leaf)); void enumerate_locals (int indent) { foo (0); while (indent--) { int local_indent = 8 + (8 * indent); if (local_indent != 8) { setjmp (buf); bar (local_indent); } } foo (1); } warns about uninitialized local_indent. The abnormal edges we insert for foo (0) make undefined values flow into the setjmp block.
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #9 from Richard Biener --- Created attachment 30176 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30176&action=edit more reduced
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #8 from Richard Biener --- Created attachment 30175 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30175&action=edit somewhat reduced testcase Autoreduced on level 0.
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 Richard Biener changed: What|Removed |Added CC||xinliangli at gmail dot com --- Comment #7 from Richard Biener --- tree-ssa-uninit.c somehow fails to properly handle abnormal edges. Index: tree-ssa-uninit.c === --- tree-ssa-uninit.c (revision 199249) +++ tree-ssa-uninit.c (working copy) @@ -1919,7 +1919,8 @@ find_uninit_use (gimple phi, unsigned un } worklist->safe_push (use_stmt); - pointer_set_insert (possibly_undefined_names, phi_result); + if (!SSA_NAME_OCCURS_IN_ABNORMAL_PHI (phi_result)) + pointer_set_insert (possibly_undefined_names, phi_result); } } fixes the issue but that doesn't look the very best place to fix it and it doesn't look fully correct. It should be enough to not consider values flowing across abnormal edges - but that's already done (but somehow not in a complete manner). I'm trying to reduce the testcase to get a better idea what is going wrong here.
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #6 from Richard Biener --- Created attachment 30172 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30172&action=edit preprocessed source
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 Richard Biener changed: What|Removed |Added Status|WAITING |NEW --- Comment #5 from Richard Biener --- Confirmed with -O2 -Wall.
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #4 from hmb --- I am attaching the all preprocessed source code of GDB here is the link https://www.dropbox.com/s/ldml34p3lov867w/gcc-bug.zip
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 --- Comment #3 from Pedro Alves --- hmb, could you do that? See instructions here: http://gcc.gnu.org/bugs/
[Bug middle-end/57287] GCC 4.9.0 fails to build GDB on Ubuntu 12.04
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57287 Andrew Pinski changed: What|Removed |Added Component|c |middle-end Severity|blocker |normal