RUN: rm -rf %t && mkdir %t

# Check --check-globals all 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 all
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 all --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 all
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 all \
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: {{\[\[META0:!\[0-9\]\+\]\]}} = {{.*}}
 BOTH-NEXT:// CHECK: {{\[\[META1:!\[0-9\]\+\]\]}} = {{.*}}
 BOTH-NEXT://.
  BOTH-NOT:{{.}}

LIT-RUN: Testing: 2 tests
LIT-RUN: PASS: {{.*}} igf.c
LIT-RUN: PASS: {{.*}} norm.c
