| 40 | }; |
| 41 | |
| 42 | TEST_F(TestRDAnalyzer, NoResultHandleRegisterN) { |
| 43 | std::string Code = "extern \"C\" {\n" |
| 44 | "int sub2(int P) { return P; }\n" |
| 45 | "int sub1(int P) {\n" |
| 46 | " int V1 = P;\n" |
| 47 | " return sub2(V1);" |
| 48 | "}\n" |
| 49 | "void test() {\n" |
| 50 | " int V1 = 1;\n" |
| 51 | " int V2 = sub1(V1);\n" |
| 52 | "}\n" |
| 53 | "}\n"; |
| 54 | ASSERT_TRUE(loadCPP(Code)); |
| 55 | |
| 56 | auto Nodes = find("test", 0, 7, 0, {"test"}, nullptr); |
| 57 | ASSERT_EQ(Nodes.size(), 1); |
| 58 | |
| 59 | auto *I = IRAH->getInstruction("test", 0, 3); |
| 60 | ASSERT_TRUE(I); |
| 61 | ASSERT_NE(Nodes.find(RDNode(0, *I)), Nodes.end()); |
| 62 | } |
| 63 | |
| 64 | TEST_F(TestRDAnalyzer, SameRouteDiffTargetP) { |
| 65 | std::string Code = "extern \"C\" {\n" |
no test coverage detected