xref: /llvm-project/clang/test/CodeGenCXX/static-mutable.cpp (revision e070fd2ac88f067f3c78a9adc9f2a7d58c0b127b)
1*e070fd2aSRichard Smith // RUN: %clang_cc1 %s -triple=i686-linux-gnu -emit-llvm -o - | FileCheck %s
2*e070fd2aSRichard Smith 
3*e070fd2aSRichard Smith struct S {
4*e070fd2aSRichard Smith   mutable int n;
5*e070fd2aSRichard Smith };
f()6*e070fd2aSRichard Smith int f() {
7*e070fd2aSRichard Smith   // The purpose of this test is to ensure that this variable is a global
8*e070fd2aSRichard Smith   // not a constant.
9*e070fd2aSRichard Smith   // CHECK: @_ZZ1fvE1s = internal global {{.*}} { i32 12 }
10*e070fd2aSRichard Smith   static const S s = { 12 };
11*e070fd2aSRichard Smith   return ++s.n;
12*e070fd2aSRichard Smith }
13