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(void) {
  IGF-NEXT:  static int i, j;
  IGF-NEXT:}
  IGF-NEXT:void bar(void) {
  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(void) {
  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(void) {
  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
