1/* Copyright (C) 2000, 2008 Free Software Foundation, Inc. */ 2 3/* { dg-do preprocess } */ 4/* { dg-options "-Wno-deprecated" } */ 5 6/* Tests all directives that do not permit excess tokens at the end of 7 the line. */ 8 9/* Source: Neil Booth, 4 Dec 2000. The combination of separate test 10 cases. */ 11 12#ifdef foo bar /* { dg-warning "extra tokens" "tokens after #ifdef" } */ 13#endif 14 15#ifndef foo bar /* { dg-warning "extra tokens" "tokens after #ifndef" } */ 16#endif 17 18#if 1 19#if 0 20#else foo /* { dg-warning "extra tokens" "tokens after #else" } */ 21#endif / /* { dg-warning "extra tokens" "tokens after #endif" } */ 22#endif 23 24#undef foo bar /* { dg-warning "extra tokens" "tokens after #undef" } */ 25 26#assert foo(bar) bar /* { dg-warning "extra tokens" "tokens after #assert" } */ 27 28#unassert foo(bar) b /* { dg-warning "extra tokens" "tokens after #unassert" } */ 29 30#include "mi1c.h" bar /* { dg-warning "extra tokens" "tokens after #include" } */ 31 32#ident "something" bar /* { dg-warning "extra tokens" "tokens after #ident" } */ 33 34# 36 "file.c" 3 35 36/* ... but in a system header, it's acceptable. */ 37#ifdef KERNEL 38#endif KERNEL /* { dg-bogus "extra tokens" "bad warning" } */ 39