This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.0.3 Question
- From: Joe Buck <jbuck at synopsys dot COM>
- To: takis at xfree86 dot org (Takis Psarogiannakopoulos)
- Cc: gcc at gnu dot org
- Date: Wed, 23 Jan 2002 11:36:27 -0800 (PST)
- Subject: Re: GCC 3.0.3 Question
> I am trying to obtain a port of GCC 3.0.3 to DG/UX Unix.
> Compiling GCC 3.0.3 sources I see the following very stange warning:
>
> ./config/i386/i386.md:6307: warning: destination missing a mode?
> ./config/i386/i386.md:6544: warning: destination missing a mode?
> ./config/i386/i386.md:9963: warning: operand 0 missing mode?
>
> I havent touch at all this file! Can someone tell me if this is
> seen also in solaris/linux? Anybody has any idea what it means?
> and most importantly how to fix it?
The file i386.md will only be used for intel 386-compatible targets.
The same warnings occur on GNU/Linux (for i686-pc-linux-gnu).
The warning comes from the genrecog program. The comment
associated with the first two messages says
/* If only one of the operands is VOIDmode, and PC or CC0 is
not involved, it's probably a mistake. */
The comment associated with the final message says
/* A modeless MATCH_OPERAND can be handy when we can
check for multiple modes in the c_test. In most other cases,
it is a mistake. Only DEFINE_INSN is eligible, since SPLIT
and PEEP2 can FAIL within the output pattern. Exclude
address_operand, since its mode is related to the mode of
the memory not the operand. Exclude the SET_DEST of a call
instruction, as that is a common idiom. */
Despite the warning, the compiler builds itself and passes its tests on
GNU/Linux systems, so I don't think that you have to worry about it.
Other than that warning, are you having other difficulties with DG/UX?
Are you getting a failure and (probably erroneously) assuming that the
above warnings are the cause?