xref: /llvm-project/clang/test/Preprocessor/pragma-missing-string-token.c (revision 979d0ee8ab30a175220af3b39a6df7d56de9d2c8)
1 // RUN: rm -rf %t
2 // RUN: split-file %s %t
3 
4 // RUN: %clang_cc1 -emit-module -x c -fmodules -I %t/Inputs -fmodule-name=aa %t/Inputs/module.modulemap -o %t/aa.pcm
5 // RUN: rm %t/Inputs/b.h
6 // RUN: not %clang_cc1 -E -fmodules -I %t/Inputs -fmodule-file=%t/aa.pcm %s -o - -fallow-pcm-with-compiler-errors 2>&1 | FileCheck %s
7 
8 //--- Inputs/module.modulemap
9 module aa {
10     header "a.h"
11     header "b.h"
12 }
13 
14 //--- Inputs/a.h
15 #define TEST(x) x
16 
17 //--- Inputs/b.h
18 #define SUB "mypragma"
19 
20 //--- test.c
21 #include "a.h"
22 
23 _Pragma(SUB);
24 int a = TEST(SUB);
25 
26 // CHECK: int a
27 // CHECK: 1 error generated
28