public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Mainline bootstrap failure on ia64
@ 2002-06-11  3:19 Andreas Schwab
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Schwab @ 2002-06-11  3:19 UTC (permalink / raw)
  To: gcc

I'm getting this error from gengtype:

../../gcc/bitmap.h:48: parse error, unexpected ARRAY, expecting ';'

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Mainline bootstrap failure on ia64
  2004-04-18 14:15 Andreas Schwab
@ 2004-04-20  4:07 ` Jim Wilson
  0 siblings, 0 replies; 5+ messages in thread
From: Jim Wilson @ 2004-04-20  4:07 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: gcc

[-- Attachment #1: Type: text/plain, Size: 1482 bytes --]

Andreas Schwab wrote:
> Mainline does not bootstrap on ia64 because -frename-registers is now the
> default.

The problem is that the IA-64 port uses the common idiom of leaving off 
the constraints for op0 of a call_value pattern, so that we can accept 
any return rtx.  In particular, we need to accept PARALLEL here which is 
not an ordinary operand.  However, the lack of constraints means we have 
an output operand with no "=".

regrename handles conditional execution by identifying output operands 
(i.e. operands with = constraints), and then changing them to in-out 
operands if they occured inside a COND_EXEC.  This fails when we have a 
call_value pattern inside a COND_EXEC because the = constraint is 
missing, so this operand does not get changed to an in-out operand.

This can be fixed by changing the call_value op0 constraints to "=X,X". 
  It looks a bit odd to use using X outside a match_scratch, but it 
seems to do what I want, i.e. accept all operands, even things that 
don't look like operands like PARALLEL.

Any other target that uses COND_EXEC and drops the constraints for op0 
of a call_value pattern will run into the same problem.  Perhaps we 
should go through and fix all md files to use =X constraints here.

This patch works for the libstdc++-v3/src/wlocal-inst.cc testcase which 
is the first failure I saw when doing an IA-64 bootstrap.  I haven't 
done any further testing yet.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

[-- Attachment #2: patch.ia64.regrename --]
[-- Type: text/plain, Size: 1502 bytes --]

2004-04-19  James E Wilson  <wilson@specifixinc.com>

	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
	(vall_value_gp): Likewise.

Index: ia64.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64.md,v
retrieving revision 1.127
diff -p -r1.127 ia64.md
*** ia64.md	10 Mar 2004 12:34:43 -0000	1.127
--- ia64.md	20 Apr 2004 02:51:16 -0000
***************
*** 5137,5143 ****
    [(set_attr "itanium_class" "br,scall")])
  
  (define_insn "call_value_nogp"
!   [(set (match_operand 0 "" "")
  	(call (mem:DI (match_operand:DI 1 "call_operand" "?b,i"))
  	      (const_int 0)))
     (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
--- 5137,5143 ----
    [(set_attr "itanium_class" "br,scall")])
  
  (define_insn "call_value_nogp"
!   [(set (match_operand 0 "" "=X,X")
  	(call (mem:DI (match_operand:DI 1 "call_operand" "?b,i"))
  	      (const_int 0)))
     (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
***************
*** 5193,5199 ****
  })
  
  (define_insn "call_value_gp"
!   [(set (match_operand 0 "" "")
  	(call (mem:DI (match_operand:DI 1 "call_operand" "?r,i"))
  	      (const_int 1)))
     (clobber (match_operand:DI 2 "register_operand" "=b,b"))
--- 5193,5199 ----
  })
  
  (define_insn "call_value_gp"
!   [(set (match_operand 0 "" "=X,X")
  	(call (mem:DI (match_operand:DI 1 "call_operand" "?r,i"))
  	      (const_int 1)))
     (clobber (match_operand:DI 2 "register_operand" "=b,b"))

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Mainline bootstrap failure on ia64
@ 2004-04-18 14:15 Andreas Schwab
  2004-04-20  4:07 ` Jim Wilson
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2004-04-18 14:15 UTC (permalink / raw)
  To: gcc

Mainline does not bootstrap on ia64 because -frename-registers is now the
default.

/tmp/cvs/gcc-20040418/Build/gcc/xgcc -shared-libgcc -B/tmp/cvs/gcc-20040418/Build/gcc/ -nostdinc++ -L/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/src -L/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/src/.libs -B/usr/local/ia64-suse-linux/bin/ -B/usr/local/ia64-suse-linux/lib/ -isystem /usr/local/ia64-suse-linux/include -isystem /usr/local/ia64-suse-linux/sys-include -I/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/include/ia64-suse-linux -I/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/include -I/tmp/cvs/gcc-20040418/libstdc++-v3/libsupc++ -O2 -g -O2 -g -O2 -D_GNU_SOURCE -fno-implicit-templates -Wall -W -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c ../../../../libstdc++-v3/src/wlocale-inst.cc  -fPIC -DPIC -o .libs/wlocale-inst.o
/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/include/bits/locale_facets.tcc: In member function `_InIter std::time_get<_CharT, _InIter>::_M_extract_via_format(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*, const_CharT*) const [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]':
/tmp/cvs/gcc-20040418/Build/ia64-suse-linux/libstdc++-v3/include/bits/locale_facets.tcc:455: internal compiler error: in verify_local_live_at_start, at flow.c:568
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Mainline bootstrap failure on ia64
  2002-06-03  3:09 Andreas Schwab
@ 2002-06-03  3:15 ` Jan Hubicka
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Hubicka @ 2002-06-03  3:15 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: gcc

> Current mainline doesn't bootstrap on ia64:
> 
> stage1/xgcc -Bstage1/ -B/usr/local/ia64-suse-linux/bin/ -c -g -O2      -gnatpg -gnata -I- -I. -Iada -I../../gcc/ada ../../gcc/ada/s-except.ads -o ada/s-except.o

I've just commited fix for bug in integrate.c that can be responsible
for the issue.

Honza

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Mainline bootstrap failure on ia64
@ 2002-06-03  3:09 Andreas Schwab
  2002-06-03  3:15 ` Jan Hubicka
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2002-06-03  3:09 UTC (permalink / raw)
  To: gcc

Current mainline doesn't bootstrap on ia64:

stage1/xgcc -Bstage1/ -B/usr/local/ia64-suse-linux/bin/ -c -g -O2      -gnatpg -gnata -I- -I. -Iada -I../../gcc/ada ../../gcc/ada/s-except.ads -o ada/s-except.o
+===========================GNAT BUG DETECTED==============================+
| 3.2 20020602 (experimental) (ia64-suse-linux-gnu) GCC error:             |
| internal error: Segmentation fault                                       |
| Error detected at ../../gcc/ada/s-except.ads:154:7                       |
| Please submit bug report by email to gcc-bugs@gcc.gnu.org.               |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
| (use plain ASCII or MIME attachment).                                    |
| See gnatinfo.txt for full info on procedure for submitting bugs.         |
+==========================================================================+

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-04-20  3:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-11  3:19 Mainline bootstrap failure on ia64 Andreas Schwab
  -- strict thread matches above, loose matches on Subject: below --
2004-04-18 14:15 Andreas Schwab
2004-04-20  4:07 ` Jim Wilson
2002-06-03  3:09 Andreas Schwab
2002-06-03  3:15 ` Jan Hubicka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).