add FMF for CreateCall variant
[oota-llvm.git] / unittests / IR / IRBuilderTest.cpp
index e0da018d7bfe5638df642415b79b56b8ab19a0e3..82565ccaebcf22966e3fa8ce837ea065305b17e8 100644 (file)
@@ -217,6 +217,11 @@ TEST_F(IRBuilderTest, FastMathFlags) {
   FCall = Builder.CreateCall(Callee, None);
   EXPECT_FALSE(FCall->hasNoNaNs());
 
+  Value *V = 
+      Function::Create(CalleeTy, Function::ExternalLinkage, "", M.get());
+  FCall = Builder.CreateCall(V, None);
+  EXPECT_FALSE(FCall->hasNoNaNs());
+
   FMF.clear();
   FMF.setNoNaNs();
   Builder.SetFastMathFlags(FMF);
@@ -226,6 +231,11 @@ TEST_F(IRBuilderTest, FastMathFlags) {
   EXPECT_TRUE(Builder.getFastMathFlags().NoNaNs);
   EXPECT_TRUE(FCall->hasNoNaNs());
 
+  FCall = Builder.CreateCall(V, None);
+  EXPECT_TRUE(Builder.getFastMathFlags().any());
+  EXPECT_TRUE(Builder.getFastMathFlags().NoNaNs);
+  EXPECT_TRUE(FCall->hasNoNaNs());
+
   Builder.clearFastMathFlags();
 
   // To test a copy, make sure that a '0' and a '1' change state.