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

Andreas Jaeger aj@suse.de
Sun Oct 13 05:34:00 GMT 2002


Graham Stott <graham.stott@btinternet.com> writes:

> 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.

It fixed the problem for me.  Now we need someone to review it...

Thanks,
Andreas

>
> 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);
> ------------------------------------------------------------------------
>
>
>
>

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj



More information about the Gcc-patches mailing list