This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: mainline bootstrap broken for powerpc64-unknown-linux-gnu
- From: Zack Weinberg <zack at codesourcery dot com>
- To: Janis Johnson <janis187 at us dot ibm dot com>
- Cc: gcc at gcc dot gnu dot org, shebs at apple dot com
- Date: Tue, 17 Aug 2004 10:04:39 -0700
- Subject: Re: mainline bootstrap broken for powerpc64-unknown-linux-gnu
- References: <20040817164939.GA4629@us.ibm.com>
Janis Johnson <janis187@us.ibm.com> writes:
> Bootstrap for powerpc64-unknown-linux-gnu broken with yesterday's
> changes to include darwin.md in rs6000.md. This:
>
> (define_insn "*call_nonlocal_darwin64"
> [(call (mem:SI (match_operand:DI 0 "symbol_ref_operand" "s,s"))
> (match_operand 1 "" "g,g"))
> (use (match_operand:SI 2 "immediate_operand" "O,n"))
> (clobber (match_scratch:SI 3 "=l,l"))]
> "(DEFAULT_ABI == ABI_DARWIN)
> && (INTVAL (operands[2]) & CALL_LONG) == 0"
> {
> #if TARGET_MACHO
> return output_call(insn, operands, 0, 2);
> #endif
> }
...
I would like to suggest that the correct fix for this is to add
TARGET_MACHO at the beginning of the C condition, and remove the
#ifdef. This will make the pattern fail to match on ELF/XCOFF
targets, which is the right thing, and since TARGET_MACHO is a
compile-time constant, genconditions will exclude the pattern
from the generated insn-*.c files.
zw