From edbe9f137ee5cbd81a62734aac12b1ccc1b35c88 Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Fri, 18 Nov 2016 14:07:40 +0100
Subject: [PATCH] report only one warning during double to int conversion

---
 .../src/com/oracle/truffle/r/runtime/ops/na/NACheck.java    | 6 +++---
 .../src/com/oracle/truffle/r/test/ExpectedTestOutput.test   | 2 +-
 .../truffle/r/test/builtins/TestBuiltin_asinteger.java      | 3 +--
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/na/NACheck.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/na/NACheck.java
index feeb6a124f..6b2bbd3a2e 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/na/NACheck.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/ops/na/NACheck.java
@@ -350,9 +350,9 @@ public final class NACheck {
                 }
                 result[i] = intValue;
             }
-            if (warning) {
-                RError.warning(RError.SHOW_CALLER2, RError.Message.NA_INTRODUCED_COERCION);
-            }
+        }
+        if (warning) {
+            RError.warning(RError.SHOW_CALLER2, RError.Message.NA_INTRODUCED_COERCION_INT);
         }
         return result;
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index ad7bb48663..90532417fa 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -6438,7 +6438,7 @@ integer(0)
 #argv <- list(4999.0000000001);as.integer(argv[[1]]);
 [1] 4999
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asinteger.testasinteger17#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asinteger.testasinteger17#
 #argv <- list(structure(c(100, -1e-13, Inf, -Inf, NaN, 3.14159265358979, NA), .Names = c(' 100', '-1e-13', ' Inf', '-Inf', ' NaN', '3.14', '  NA')));as.integer(argv[[1]]);
 [1] 100   0  NA  NA  NA   3  NA
 Warning message:
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asinteger.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asinteger.java
index 90ef68d16f..dc6b2ebb7a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asinteger.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asinteger.java
@@ -96,8 +96,7 @@ public class TestBuiltin_asinteger extends TestBase {
 
     @Test
     public void testasinteger17() {
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext,
-                        "argv <- list(structure(c(100, -1e-13, Inf, -Inf, NaN, 3.14159265358979, NA), .Names = c(' 100', '-1e-13', ' Inf', '-Inf', ' NaN', '3.14', '  NA')));as.integer(argv[[1]]);");
+        assertEval("argv <- list(structure(c(100, -1e-13, Inf, -Inf, NaN, 3.14159265358979, NA), .Names = c(' 100', '-1e-13', ' Inf', '-Inf', ' NaN', '3.14', '  NA')));as.integer(argv[[1]]);");
     }
 
     @Test
-- 
GitLab