http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52397
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-02-27 17:14:14 UTC --- > We should already have code that should handle it, the question is where we > have a bug in it. Do you mean the debug code in df-problems.c? > Anyway, can't reproduce with a cross: > ./gnat1 -O2 -g uintp.adb -I ../../gcc/ada/ -fcompare-debug= --param > min-nondebug-insn-uid=10000 -o uintp.s1 -fdump-final-insns=/tmp/1 > ./gnat1 -O2 -g uintp.adb -I ../../gcc/ada/ -fcompare-debug=-gtoggle -gtoggle > --param min-nondebug-insn-uid=10000 -o uintp.s2 -fdump-final-insns=/tmp/2 > yield the same dumps. What options are you using? With a cross from x86-64: eric@atlantis:~/build/gcc/ia64-linux> gcc/xgcc -Bgcc -S uintp.adb -O2 -gnatpg -fno-inline -I ~/svn/gcc/gcc/ada -fcompare-debug xgcc: error: uintp.adb: -fcompare-debug failure Do not try to reduce with -fcompare-debug failure, you'll end up with another debug compare failure that is unrelated (some differences in DECL numbering).