aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/compare1.c
blob: bba5f1d1dce7bfd37f4c7dc858dbccf5a3ce3b74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* 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" } */
}