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

/* { dg-do run } */
/* { dg-options "-fshort-wchar" } */
/* { dg-options "-fshort-wchar -Wl,--no-wchar-size-warning" { target arm_eabi } } */

/* 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;
}
