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