diff options
author | Brad King <brad.king@kitware.com> | 2010-06-10 19:18:21 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-06-10 19:22:40 (GMT) |
commit | f20d091a2c5b61eeedfd604530f4554518d80d3f (patch) | |
tree | 062730d6fbaca94c3301a3ea67e1ae6fd335fbe0 | |
parent | 3f929475246a3d89ca5d4c5db301d1c4705d0d69 (diff) | |
download | CMake-f20d091a2c5b61eeedfd604530f4554518d80d3f.zip CMake-f20d091a2c5b61eeedfd604530f4554518d80d3f.tar.gz CMake-f20d091a2c5b61eeedfd604530f4554518d80d3f.tar.bz2 |
Tru64: Place cmOStringStream vtable uniquely (#10541)
GCC places the vtable in the object implementing the first non-pure,
non-inline virtual method. Since the symbol is not weak on Tru64, make
the location unique by putting the destructor in a single object file.
-rw-r--r-- | Source/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Source/cmStandardIncludes.cxx | 16 | ||||
-rw-r--r-- | Source/cmStandardIncludes.h | 3 | ||||
-rwxr-xr-x | bootstrap | 1 |
4 files changed, 20 insertions, 1 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index dc73cec..dbbb558 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -111,6 +111,7 @@ ENDIF(CMAKE_USE_ELF_PARSER) # Sources for CMakeLib # SET(SRCS + cmStandardIncludes.cxx cmBootstrapCommands.cxx cmCacheManager.cxx cmCacheManager.h diff --git a/Source/cmStandardIncludes.cxx b/Source/cmStandardIncludes.cxx new file mode 100644 index 0000000..a4bdb2e --- /dev/null +++ b/Source/cmStandardIncludes.cxx @@ -0,0 +1,16 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2010 Kitware, Inc., Insight Software Consortium + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#include "cmStandardIncludes.h" +#if !defined(CMAKE_NO_ANSI_STRING_STREAM) +cmOStringStream::cmOStringStream() {} +cmOStringStream::~cmOStringStream() {} +#endif diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index 9b9cb3b..e8decbb 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -241,7 +241,8 @@ typedef cmsys::String cmStdString; class cmOStringStream: public std::ostringstream { public: - cmOStringStream() {} + cmOStringStream(); + ~cmOStringStream(); private: cmOStringStream(const cmOStringStream&); void operator=(const cmOStringStream&); @@ -166,6 +166,7 @@ CMAKE_UNUSED_SOURCES="\ " CMAKE_CXX_SOURCES="\ + cmStandardIncludes \ cmake \ cmakemain \ cmakewizard \ |