GCC CVS mainline does not build on i686-linux (rtlcheck failure)

Graham Stott graham.stott@btinternet.com
Sat Oct 12 07:52:00 GMT 2002


Andreas Jaeger wrote:

> End of search list.
>  /builds/gcc/gcc-3.3-devel/gcc/cc1 -fpreprocessed z_log.i -quiet -dumpbase z_log.c -auxbase-strip .libs/z_log.o -g -O2 -O2 -W -Wall -version -ffloat-store -fPIC -o z_log.s
> GNU C version 3.3 20021012 (experimental) (i686-pc-linux-gnu)
>         compiled by GNU C version 3.3 20021012 (experimental).
> /usr/include/bits/mathinline.h: In function `z_log':
> /usr/include/bits/mathinline.h:425: internal compiler error: RTL check: expected code `reg', have `mem' in decl_conflicts_with_clobbers_p, at stmt.c:1417
> Please submit a full bug report,

> 
> Andreas
> 
> 

Try the following patch It survives a complete x86 bootstrap
all languages (inc, Ada) with no regressions.

Cheers
Graham

ChangeLog

       * decl_conflicts_with_clobbers_p (): Add REP_P check.

------------------------------------------------------------------
Index: stmt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stmt.c,v
retrieving revision 1.271
diff -c -p -r1.271 stmt.c
*** stmt.c      27 Sep 2002 12:48:03 -0000      1.271
--- stmt.c      12 Oct 2002 14:47:25 -0000
*************** decl_conflicts_with_clobbers_p (decl, cl
*** 1414,1419 ****
--- 1414,1420 ----
        list are not allowed.  */
     if ((TREE_CODE (decl) == VAR_DECL || TREE_CODE (decl) == PARM_DECL)
         && DECL_REGISTER (decl)
+       && REG_P (DECL_RTL (decl))
         && REGNO (DECL_RTL (decl)) < FIRST_PSEUDO_REGISTER)
       {
         rtx reg = DECL_RTL (decl);
------------------------------------------------------------------------






More information about the Gcc-bugs mailing list