1*6db8c59fSFangrui Song // Ensure that we have a quiet startup when we don't have the XRay
2*6db8c59fSFangrui Song // instrumentation sleds.
3*6db8c59fSFangrui Song //
4*6db8c59fSFangrui Song // RUN: %clangxx -std=c++11 %s -o %t %xraylib
5*6db8c59fSFangrui Song // RUN: XRAY_OPTIONS="patch_premain=true verbosity=1" %run %t 2>&1 | \
6*6db8c59fSFangrui Song // RUN:    FileCheck %s --check-prefix NOISY
7*6db8c59fSFangrui Song // RUN: XRAY_OPTIONS="patch_premain=true verbosity=0" %run %t 2>&1 | \
8*6db8c59fSFangrui Song // RUN:    FileCheck %s --check-prefix QUIET
9*6db8c59fSFangrui Song // RUN: XRAY_OPTIONS="" %run %t 2>&1 | FileCheck %s --check-prefix DEFAULT
10*6db8c59fSFangrui Song //
11*6db8c59fSFangrui Song // FIXME: Understand how to make this work on other platforms
12*6db8c59fSFangrui Song // REQUIRES: built-in-llvm-tree
13*6db8c59fSFangrui Song // REQUIRES: x86_64-target-arch
14*6db8c59fSFangrui Song #include <iostream>
15*6db8c59fSFangrui Song 
16*6db8c59fSFangrui Song using namespace std;
17*6db8c59fSFangrui Song 
main(int,char **)18*6db8c59fSFangrui Song int main(int, char**) {
19*6db8c59fSFangrui Song   // NOISY: {{.*}}XRay instrumentation map missing. Not initializing XRay.
20*6db8c59fSFangrui Song   // QUIET-NOT: {{.*}}XRay instrumentation map missing. Not initializing XRay.
21*6db8c59fSFangrui Song   // DEFAULT-NOT: {{.*}}XRay instrumentation map missing. Not initializing XRay.
22*6db8c59fSFangrui Song   cout << "Hello, XRay!" << endl;
23*6db8c59fSFangrui Song   // NOISY: Hello, XRay!
24*6db8c59fSFangrui Song   // QUIET: Hello, XRay!
25*6db8c59fSFangrui Song   // DEFAULT: Hello, XRay!
26*6db8c59fSFangrui Song }
27