public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14463] New: copy constructor access checked when passing reference arg
@ 2004-03-06 19:27 arnej at europe dot yahoo-inc dot com
2004-03-06 19:31 ` [Bug c++/14463] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: arnej at europe dot yahoo-inc dot com @ 2004-03-06 19:27 UTC (permalink / raw)
To: gcc-bugs
gcc 3.4 snapshots currently have problems compiling packages like
cppunit. I just checked snapshot 3.4.0 20040303 (prerelease)
and this problem is still there.
Here's a simplified example of the problem, I hope this i helpful.
// test code
class TestFailure {
private:
TestFailure(const TestFailure &);
public:
TestFailure(int *p);
};
void dummy(const TestFailure &failure);
void usingfunc(int *intp) {
// this:
{ TestFailure foo(intp);
dummy(foo);
}
// should be the same as this
dummy( TestFailure(intp) );
}
produces this error:
t.cpp: In function `void usingfunc(int*)':
t.cpp:5: error: `TestFailure::TestFailure(const TestFailure&)' is private
t.cpp:18: error: within this context
Full output from gcc -v -c t.cpp:
Reading specs from /snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.0/specs
Configured with: ./configure --prefix=/snapshot
Thread model: posix
gcc version 3.4.0 20040303 (prerelease)
/snapshot/libexec/gcc/i386-unknown-freebsd4.9/3.4.0/cc1plus -quiet -v t.cpp
-quiet -dumpbase t.cpp -auxbase t -version -o /var/tmp//ccuJ8mOU.s
ignoring nonexistent directory "/snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.
0/../../../../i386-unknown-freebsd4.9/include"
#include "..." search starts here:
#include <...> search starts here:
/snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.0/../../../../include/c++/3.4.0
/snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.0/../../../../include/c++/3.4.
0/i386-unknown-freebsd4.9
/snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.0/../../../../include/c++/3.4.
0/backward
/usr/local/include
/snapshot/include
/snapshot/lib/gcc/i386-unknown-freebsd4.9/3.4.0/include
/usr/include
End of search list.
GNU C++ version 3.4.0 20040303 (prerelease) (i386-unknown-freebsd4.9)
compiled by GNU C version 2.95.4 20020320 [FreeBSD].
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=130534
t.cpp: In function `void usingfunc(int*)':
t.cpp:5: error: `TestFailure::TestFailure(const TestFailure&)' is private
t.cpp:18: error: within this context
--
Summary: copy constructor access checked when passing reference
arg
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: arnej at europe dot yahoo-inc dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i386-unknown-freebsd4.9
GCC host triplet: i386-unknown-freebsd4.9
GCC target triplet: i386-unknown-freebsd4.9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14463
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/14463] [3.4/3.5 Regression] copy constructor access checked when passing reference arg
2004-03-06 19:27 [Bug c++/14463] New: copy constructor access checked when passing reference arg arnej at europe dot yahoo-inc dot com
@ 2004-03-06 19:31 ` pinskia at gcc dot gnu dot org
2004-03-07 15:16 ` giovannibajo at libero dot it
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-06 19:31 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|copy constructor access |[3.4/3.5 Regression] copy
|checked when passing |constructor access checked
|reference arg |when passing reference arg
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14463
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/14463] [3.4/3.5 Regression] copy constructor access checked when passing reference arg
2004-03-06 19:27 [Bug c++/14463] New: copy constructor access checked when passing reference arg arnej at europe dot yahoo-inc dot com
2004-03-06 19:31 ` [Bug c++/14463] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-03-07 15:16 ` giovannibajo at libero dot it
2004-08-27 8:47 ` pinskia at gcc dot gnu dot org
2004-08-27 8:48 ` pinskia at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: giovannibajo at libero dot it @ 2004-03-07 15:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-03-07 15:16 -------
No: "TestFailure(intp)" is an rvalue ([basic.lval]/6, or [expr.type.conv]/1),
and binding a rvalue to a reference requires the construction of a temporary
([class.temporary]/1). When doing so, a copy constructor might be invoked. The
standard (again at [class.temporary]/1) says that the copy can be elided, but
the semantic restrictions (involving accessibility) must be satisfied. Hence
GCC is correct here.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |giovannibajo at libero dot
| |it
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14463
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/14463] [3.4/3.5 Regression] copy constructor access checked when passing reference arg
2004-03-06 19:27 [Bug c++/14463] New: copy constructor access checked when passing reference arg arnej at europe dot yahoo-inc dot com
2004-03-06 19:31 ` [Bug c++/14463] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-03-07 15:16 ` giovannibajo at libero dot it
@ 2004-08-27 8:47 ` pinskia at gcc dot gnu dot org
2004-08-27 8:48 ` pinskia at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-27 8:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-27 08:47 -------
bug 12226.
*** This bug has been marked as a duplicate of 12226 ***
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14463
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/14463] [3.4/3.5 Regression] copy constructor access checked when passing reference arg
2004-03-06 19:27 [Bug c++/14463] New: copy constructor access checked when passing reference arg arnej at europe dot yahoo-inc dot com
` (2 preceding siblings ...)
2004-08-27 8:47 ` pinskia at gcc dot gnu dot org
@ 2004-08-27 8:48 ` pinskia at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-27 8:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-27 08:47 -------
Reopening to mark as a dup of ...
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14463
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-08-27 8:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-06 19:27 [Bug c++/14463] New: copy constructor access checked when passing reference arg arnej at europe dot yahoo-inc dot com
2004-03-06 19:31 ` [Bug c++/14463] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-03-07 15:16 ` giovannibajo at libero dot it
2004-08-27 8:47 ` pinskia at gcc dot gnu dot org
2004-08-27 8:48 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).