xref: /llvm-project/clang/test/Preprocessor/print-header-json.c (revision abc87ad4ed6cc5e6568751f375d1c646edb502f7)
13738ce05SAkira Hatanaka // RUN: %clang_cc1 -E -header-include-format=json -header-include-filtering=only-direct-system -header-include-file %t.txt -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s
23738ce05SAkira Hatanaka // RUN: cat %t.txt | FileCheck %s --check-prefix=SUPPORTED
33738ce05SAkira Hatanaka // RUN: not %clang_cc1 -E -header-include-format=textual -header-include-filtering=only-direct-system -header-include-file %t.txt -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED0
43738ce05SAkira Hatanaka // RUN: not %clang_cc1 -E -header-include-format=json -header-include-filtering=none -header-include-file %t.txt -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED1
53738ce05SAkira Hatanaka // RUN: rm %t.txt
63738ce05SAkira Hatanaka // RUN: env CC_PRINT_HEADERS_FORMAT=json CC_PRINT_HEADERS_FILTERING=only-direct-system CC_PRINT_HEADERS_FILE=%t.txt %clang -fsyntax-only -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s -o /dev/null
73738ce05SAkira Hatanaka // RUN: env CC_PRINT_HEADERS_FORMAT=textual CC_PRINT_HEADERS_FILTERING=only-direct-system CC_PRINT_HEADERS_FILE=%t.txt not %clang -fsyntax-only -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED2
83738ce05SAkira Hatanaka // RUN: env CC_PRINT_HEADERS_FORMAT=json CC_PRINT_HEADERS_FILTERING=none CC_PRINT_HEADERS_FILE=%t.txt not %clang -fsyntax-only -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED3
93738ce05SAkira Hatanaka // RUN: cat %t.txt | FileCheck %s --check-prefix=SUPPORTED
103738ce05SAkira Hatanaka 
113738ce05SAkira Hatanaka #include "system0.h"
123738ce05SAkira Hatanaka #include "header0.h"
133738ce05SAkira Hatanaka #include "system2.h"
143738ce05SAkira Hatanaka 
15*abc87ad4SAkira Hatanaka // SUPPORTED: {"source":"{{[^,]*}}print-header-json.c","includes":["{{[^,]*}}system0.h","{{[^,]*}}system3.h","{{[^,]*}}system2.h"]}
163738ce05SAkira Hatanaka 
173738ce05SAkira Hatanaka // UNSUPPORTED0: error: unsupported combination: -header-include-format=textual and -header-include-filtering=only-direct-system
183738ce05SAkira Hatanaka // UNSUPPORTED1: error: unsupported combination: -header-include-format=json and -header-include-filtering=none
193738ce05SAkira Hatanaka // UNSUPPORTED2: error: unsupported combination: CC_PRINT_HEADERS_FORMAT=textual and CC_PRINT_HEADERS_FILTERING=only-direct-system
203738ce05SAkira Hatanaka // UNSUPPORTED3: error: unsupported combination: CC_PRINT_HEADERS_FORMAT=json and CC_PRINT_HEADERS_FILTERING=none
21