From 31e1722b03433a44a53f03fa17900e6d1c9d4f30 Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Tue, 3 Oct 2017 13:47:46 +0200
Subject: [PATCH] Fix complete flag handling in ProcTime

---
 .../src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java
index 2492d86ee9..2ad13f71a9 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ProcTime.java
@@ -58,10 +58,11 @@ public abstract class ProcTime extends RBuiltinNode.Arg0 {
         long sysTimeInNanos = userSysTimeInNanos[1];
         data[0] = userTimeInNanos < 0 ? RRuntime.DOUBLE_NA : asDoubleSecs(userTimeInNanos);
         data[1] = sysTimeInNanos < 0 ? RRuntime.DOUBLE_NA : asDoubleSecs(sysTimeInNanos);
+        boolean complete = userTimeInNanos >= 0 && sysTimeInNanos >= 0;
         data[2] = asDoubleSecs(nowInNanos);
         long[] childTimes = timings.childTimesInNanos();
         boolean na = childTimes[0] < 0 || childTimes[1] < 0;
-        boolean complete = na ? RDataFactory.INCOMPLETE_VECTOR : RDataFactory.COMPLETE_VECTOR;
+        complete &= !na;
         data[3] = na ? RRuntime.DOUBLE_NA : asDoubleSecs(childTimes[0]);
         data[4] = na ? RRuntime.DOUBLE_NA : asDoubleSecs(childTimes[1]);
         if (RNAMES == null) {
-- 
GitLab