You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not sure this issues if fixable, but wanted to document it incase someone
else comes across it.
----------------------------------------------
What steps will reproduce the problem?
1. Compile attachment.
2. Run it.
$ clang++ -DDEBUG printto-example.cpp libgtest.a -lpthread && ./a.out
A is awesome
1-byte object <20>
$ g++ -DDEBUG printto-example.cpp libgtest.a -lpthread && ./a.out
A is awesome
1-byte object <00>
----------------------------------------------
What is the expected output? What do you see instead?
$ ./a.out
A is awesome
A is awesome
----------------------------------------------
Work around?
Create a PrintTo method for all the sub-classes.
----------------------------------------------
Why does this happen?
gtest has the following PrintTo template;
template <typename T>
void PrintTo(const T& value, ::std::ostream* os);
This templated PrintTo is specific when the PrintTo which takes the BaseClass.
----------------------------------------------
Possible solution
Use SFINAE to detect if the default PrintTo should be called. Example of how
this might work is found in the printto-possiblefix.cpp file.
----------------------------------------------
What version of Google Test are you using? On what operating system?
gtest 1.6.0-1ubuntu4, Linux Ubuntu Precise.
ii clang 3.0-6ubuntu3
Low-Level Virtual Machine (LLVM), C language
family frontend
ii clang-format 1.191733.53539707
clang-format
ii clang-tools 3.2-1
Clang tools
ii libclang-common-dev 3.0-6ubuntu3
clang library - Common development package
ii libllvm3.0 3.0-4ubuntu1
Low-Level Virtual Machine (LLVM), runtime
library
ii libllvm3.0:i386 3.0-4ubuntu1
Low-Level Virtual Machine (LLVM), runtime
library
ii llvm-3.0 3.0-4ubuntu1
Low-Level Virtual Machine (LLVM)
ii llvm-3.0-dev 3.0-4ubuntu1
Low-Level Virtual Machine (LLVM), libraries and
headers
ii llvm-3.0-runtime 3.0-4ubuntu1
Low-Level Virtual Machine (LLVM), bytecode
interpreter
ii gcc-4.6 4.6.3-1ubuntu5
GNU C compiler
ii gcc-4.6-base 4.6.3-1ubuntu5
GCC, the GNU Compiler Collection (base package)
ii gcc-4.6-base:i386 4.6.3-1ubuntu5
GCC, the GNU Compiler Collection (base package)
ii gcc-4.6-multilib 4.6.3-1ubuntu5
GNU C compiler (multilib files)
$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
$ clang --version
Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)
Target: x86_64-pc-linux-gnu
Thread model: posix
----------------------------------------------
Please provide any additional information below, such as a code snippet.
Original issue reported on code.google.com by mit...@mithis.com on 14 Oct 2013 at 9:35
Original issue reported on code.google.com by
mit...@mithis.com
on 14 Oct 2013 at 9:35Attachments:
The text was updated successfully, but these errors were encountered: