forked from OSchip/llvm-project
85 lines
2.8 KiB
Plaintext
85 lines
2.8 KiB
Plaintext
RUN: rm -rf %t && mkdir %t
|
|
|
|
# Check --check-globals in normal mode and in --include-generated-funcs mode.
|
|
|
|
RUN: cp %S/Inputs/check-globals.c %t/norm.c
|
|
RUN: %update_cc_test_checks %t/norm.c --check-globals
|
|
RUN: FileCheck %s --input-file=%t/norm.c --match-full-lines -strict-whitespace \
|
|
RUN: -check-prefixes=BOTH,NRM
|
|
|
|
RUN: cp %S/Inputs/check-globals.c %t/igf.c
|
|
RUN: %update_cc_test_checks %t/igf.c --check-globals --include-generated-funcs
|
|
RUN: FileCheck %s --input-file=%t/igf.c --match-full-lines -strict-whitespace \
|
|
RUN: -check-prefixes=BOTH,IGF
|
|
|
|
# Check that repeating doesn't change it, such as duplicating '//.' occurrences.
|
|
|
|
RUN: cp %t/norm.c %t/norm-again.c
|
|
RUN: %update_cc_test_checks %t/norm-again.c --check-globals
|
|
RUN: diff -u %t/norm.c %t/norm-again.c
|
|
RUN: rm %t/norm-again.c
|
|
|
|
RUN: cp %t/igf.c %t/igf-again.c
|
|
RUN: %update_cc_test_checks %t/igf-again.c --check-globals \
|
|
RUN: --include-generated-funcs
|
|
RUN: diff -u %t/igf.c %t/igf-again.c
|
|
RUN: rm %t/igf-again.c
|
|
|
|
# Check that the generated directives actually work correctly. For example,
|
|
# they're not in the wrong order.
|
|
|
|
RUN: cp %S/Inputs/lit.cfg.example %t/lit.cfg
|
|
# Show lit failures while avoiding confusing FileCheck input dump nesting.
|
|
RUN: %lit %t
|
|
# Lit was successful. Sanity-check the results with deterministic test order.
|
|
RUN: rm %t/.lit_test_times.txt
|
|
RUN: %lit %t 2>&1 | FileCheck -check-prefix=LIT-RUN %s
|
|
|
|
END.
|
|
|
|
BOTH-NOT:{{.}}
|
|
NRM:// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --check-globals
|
|
IGF:// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --check-globals --include-generated-funcs
|
|
BOTH-NEXT:// {{.*}}
|
|
BOTH-NEXT:// RUN: true
|
|
BOTH-NEXT:// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -emit-llvm -o - %s | FileCheck %s
|
|
BOTH-EMPTY:
|
|
IGF-NEXT:void foo() {
|
|
IGF-NEXT: static int i, j;
|
|
IGF-NEXT:}
|
|
IGF-NEXT:void bar() {
|
|
IGF-NEXT: static int i, j;
|
|
IGF-NEXT:}
|
|
BOTH-NEXT://.
|
|
BOTH-NEXT:// CHECK: @foo.i = internal global i32 0, align 4
|
|
BOTH-NEXT:// CHECK: @foo.j = internal global i32 0, align 4
|
|
BOTH-NEXT:// CHECK: @bar.i = internal global i32 0, align 4
|
|
BOTH-NEXT:// CHECK: @bar.j = internal global i32 0, align 4
|
|
BOTH-NEXT://.
|
|
BOTH-NEXT:// CHECK-LABEL: @foo(
|
|
BOTH-NEXT:// CHECK-NEXT: entry:
|
|
BOTH-NEXT:// CHECK-NEXT: ret void
|
|
BOTH-NEXT://
|
|
NRM-NEXT:void foo() {
|
|
NRM-NEXT: static int i, j;
|
|
NRM-NEXT:}
|
|
IGF-NEXT://
|
|
BOTH-NEXT:// CHECK-LABEL: @bar(
|
|
BOTH-NEXT:// CHECK-NEXT: entry:
|
|
BOTH-NEXT:// CHECK-NEXT: ret void
|
|
BOTH-NEXT://
|
|
NRM-NEXT:void bar() {
|
|
NRM-NEXT: static int i, j;
|
|
NRM-NEXT:}
|
|
BOTH-NEXT://.
|
|
BOTH-NEXT:// CHECK: attributes {{.*}}
|
|
BOTH-NEXT://.
|
|
BOTH-NEXT:// CHECK: !0 = {{.*}}
|
|
BOTH-NEXT:// CHECK: !1 = {{.*}}
|
|
BOTH-NEXT://.
|
|
BOTH-NOT:{{.}}
|
|
|
|
LIT-RUN: Testing: 2 tests
|
|
LIT-RUN: PASS: {{.*}} igf.c
|
|
LIT-RUN: PASS: {{.*}} norm.c
|