// RUN: not %clang_cc1 -std=c++2a -E -I%S/Inputs %s -o - | FileCheck %s --strict-whitespace --implicit-check-not=ERROR // Check for context-sensitive header-name token formation. // CHECK: import ; import ; // Not at the top level: these are each 8 tokens rather than 5. // CHECK: { import ; } { import ; } // CHECK: ( import ; :> ( import ; :> // CHECK: [ import ; %> [ import ; %> // CHECK: import ; import ; // CHECK: foo; import ; foo; import ; // CHECK: foo import ; foo import ; // CHECK: import {{\[\[ ]]}}; import [[ ]]; // CHECK: import import ; import import ; // FIXME: We do not form header-name tokens in the pp-import-suffix of a // pp-import. Conforming programs can't tell the difference. // CHECK: import {} import ; // FIXME: import {} import ; import {} import ; // CHECK: export import ; export import ; // CHECK: export export import ; export export import ; #define UNBALANCED_PAREN ( // CHECK: import ; import ; UNBALANCED_PAREN // CHECK: import ; import ; ) _Pragma("clang no_such_pragma ("); // CHECK: import ; import ; #define HEADER // CHECK: import ; import HEADER; // CHECK: import ; import < foo bar >; // CHECK: import{{$}} // CHECK: {{^}}; import < foo bar >; // CHECK: import{{$}} // CHECK: {{^}}; import ; #define IMPORT import // CHECK: import ; IMPORT;