1 // RUN: %clang_cc1 -fsyntax-only -verify %s -Wmax-tokens 2 // RUN: %clang_cc1 -fsyntax-only -verify %s -Wmax-tokens -DMAX_TOKENS -fmax-tokens=2 3 // RUN: %clang_cc1 -fsyntax-only -verify %s -Wmax-tokens -DMAX_TOKENS_OVERRIDE -fmax-tokens=9 4 5 int x, y, z; 6 7 #pragma clang max_tokens_here // expected-error {{missing argument to '#pragma clang max_tokens_here'; expected integer}} 8 #pragma clang max_tokens_here foo // expected-error {{expected an integer argument in '#pragma clang max_tokens_here'}} 9 #pragma clang max_tokens_here 123 456 // expected-warning{{extra tokens at end of '#pragma clang max_tokens_here' - ignored}} 10 11 #pragma clang max_tokens_here 1 // expected-warning{{the number of preprocessor source tokens (7) exceeds this token limit (1)}} 12 13 14 #pragma clang max_tokens_total // expected-error{{missing argument to '#pragma clang max_tokens_total'; expected integer}} 15 #pragma clang max_tokens_total foo // expected-error{{expected an integer argument in '#pragma clang max_tokens_total'}} 16 #pragma clang max_tokens_total 123 456 // expected-warning{{extra tokens at end of '#pragma clang max_tokens_total' - ignored}} 17 18 #ifdef MAX_TOKENS_OVERRIDE 19 #pragma clang max_tokens_total 3 // expected-warning@+4{{the total number of preprocessor source tokens (8) exceeds the token limit (3)}} 20 // expected-note@-1{{total token limit set here}} 21 #elif MAX_TOKENS 22 // expected-warning@+1{{the total number of preprocessor source tokens (8) exceeds the token limit (2)}} 23 #endif 24