Shih-wei Liao | ea28516 | 2010-06-04 12:34:56 -0700 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s |
| 2 | |
| 3 | // The preprocessor shouldn't warn about extensions within macro bodies that |
| 4 | // aren't expanded. |
| 5 | #define TY typeof |
| 6 | #define TY1 typeof(1) |
| 7 | |
| 8 | // But we should warn here |
| 9 | TY1 x; // expected-warning {{extension}} |
| 10 | TY(1) x; // FIXME: And we should warn here |
| 11 | |
| 12 | // Note: this warning intentionally doesn't trigger on keywords like |
| 13 | // __attribute; the standard allows implementation-defined extensions |
| 14 | // prefixed with "__". |
| 15 | // Current list of keywords this can trigger on: |
| 16 | // inline, restrict, asm, typeof, _asm |
| 17 | |
| 18 | void whatever() {} |