Files
clang-p2996/clang/test/AST/Interp/if.cpp
Timm Bäder 0e93b6bd51 [clang][Interp][NFC] Add more tests for if expressions
Rename the old if_consteval.cpp to just if.cpp and add tests for the
if declaration.
2022-10-14 10:21:53 +02:00

47 lines
813 B
C++

// RUN: %clang_cc1 -std=c++2b -fsyntax-only -fexperimental-new-constant-interpreter %s -verify
// RUN: %clang_cc1 -std=c++2b -fsyntax-only %s -verify=ref
// expected-no-diagnostics
// ref-no-diagnostics
namespace ConstEval {
constexpr int f() {
int i = 0;
if consteval {
i = 1;
}
return i;
}
static_assert(f() == 1, "");
constexpr int f2() {
int i = 0;
if !consteval {
i = 12;
if consteval {
i = i + 1;
}
}
return i;
}
static_assert(f2() == 0, "");
};
namespace InitDecl {
constexpr bool f() {
if (int i = 5; i != 10) {
return true;
}
return false;
}
static_assert(f(), "");
constexpr bool f2() {
if (bool b = false; b) {
return true;
}
return false;
}
static_assert(!f2(), "");
};