blob: 03b210d5f2d1a5e9df61c0642d7a14b6bda385d4 [file] [log] [blame]
// { dg-do compile { target c++20 } }
// { dg-additional-options -fdump-tree-gimple }
// { dg-final { scan-tree-dump-times "hot label" 5 "gimple" } }
// { dg-final { scan-tree-dump-times "cold label" 3 "gimple" } }
bool b;
template <class T> int f()
{
if (b)
[[likely]] return 0;
else
[[unlikely]] flabel: return 1;
switch (b)
{
[[likely]] case true: break;
};
return 1;
}
int main()
{
if (b)
[[likely]] return 0;
else if (b)
[[unlikely]] elabel:
return 1;
else
[[likely]] b = false;
f<int>();
switch (b)
{
[[likely]] case true: break;
[[unlikely]] case false: break;
};
}