xref: /llvm-project/clang/test/CodeGen/pragma-msvc-optimize.c (revision 186bea3750d6b349de0e71044d95e2a42e087b4c)
1*186bea37SStephen Long // RUN: %clang_cc1 -O2 -emit-llvm -fms-extensions -o - %s | FileCheck %s
2*186bea37SStephen Long 
3*186bea37SStephen Long #pragma optimize("", off)
4*186bea37SStephen Long 
5*186bea37SStephen Long // CHECK: define{{.*}} void @f0(){{.*}} #[[OPTNONE:[0-9]+]]
f0()6*186bea37SStephen Long void f0() {}
7*186bea37SStephen Long 
8*186bea37SStephen Long // CHECK: define{{.*}} void @f1(){{.*}} #[[OPTNONE]]
f1()9*186bea37SStephen Long void f1() {}
10*186bea37SStephen Long 
11*186bea37SStephen Long #pragma optimize("", on)
12*186bea37SStephen Long 
13*186bea37SStephen Long // CHECK: define{{.*}} void @f2(){{.*}} #[[NO_OPTNONE:[0-9]+]]
f2()14*186bea37SStephen Long void f2() {}
15*186bea37SStephen Long 
16*186bea37SStephen Long // CHECK: define{{.*}} void @f3(){{.*}} #[[NO_OPTNONE]]
f3()17*186bea37SStephen Long void f3() {}
18*186bea37SStephen Long 
19*186bea37SStephen Long // CHECK:         attributes #[[OPTNONE]] = {{{.*}}optnone{{.*}}}
20*186bea37SStephen Long // CHECK-NOT:     attributes #[[NO_OPTNONE]] = {{{.*}}optnone{{.*}}}
21