/* Test for a bogus warning on comparison between signed and unsigned. This was inspired by code in gcc. */ /* { dg-do compile } */ /* { dg-options "-Wsign-compare" } */ int target_flags = 1; enum machine_mode { VOIDmode , PQImode , QImode , PHImode , HImode , PSImode , SImode , PDImode , DImode , TImode , OImode , QFmode , HFmode , TQFmode , SFmode , DFmode , XFmode , TFmode , QCmode , HCmode , SCmode , DCmode , XCmode , TCmode , CQImode , CHImode , CSImode , CDImode , CTImode , COImode , BLKmode , CCmode , CCXmode, CC_NOOVmode, CCX_NOOVmode, CCFPmode, CCFPEmode , MAX_MACHINE_MODE }; #define Pmode ( target_flags ? DImode : SImode ) int main() { enum machine_mode mode = DImode; return (mode == Pmode); /* dg-bogus "warning:" "comparison between signed and unsigned" } */ }