This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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?






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]