blob: 3aafd84071ebf643f05c1d3328276f3643c4ee07 [file] [log] [blame]
Chris Lattnerab9d51c2009-04-19 20:10:12 +00001// RUN: clang-cc -Eonly -verify -pedantic %s
Chris Lattner01ecf832006-07-19 05:42:48 +00002// pasting ""x"" and ""+"" does not give a valid preprocessing token
Chris Lattner1377dc42009-04-19 18:54:13 +00003#define XYZ x ## + // expected-error {{pasting formed 'x', an invalid preprocessing token}}
Chris Lattner01ecf832006-07-19 05:42:48 +00004XYZ
5
Chris Lattnerab9d51c2009-04-19 20:10:12 +00006// GCC PR 20077
7// RUN: clang-cc -Eonly %s -verify
8
9#define a a ## ## // expected-error {{'##' cannot appear at end of macro expansion}}
10#define b() b ## ## // expected-error {{'##' cannot appear at end of macro expansion}}
11#define c c ## // expected-error {{'##' cannot appear at end of macro expansion}}
12#define d() d ## // expected-error {{'##' cannot appear at end of macro expansion}}
13
14
15#define e ## ## e // expected-error {{'##' cannot appear at start of macro expansion}}
16#define f() ## ## f // expected-error {{'##' cannot appear at start of macro expansion}}
17#define g ## g // expected-error {{'##' cannot appear at start of macro expansion}}
18#define h() ## h // expected-error {{'##' cannot appear at start of macro expansion}}
19#define i ## // expected-error {{'##' cannot appear at start of macro expansion}}
20#define j() ## // expected-error {{'##' cannot appear at start of macro expansion}}
21
22