Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
googletest
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
googletest
Commits
21474896
Commit
21474896
authored
Aug 14, 2012
by
vladlosev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed Native Client build of gtest when using glibc (by Ben Smith).
parent
1f7bb45e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
55 additions
and
16 deletions
+55
-16
gtest-port.h
include/gtest/internal/gtest-port.h
+53
-14
gtest-filepath.cc
src/gtest-filepath.cc
+2
-2
No files found.
include/gtest/internal/gtest-port.h
View file @
21474896
...
@@ -72,6 +72,8 @@
...
@@ -72,6 +72,8 @@
// Test's own tr1 tuple implementation should be
// Test's own tr1 tuple implementation should be
// used. Unused when the user sets
// used. Unused when the user sets
// GTEST_HAS_TR1_TUPLE to 0.
// GTEST_HAS_TR1_TUPLE to 0.
// GTEST_LANG_CXX11 - Define it to 1/0 to indicate that Google Test
// is building in C++11/C++98 mode.
// GTEST_LINKED_AS_SHARED_LIBRARY
// GTEST_LINKED_AS_SHARED_LIBRARY
// - Define to 1 when compiling tests that use
// - Define to 1 when compiling tests that use
// Google Test as a shared library (known as
// Google Test as a shared library (known as
...
@@ -259,6 +261,19 @@
...
@@ -259,6 +261,19 @@
# define GTEST_OS_QNX 1
# define GTEST_OS_QNX 1
#endif // __CYGWIN__
#endif // __CYGWIN__
#ifndef GTEST_LANG_CXX11
// gcc and clang define __GXX_EXPERIMENTAL_CXX0X__ when
// -std={c,gnu}++{0x,11} is passed. The C++11 standard specifies a
// value for __cplusplus, and recent versions of clang, gcc, and
// probably other compilers set that too in C++11 mode.
# if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L
// Compiling in at least C++11 mode.
# define GTEST_LANG_CXX11 1
# else
# define GTEST_LANG_CXX11 0
# endif
#endif
// Brings in definitions for functions used in the testing::internal::posix
// Brings in definitions for functions used in the testing::internal::posix
// namespace (read, write, close, chdir, isatty, stat). We do not currently
// namespace (read, write, close, chdir, isatty, stat). We do not currently
// use them on Windows Mobile.
// use them on Windows Mobile.
...
@@ -267,12 +282,7 @@
...
@@ -267,12 +282,7 @@
// is not the case, we need to include headers that provide the functions
// is not the case, we need to include headers that provide the functions
// mentioned above.
// mentioned above.
# include <unistd.h>
# include <unistd.h>
# if !GTEST_OS_NACL
# include <strings.h>
// TODO(vladl@google.com): Remove this condition when Native Client SDK adds
// strings.h (tracked in
// http://code.google.com/p/nativeclient/issues/detail?id=1175).
# include <strings.h> // Native Client doesn't provide strings.h.
# endif
#elif !GTEST_OS_WINDOWS_MOBILE
#elif !GTEST_OS_WINDOWS_MOBILE
# include <direct.h>
# include <direct.h>
# include <io.h>
# include <io.h>
...
@@ -466,15 +476,28 @@
...
@@ -466,15 +476,28 @@
// The user didn't tell us, so we need to figure it out.
// The user didn't tell us, so we need to figure it out.
// We use our own TR1 tuple if we aren't sure the user has an
// We use our own TR1 tuple if we aren't sure the user has an
// implementation of it already. At this time, GCC 4.0.0+ and MSVC
// implementation of it already. At this time, libstdc++ 4.0.0+ and
// 2010 are the only mainstream compilers that come with a TR1 tuple
// MSVC 2010 are the only mainstream standard libraries that come
// implementation. NVIDIA's CUDA NVCC compiler pretends to be GCC by
// with a TR1 tuple implementation. NVIDIA's CUDA NVCC compiler
// defining __GNUC__ and friends, but cannot compile GCC's tuple
// pretends to be GCC by defining __GNUC__ and friends, but cannot
// implementation. MSVC 2008 (9.0) provides TR1 tuple in a 323 MB
// compile GCC's tuple implementation. MSVC 2008 (9.0) provides TR1
// Feature Pack download, which we cannot assume the user has.
// tuple in a 323 MB Feature Pack download, which we cannot assume the
// QNX's QCC compiler is a modified GCC but it doesn't support TR1 tuple.
// user has. QNX's QCC compiler is a modified GCC but it doesn't
// support TR1 tuple. libc++ only provides std::tuple, in C++11 mode,
// and it can be used with some compilers that define __GNUC__.
# if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \
# if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \
&& !GTEST_OS_QNX) || _MSC_VER >= 1600
&& !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) || _MSC_VER >= 1600
# define GTEST_ENV_HAS_TR1_TUPLE_ 1
# endif
// C++11 specifies that <tuple> provides std::tuple. Users can't use
// gtest in C++11 mode until their standard library is at least that
// compliant.
# if GTEST_LANG_CXX11
# define GTEST_ENV_HAS_STD_TUPLE_ 1
# endif
# if GTEST_ENV_HAS_TR1_TUPLE_ || GTEST_ENV_HAS_STD_TUPLE_
# define GTEST_USE_OWN_TR1_TUPLE 0
# define GTEST_USE_OWN_TR1_TUPLE 0
# else
# else
# define GTEST_USE_OWN_TR1_TUPLE 1
# define GTEST_USE_OWN_TR1_TUPLE 1
...
@@ -489,6 +512,22 @@
...
@@ -489,6 +512,22 @@
# if GTEST_USE_OWN_TR1_TUPLE
# if GTEST_USE_OWN_TR1_TUPLE
# include "gtest/internal/gtest-tuple.h"
# include "gtest/internal/gtest-tuple.h"
# elif GTEST_ENV_HAS_STD_TUPLE_
# include <tuple>
// C++11 puts its tuple into the ::std namespace rather than
// ::std::tr1. gtest expects tuple to live in ::std::tr1, so put it there.
// This causes undefined behavior, but supported compilers react in
// the way we intend.
namespace
std
{
namespace
tr1
{
using
::
std
::
get
;
using
::
std
::
make_tuple
;
using
::
std
::
tuple
;
using
::
std
::
tuple_element
;
using
::
std
::
tuple_size
;
}
}
# elif GTEST_OS_SYMBIAN
# elif GTEST_OS_SYMBIAN
// On Symbian, BOOST_HAS_TR1_TUPLE causes Boost's TR1 tuple library to
// On Symbian, BOOST_HAS_TR1_TUPLE causes Boost's TR1 tuple library to
...
...
src/gtest-filepath.cc
View file @
21474896
...
@@ -39,8 +39,8 @@
...
@@ -39,8 +39,8 @@
#elif GTEST_OS_WINDOWS
#elif GTEST_OS_WINDOWS
# include <direct.h>
# include <direct.h>
# include <io.h>
# include <io.h>
#elif GTEST_OS_SYMBIAN
|| GTEST_OS_NACL
#elif GTEST_OS_SYMBIAN
// Symbian OpenC
and NaCl have
PATH_MAX in sys/syslimits.h
// Symbian OpenC
has
PATH_MAX in sys/syslimits.h
# include <sys/syslimits.h>
# include <sys/syslimits.h>
#else
#else
# include <limits.h>
# include <limits.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment