diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2003-03-28 19:50:46 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2003-03-28 19:50:46 -0500 |
commit | ff77a44171a828654464107a574edfd2e05040d3 (patch) | |
tree | aeb17e6dc32578544e556710b77ca5a59624bf8b | |
parent | f7b9026e22187c0467cfbb7822790ed81ec8b46c (diff) | |
download | gcc-ff77a44171a828654464107a574edfd2e05040d3.zip gcc-ff77a44171a828654464107a574edfd2e05040d3.tar.gz gcc-ff77a44171a828654464107a574edfd2e05040d3.tar.bz2 |
re PR c++/10245 (?: operator requires public copy constructor of return type)
PR c++/10245
* cvt.c (force_rvalue): New fn.
* call.c (build_conditional_expr): Use it.
* cp-tree.h: Declare it.
[[Split portion of a mixed commit.]]
From-SVN: r65006.2
-rw-r--r-- | gcc/testsuite/g++.dg/conversion/cond2.C | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/conversion/cond2.C b/gcc/testsuite/g++.dg/conversion/cond2.C new file mode 100644 index 0000000..d31de33 --- /dev/null +++ b/gcc/testsuite/g++.dg/conversion/cond2.C @@ -0,0 +1,15 @@ +// PR c++/10245 + +struct X {}; + +struct Y { + Y (); + operator X () const; +private: + Y (const Y &); +}; + +Y y; +void foo() { + X x = (1 ? Y() : Y()); +} |