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

/* { dg-do preprocess } */
/* { dg-options "-fno-show-column -Wno-deprecated" } */

/* Tests all directives that do not permit excess tokens at the end of
   the line.  */

/* Source: Neil Booth, 4 Dec 2000.  The combination of separate test
   cases.  */

#ifdef foo bar  /* { dg-warning "extra tokens" "tokens after #ifdef" } */
#endif

#ifndef foo bar  /* { dg-warning "extra tokens" "tokens after #ifndef" } */
#endif

#if 1 
#if 0
#else foo	/* { dg-warning "extra tokens" "tokens after #else" } */
#endif /	/* { dg-warning "extra tokens" "tokens after #endif" } */
#endif

#undef foo bar  /* { dg-warning "extra tokens" "tokens after #undef" } */

#assert foo(bar) bar /* { dg-warning "extra tokens" "tokens after #assert" } */

#unassert foo(bar) b /* { dg-warning "extra tokens" "tokens after #unassert" } */

#include "mi1c.h" bar /* { dg-warning "extra tokens" "tokens after #include" } */

#ident "something" bar /* { dg-warning "extra tokens" "tokens after #ident" } */

# 36 "file.c" 3

/* ... but in a system header, it's acceptable.  */
#ifdef KERNEL
#endif KERNEL  /* { dg-bogus "extra tokens" "bad warning" } */
