/* Copyright (C) 2002 Free Software Foundation, Inc.  */

/* { dg-do run } */
/* { dg-options "-fshort-wchar" } */

/* Source: Neil Booth, 10 Dec 2002.

   Test that __WCHAR_MAX__ is correct with -fshort-wchar.  */

extern void abort (void);

int main ()
{
  __WCHAR_TYPE__ w = ~(__WCHAR_TYPE__) 0;

  if (w != __WCHAR_MAX__)
    abort ();
 
  return 0;
}
