brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 5b7c443 Raw
51 lines · c
1// RUN: sed -e "s@INPUT_DIR@%{/S:regex_replacement}/Inputs@g" -e "s@OUT_DIR@%{/t:regex_replacement}@g" -e "s@EXTERNAL_NAMES@true@" %S/Inputs/use-external-names.yaml > %t.external.yaml2// RUN: sed -e "s@INPUT_DIR@%{/S:regex_replacement}/Inputs@g" -e "s@OUT_DIR@%{/t:regex_replacement}@g" -e "s@EXTERNAL_NAMES@false@" %S/Inputs/use-external-names.yaml > %t.yaml3 4#include "external-names.h"5#ifdef REINCLUDE6#include "external-names.h"7#endif8 9////10// Preprocessor (__FILE__ macro and # directives):11 12// RUN: %clang_cc1 -I %t -ivfsoverlay %t.external.yaml -E %s | FileCheck -check-prefix=CHECK-PP-EXTERNAL %s13// CHECK-PP-EXTERNAL: # {{[0-9]*}} "[[NAME:.*Inputs(/|\\\\)external-names.h]]"14// CHECK-PP-EXTERNAL-NEXT: void foo(char **c) {15// CHECK-PP-EXTERNAL-NEXT: *c = "[[NAME]]";16 17// RUN: %clang_cc1 -I %t -ivfsoverlay %t.yaml -E %s | FileCheck -check-prefix=CHECK-PP %s18// CHECK-PP-NOT: Inputs19 20////21// Diagnostics:22 23// RUN: %clang_cc1 -I %t -ivfsoverlay %t.external.yaml -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-DIAG-EXTERNAL %s24// CHECK-DIAG-EXTERNAL: {{.*}}Inputs{{..?}}external-names.h:{{[0-9]*:[0-9]*}}: warning: initializing 'const char **'25 26// RUN: %clang_cc1 -I %t -ivfsoverlay %t.yaml -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-DIAG %s27// CHECK-DIAG-NOT: Inputs28 29////30// Debug info31 32// RUN: %clang_cc1 -I %t -ivfsoverlay %t.external.yaml -triple %itanium_abi_triple -debug-info-kind=limited -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG-EXTERNAL %s33// CHECK-DEBUG-EXTERNAL: ![[Num:[0-9]+]] = !DIFile(filename: "{{[^"]*}}Inputs{{..?}}external-names.h"34// CHECK-DEBUG-EXTERNAL: !DISubprogram({{.*}}file: ![[Num]]35 36// RUN: %clang_cc1 -I %t -ivfsoverlay %t.yaml -triple %itanium_abi_triple -debug-info-kind=limited -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG %s37// CHECK-DEBUG-NOT: Inputs38 39////40// Dependency file41 42// RUN: %clang_cc1 -D REINCLUDE -I %t -ivfsoverlay %t.external.yaml -Eonly %s -MTfoo -dependency-file %t.external.dep43// RUN: echo "EOF" >> %t.external.dep44// RUN: cat %t.external.dep | FileCheck --check-prefix=CHECK-DEP-EXTERNAL %s45// CHECK-DEP-EXTERNAL: Inputs{{..?}}external-names.h46// CHECK-DEP-EXTERNAL-NEXT: EOF47 48// RUN: %clang_cc1 -D REINCLUDE -I %t -ivfsoverlay %t.yaml -Eonly %s -MTfoo -dependency-file %t.dep49// RUN: cat %t.dep | FileCheck --check-prefix=CHECK-DEP %s50// CHECK-DEP-NOT: Inputs51