annotate unittests/IR/UserTest.cpp @ 148:63bd29f05246

merged
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Aug 2019 19:46:37 +0900
parents c2174574ed3a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 //===- llvm/unittest/IR/UserTest.cpp - User unit tests --------------------===//
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 //
147
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 121
diff changeset
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 121
diff changeset
4 // See https://llvm.org/LICENSE.txt for license information.
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 121
diff changeset
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 //
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 //===----------------------------------------------------------------------===//
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
9 #include "llvm/IR/User.h"
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 #include "llvm/AsmParser/Parser.h"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 #include "llvm/IR/Function.h"
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
12 #include "llvm/IR/Instructions.h"
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 #include "llvm/IR/LLVMContext.h"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 #include "llvm/IR/Module.h"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 #include "llvm/Support/SourceMgr.h"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 #include "gtest/gtest.h"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 using namespace llvm;
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 namespace {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 TEST(UserTest, ValueOpIteration) {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 LLVMContext C;
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 const char *ModuleString = "define void @f(i32 %x, i32 %y) {\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 "entry:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 " switch i32 undef, label %s0\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 " [ i32 1, label %s1\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 " i32 2, label %s2\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 " i32 3, label %s3\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 " i32 4, label %s4\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 " i32 5, label %s5\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 " i32 6, label %s6\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 " i32 7, label %s7\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 " i32 8, label %s8\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 " i32 9, label %s9 ]\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 "\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 "s0:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 "s1:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 "s2:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 "s3:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 "s4:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 "s5:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 "s6:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 "s7:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 "s8:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 "s9:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 " br label %exit\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 "\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 "exit:\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 " %phi = phi i32 [ 0, %s0 ], [ 1, %s1 ],\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 " [ 2, %s2 ], [ 3, %s3 ],\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 " [ 4, %s4 ], [ 5, %s5 ],\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 " [ 6, %s6 ], [ 7, %s7 ],\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 " [ 8, %s8 ], [ 9, %s9 ]\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 " ret void\n"
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 "}\n";
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 SMDiagnostic Err;
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 std::unique_ptr<Module> M = parseAssemblyString(ModuleString, Err, C);
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 Function *F = M->getFunction("f");
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 BasicBlock &ExitBB = F->back();
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 PHINode &P = cast<PHINode>(ExitBB.front());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 EXPECT_TRUE(P.value_op_begin() == P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 EXPECT_FALSE(P.value_op_begin() == P.value_op_end());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 EXPECT_TRUE(P.value_op_begin() != P.value_op_end());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 EXPECT_FALSE(P.value_op_end() != P.value_op_end());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 EXPECT_TRUE(P.value_op_begin() < P.value_op_end());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 EXPECT_FALSE(P.value_op_begin() < P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 EXPECT_TRUE(P.value_op_end() > P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 EXPECT_FALSE(P.value_op_begin() > P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 EXPECT_TRUE(P.value_op_begin() <= P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 EXPECT_FALSE(P.value_op_end() <= P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 EXPECT_TRUE(P.value_op_begin() >= P.value_op_begin());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 EXPECT_FALSE(P.value_op_begin() >= P.value_op_end());
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 EXPECT_EQ(10, std::distance(P.value_op_begin(), P.value_op_end()));
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
86 // const value op iteration
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
87 const PHINode *IP = &P;
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
88 EXPECT_TRUE(IP->value_op_begin() == IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
89 EXPECT_FALSE(IP->value_op_begin() == IP->value_op_end());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
90 EXPECT_TRUE(IP->value_op_begin() != IP->value_op_end());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
91 EXPECT_FALSE(IP->value_op_end() != IP->value_op_end());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
92 EXPECT_TRUE(IP->value_op_begin() < IP->value_op_end());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
93 EXPECT_FALSE(IP->value_op_begin() < IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
94 EXPECT_TRUE(IP->value_op_end() > IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
95 EXPECT_FALSE(IP->value_op_begin() > IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
96 EXPECT_TRUE(IP->value_op_begin() <= IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
97 EXPECT_FALSE(IP->value_op_end() <= IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
98 EXPECT_TRUE(IP->value_op_begin() >= IP->value_op_begin());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
99 EXPECT_FALSE(IP->value_op_begin() >= IP->value_op_end());
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
100 EXPECT_EQ(10, std::distance(IP->value_op_begin(), IP->value_op_end()));
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
101
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 User::value_op_iterator I = P.value_op_begin();
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 I += 3;
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 EXPECT_EQ(std::next(P.value_op_begin(), 3), I);
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 EXPECT_EQ(P.getOperand(3), *I);
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 I++;
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 EXPECT_EQ(P.getOperand(6), I[2]);
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 EXPECT_EQ(P.value_op_end(), (I - 2) + 8);
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
109
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
110 // const value op
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
111 User::const_value_op_iterator CI = IP->value_op_begin();
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
112 CI += 3;
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
113 EXPECT_EQ(std::next(IP->value_op_begin(), 3), CI);
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
114 EXPECT_EQ(IP->getOperand(3), *CI);
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
115 CI++;
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
116 EXPECT_EQ(IP->getOperand(6), CI[2]);
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
117 EXPECT_EQ(IP->value_op_end(), (CI - 2) + 8);
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
120 TEST(UserTest, PersonalityUser) {
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
121 LLVMContext Context;
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
122 Module M("", Context);
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
123 FunctionType *RetVoidTy = FunctionType::get(Type::getVoidTy(Context), false);
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
124 Function *PersonalityF = Function::Create(
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
125 RetVoidTy, GlobalValue::ExternalLinkage, "PersonalityFn", &M);
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
126 Function *TestF =
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
127 Function::Create(RetVoidTy, GlobalValue::ExternalLinkage, "TestFn", &M);
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
128
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
129 // Set up the personality function
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
130 TestF->setPersonalityFn(PersonalityF);
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
131 auto PersonalityUsers = PersonalityF->user_begin();
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
132
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
133 // One user and that user is the Test function
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
134 EXPECT_EQ(*PersonalityUsers, TestF);
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
135 EXPECT_EQ(++PersonalityUsers, PersonalityF->user_end());
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
136
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
137 // Reset the personality function
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
138 TestF->setPersonalityFn(nullptr);
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
139
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
140 // No users should remain
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
141 EXPECT_TRUE(TestF->user_empty());
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
142 }
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
143
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 } // end anonymous namespace