What steps will reproduce the problem?
1. Compile any test case using death test asserts (eq. EXPECT_EXIT()) on
AIX
What is the expected output? What do you see instead?
The following error occurs:
gtest-1.3.0/include/gtest/internal/gtest-death-test-internal.h", line
209.7: 1540-0274 (S) The name lookup for "close" did not find a
declaration.
"/usr/include/unistd.h", line 142.12: 1540-1298 (I) "extern "C" int
close(int)" needs to be declared in the containing scope to be found by
name lookup.
What version of the product are you using? On what operating system?
gtest 1.3.0
uname -a
AIX 3 5
Compiler:
lslpp -L | grep cpp | grep core
vacpp.cmp.core 8.0.0.20 C F IBM XL C/C++ Compiler
Please provide any additional information below.
The <unistd.h> should be included explicitly. The patch below solves this
problem:
==== gtest-1.3.0/include/gtest/internal/gtest-port.h#1 - gtest-
1.3.0/include/gtest/internal/gtest-port.h ====
@@ -379,11 +381,16 @@
#if GTEST_HAS_STD_STRING && (GTEST_OS_LINUX || \
GTEST_OS_MAC || \
GTEST_OS_CYGWIN || \
(GTEST_OS_WINDOWS && _MSC_VER >= 1400))
#define GTEST_HAS_DEATH_TEST 1
#include <vector>
#endif
+#ifndef _MSC_VER
+#include <unistd.h>
+#endif
+
// Determines whether to support value-parameterized tests.
#if defined(__GNUC__) || (_MSC_VER >= 1400)
Original issue reported on code.google.com by ade...@gmail.com on 29 Jul 2009 at 2:57
Original issue reported on code.google.com by
ade...@gmail.com
on 29 Jul 2009 at 2:57