Skip to content

Commit 3393751

Browse files
committed
test #pragma GCC diagnostic ignored/error/warn '-Wfloat-conversion'
1 parent 0e280fc commit 3393751

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

unittest/misc_test.cc

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,6 +1399,37 @@ TEST_F(MiscTest, testVariant) {
13991399
std::cout<<sizeof(a)<<std::endl;
14001400
}
14011401

1402+
#include <absl/strings/str_join.h>
1403+
1404+
template<typename Type>
1405+
struct ColumnBuilder {
1406+
void append(const Type& value) {
1407+
data.push_back(value);
1408+
}
1409+
//template<typename T, typename=std::enable_if_t<std::is_arithmetic_v<T>&&!std::is_same_v<T, Type>, T>>
1410+
//void append(const T& value) {
1411+
// append(static_cast<Type>(value));
1412+
//}
1413+
void print() {
1414+
std::cout<<absl::StrJoin(data, ",")<<std::endl;
1415+
}
1416+
private:
1417+
std::vector<Type> data;
1418+
};
1419+
1420+
TEST_F(MiscTest, testAppend){
1421+
ColumnBuilder<int> x;
1422+
#pragma GCC diagnostic ignored "-Wconversion"
1423+
#pragma GCC diagnostic ignored "-Wfloat-conversion"
1424+
double y = 3.1415926;
1425+
x.append(0.45);
1426+
x.append(0.3434);
1427+
x.append(y);
1428+
#pragma GCC diagnostic pop
1429+
#pragma GCC diagnostic pop
1430+
x.print();
1431+
}
1432+
14021433
int main(int argc, char** argv) {
14031434
::testing::InitGoogleTest(&argc, argv);
14041435
return RUN_ALL_TESTS();

0 commit comments

Comments
 (0)