Skip to content

Commit 1d5675a

Browse files
committed
Add extensive Interpreter tests for Cpp::Evaluate
1 parent f4fca87 commit 1d5675a

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

unittests/CppInterOp/InterpreterTest.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,22 @@ TYPED_TEST(CppInterOpTest, InterpreterTestEvaluate) {
7979
bool HadError;
8080
EXPECT_TRUE(Cpp::Evaluate("#error", &HadError) == (intptr_t)~0UL);
8181
EXPECT_TRUE(HadError);
82+
// for llvm < 19 this tests different overloads of
83+
// __clang_Interpreter_SetValueNoAlloc
8284
EXPECT_EQ(Cpp::Evaluate("int i = 11; ++i", &HadError), 12);
83-
EXPECT_FALSE(HadError) ;
85+
EXPECT_FALSE(HadError);
86+
EXPECT_EQ(Cpp::Evaluate("double a = 12.; a", &HadError), 12.);
87+
EXPECT_FALSE(HadError);
88+
EXPECT_EQ(Cpp::Evaluate("float b = 13.; b", &HadError), 13.);
89+
EXPECT_FALSE(HadError);
90+
EXPECT_EQ(Cpp::Evaluate("long double c = 14.; c", &HadError), 14.);
91+
EXPECT_FALSE(HadError);
92+
EXPECT_EQ(Cpp::Evaluate("long double d = 15.; d", &HadError), 15.);
93+
EXPECT_FALSE(HadError);
94+
EXPECT_EQ(Cpp::Evaluate("unsigned long long e = 16; e", &HadError), 16);
95+
EXPECT_FALSE(HadError);
96+
EXPECT_NE(Cpp::Evaluate("struct S{} s; s", &HadError), (intptr_t)~0UL);
97+
EXPECT_FALSE(HadError);
8498
}
8599

86100
TYPED_TEST(CppInterOpTest, InterpreterTestDeleteInterpreter) {

0 commit comments

Comments
 (0)