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