This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Isolate erroneous paths optimization -- preserve *0.
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Dominique Dhumieres <dominiq at lps dot ens dot fr>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Eric Botcazou <ebotcazou at libertysurf dot fr>
- Date: Wed, 13 Nov 2013 11:50:53 +0100
- Subject: Re: [PATCH] Isolate erroneous paths optimization -- preserve *0.
- Authentication-results: sourceware.org; auth=none
- References: <20131112223322 dot BA07B104 at mailhost dot lps dot ens dot fr> <5283142D dot 2020905 at redhat dot com>
On Wed, Nov 13, 2013 at 6:54 AM, Jeff Law <email@example.com> wrote:
> On 11/12/13 15:33, Dominique Dhumieres wrote:
>> Bootstrapping with ada id broken by revision 204708
>> (at least on x86_64-apple-darwin13):
>> # gnattools1
>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> ../gcc/ada/tools -f ../Makefile \
>> "CC=../../xgcc -B../../" "CXX=../../xg++ -B../../
>> "CFLAGS=-g -O2 -W -Wall" "LDFLAGS=-static-libstdc++ -static-libgcc
>> -Wl,-no_pie " "ADAFLAGS=-gnatpg -gnata" "ADA_CFLAGS=" "INCLUDES=-I. -I..
>> -I../.. -I/opt/gcc/work/gcc/ada -I/opt/gcc/work/gcc/config
>> -I/opt/gcc/work/gcc/../include -I/opt/gcc/work/gcc" "ADA_INCLUDES=-I-
>> -I../rts -I. -I/opt/gcc/work/gcc/ada" "exeext=" "fsrcdir=/opt/gcc/work/gcc"
>> "srcdir=/opt/gcc/work/gcc" "GNATMAKE=../../gnatmake"
>> "GNATLINK=../../gnatlink" "GNATBIND=../../gnatbind" "TOOLSCASE=native" \
>> ../../gnatmake ../../gnatlink
>> ../../xgcc -B../../ -c -g -O2 -W -Wall -gnatpg -gnata -I- -I../rts -I.
>> -I/opt/gcc/work/gcc/ada /opt/gcc/work/gcc/ada/make.adb -o make.o
>> /opt/gcc/work/gcc/ada/make.adb: In function
>> /opt/gcc/work/gcc/ada/make.adb:3312:7: error: control flow in the middle
>> of basic block 550
>> +===========================GNAT BUG
>> | 4.9.0 20131112 (experimental) [trunk revision 204710p13r1]
>> (x86_64-apple-darwin13.0.0) GCC error:|
>> | verify_flow_info failed
>> | Error detected around /opt/gcc/work/gcc/ada/make.adb:3312:7
>> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.
>> | Use a subject line meaningful to you and us to track the bug.
>> | Include the entire contents of this bug box in the report.
>> | Include the exact gcc or gnatmake command that you entered.
>> | Also include sources listed below in gnatchop format
>> | (concatenated together with no headers between files).
>> Please include these source files with error report
>> Note that list may not be accurate in some cases,
>> so please double check that the problem can still
>> be reproduced with the set of files listed.
>> Consider also -gnatd.n switch (see debug.adb).
> Sigh. The load is considered a potentially throwing statement, which means
> it ends a block and thus we can't immediately follow the null-deref with a
> trap, the trap would have to be in another block. ugh. I'm going to have to
> think about this a bit.
Mark it with TREE_NOTHROW (but it should have been that way already,
or EH code should have been present before the path elimination - otherwise
the incoming GIMPLE would have had exactly the same problem).
Note that externally throwing stmts are not an issue.