summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2018-02-12 10:20:09 +0000
committerSam McCall <sam.mccall@gmail.com>2018-02-12 10:20:09 +0000
commit2d8242d60db71f1687beaacfcc252656528ab331 (patch)
treec3ae6a2363fc5f01487fc0bc648efa0e8e8f08c8 /clang/lib/Frontend/CompilerInvocation.cpp
parentca4eddee0d8e04fd069232efdf8746fdf6e42b39 (diff)
downloadbcm5719-llvm-2d8242d60db71f1687beaacfcc252656528ab331.tar.gz
bcm5719-llvm-2d8242d60db71f1687beaacfcc252656528ab331.zip
[gtest] Support raw_ostream printing functions more comprehensively.
Summary: These are functions like operator<<(raw_ostream&, Foo). Previously these were only supported for messages. In the assertion EXPECT_EQ(A, B) << C; the local modifications would explicitly try to use raw_ostream printing for C. However A and B would look for a std::ostream printing function, and often fall back to gtest's default "168 byte object <00 01 FE 42 ...>". This patch pulls out the raw_ostream support into a new header under `custom/`. I changed the mechanism: instead of a convertible stream, we wrap the printed value in a proxy object to allow it to be sent to a std::ostream. I think the new way is clearer. I also changed the policy: we prefer raw_ostream printers over std::ostream ones. This is because the fallback printers are defined using std::ostream, while all the raw_ostream printers should be "good". Reviewers: ilya-biryukov, chandlerc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D43091 llvm-svn: 324876
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud