annotate-tokens-pp.c revision 9f1e3ff3b3095967e2b92b57a53524e2d6bb141c
19f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor#define BAR baz 29f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor#define WIBBLE(X, Y) 39f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas GregorWIBBLE(int, float) 49f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregorint BAR; 59f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor#include "foo.h" 69f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor 79f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// RUN: c-index-test -test-annotate-tokens=%s:1:1:6:1 -I%S/Inputs %s | FileCheck %s 89f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "#" [1:1 - 1:2] preprocessing directive= 99f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "define" [1:2 - 1:8] preprocessing directive= 109f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "BAR" [1:9 - 1:12] preprocessing directive= 119f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "baz" [1:13 - 1:16] preprocessing directive= 129f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "#" [2:1 - 2:2] preprocessing directive= 139f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "define" [2:2 - 2:8] preprocessing directive= 149f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "WIBBLE" [2:9 - 2:15] preprocessing directive= 159f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "(" [2:15 - 2:16] preprocessing directive= 169f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "X" [2:16 - 2:17] preprocessing directive= 179f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "," [2:17 - 2:18] preprocessing directive= 189f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "Y" [2:19 - 2:20] preprocessing directive= 199f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: ")" [2:20 - 2:21] preprocessing directive= 209f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "WIBBLE" [3:1 - 3:7] 219f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "(" [3:7 - 3:8] 229f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Keyword: "int" [3:8 - 3:11] 239f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "," [3:11 - 3:12] 249f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Keyword: "float" [3:13 - 3:18] 259f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: ")" [3:18 - 3:19] 269f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Keyword: "int" [4:1 - 4:4] 279f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "BAR" [4:5 - 4:8] 289f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: ";" [4:8 - 4:9] 299f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Punctuation: "#" [5:1 - 5:2] preprocessing directive= 309f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Identifier: "include" [5:2 - 5:9] preprocessing directive= 319f1e3ff3b3095967e2b92b57a53524e2d6bb141cDouglas Gregor// CHECK: Literal: ""foo.h"" [5:10 - 5:17] preprocessing directive= 32