From: Richard Henderson Date: Fri, 3 Aug 2001 22:24:21 +0000 (-0700) Subject: dbxout.c (dbxout_symbol_location): Flatten subregs first; don't take REGNO of a non... X-Git-Tag: prereleases/libstdc++-3.0.95~2877 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c99fa40fbe95dc94e7e55b374f778cc154fd4864;p=thirdparty%2Fgcc.git dbxout.c (dbxout_symbol_location): Flatten subregs first; don't take REGNO of a non-register. * dbxout.c (dbxout_symbol_location): Flatten subregs first; don't take REGNO of a non-register. From-SVN: r44615 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06a0e9668a93..b2eb17f34aaf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-08-03 Richard Henderson + + * dbxout.c (dbxout_symbol_location): Flatten subregs first; + don't take REGNO of a non-register. + 2001-08-03 John David Anglin * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 0d330c226537..4eea7ca82c05 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -2096,13 +2096,7 @@ dbxout_symbol_location (decl, type, suffix, home) If the decl was from an inline function, then its rtl is not identically the rtl that was used in this particular compilation. */ - if (GET_CODE (home) == REG) - { - regno = REGNO (home); - if (regno >= FIRST_PSEUDO_REGISTER) - return 0; - } - else if (GET_CODE (home) == SUBREG) + if (GET_CODE (home) == SUBREG) { rtx value = home; @@ -2113,7 +2107,13 @@ dbxout_symbol_location (decl, type, suffix, home) if (REGNO (value) >= FIRST_PSEUDO_REGISTER) return 0; } - regno = REGNO (alter_subreg (home)); + home = alter_subreg (home); + } + if (GET_CODE (home) == REG) + { + regno = REGNO (home); + if (regno >= FIRST_PSEUDO_REGISTER) + return 0; } /* The kind-of-variable letter depends on where