Files
codeql/cpp/ql/test/library-tests/syntax-zoo/staticlocals.cpp
Jeroen Ketema f649def3f8 C++: Silence a number of bogus consistency errors in syntax zoo
These were due to several functions occurring that would have the same TRAP
key. By making the functions static the TRAP keys will differ from each other.
2023-03-03 11:16:19 +01:00

45 lines
552 B
C++

namespace staticlocals {
int g() {
return 1;
}
int h() {
return 1;
}
static void f() {
static int i = g(), j = h();
static int k = g();
;
}
constexpr int addOne(int x) {
return x + 1;
}
struct C {
constexpr C() { }
};
void f2() {
constexpr int two = 2;
static int i = addOne(two);
static int j = addOne(2);
static C c{};
}
template<typename T>
struct Sizeof {
enum sizeof_enum { value = sizeof(T) };
};
template<typename T>
void f3() {
static int i = Sizeof<T>::value;
}
template void f3<int>();
}