public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/21917] New: Missing warning? (or error?) @ 2005-06-04 22:18 igodard at pacbell dot net 2005-06-04 22:22 ` [Bug c++/21917] " igodard at pacbell dot net ` (4 more replies) 0 siblings, 5 replies; 9+ messages in thread From: igodard at pacbell dot net @ 2005-06-04 22:18 UTC (permalink / raw) To: gcc-bugs struct virt { virt() : i(2) {} virt(int i) : i(i){} int i; }; struct der1 : public virtual virt { der1(int i) : virt(i) {} }; struct der2 : public virtual virt { der2(int i) : virt(i) {} }; struct top : public der1, public der2 { top () : der1(0), der2(1) {} }; int main() { top t; } Compiles without comment. However, the null constructor for "virt" is called rather than the explicit constructor that is indicated by the constructor chain from top. In fact, the der* constructors say " : virt(i)" but that sub-constructor will never be called because virt is a virtual base class. I don't know if it is actually an error to try to explicitly construct a virtual base, but is sure is misleading and I think deserves at least a warning. -- Summary: Missing warning? (or error?) Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? (or error?) 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net @ 2005-06-04 22:22 ` igodard at pacbell dot net 2005-06-05 3:03 ` pinskia at gcc dot gnu dot org ` (3 subsequent siblings) 4 siblings, 0 replies; 9+ messages in thread From: igodard at pacbell dot net @ 2005-06-04 22:22 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From igodard at pacbell dot net 2005-06-04 22:22 ------- p.s. I suppose that if there is only a single path to the virtual base then explicit construction is meaningful and the explicit construction in the der* classes is not wrong. But in the constructor for "top" the compiler knows that there are multiple derivations from virt (it has to or it couldn't know to call the null constructor), so the warning could be issued in "top". Something like "base constructor virt(int) in der1(int) bypassed, virt() used instead"? Ivan -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? (or error?) 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net 2005-06-04 22:22 ` [Bug c++/21917] " igodard at pacbell dot net @ 2005-06-05 3:03 ` pinskia at gcc dot gnu dot org 2005-06-06 1:24 ` [Bug c++/21917] Missing warning? pinskia at gcc dot gnu dot org ` (2 subsequent siblings) 4 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-06-05 3:03 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-05 03:02 ------- This is how C++ is done, maybe a warning can be emitted but it seems like it will emitt too much for valid C++ code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net 2005-06-04 22:22 ` [Bug c++/21917] " igodard at pacbell dot net 2005-06-05 3:03 ` pinskia at gcc dot gnu dot org @ 2005-06-06 1:24 ` pinskia at gcc dot gnu dot org 2005-07-13 13:17 ` pinskia at gcc dot gnu dot org 2005-07-13 13:31 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-06-06 1:24 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Summary|Missing warning? (or error?)|Missing warning? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net ` (2 preceding siblings ...) 2005-06-06 1:24 ` [Bug c++/21917] Missing warning? pinskia at gcc dot gnu dot org @ 2005-07-13 13:17 ` pinskia at gcc dot gnu dot org 2005-07-13 13:31 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-07-13 13:17 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net ` (3 preceding siblings ...) 2005-07-13 13:17 ` pinskia at gcc dot gnu dot org @ 2005-07-13 13:31 ` pinskia at gcc dot gnu dot org 4 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-07-13 13:31 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <bug-21917-6594@http.gcc.gnu.org/bugzilla/>]
* [Bug c++/21917] Missing warning? [not found] <bug-21917-6594@http.gcc.gnu.org/bugzilla/> @ 2005-11-24 2:25 ` gdr at gcc dot gnu dot org 2007-01-09 15:02 ` manu at gcc dot gnu dot org 2007-01-09 16:36 ` igodard at pacbell dot net 2 siblings, 0 replies; 9+ messages in thread From: gdr at gcc dot gnu dot org @ 2005-11-24 2:25 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from gdr at gcc dot gnu dot org 2005-11-24 02:25 ------- (In reply to comment #2) > This is how C++ is done, maybe a warning can be emitted but it seems like it > will emitt too much for > valid C++ code. > I don't know; the code shown is very contrived to my taste. -- gdr at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2005-11-24 02:25:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? [not found] <bug-21917-6594@http.gcc.gnu.org/bugzilla/> 2005-11-24 2:25 ` gdr at gcc dot gnu dot org @ 2007-01-09 15:02 ` manu at gcc dot gnu dot org 2007-01-09 16:36 ` igodard at pacbell dot net 2 siblings, 0 replies; 9+ messages in thread From: manu at gcc dot gnu dot org @ 2007-01-09 15:02 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from manu at gcc dot gnu dot org 2007-01-09 15:02 ------- Have you tried compiling with -pedantic -Wall -Wextra ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/21917] Missing warning? [not found] <bug-21917-6594@http.gcc.gnu.org/bugzilla/> 2005-11-24 2:25 ` gdr at gcc dot gnu dot org 2007-01-09 15:02 ` manu at gcc dot gnu dot org @ 2007-01-09 16:36 ` igodard at pacbell dot net 2 siblings, 0 replies; 9+ messages in thread From: igodard at pacbell dot net @ 2007-01-09 16:36 UTC (permalink / raw) To: gcc-bugs ------- Comment #5 from igodard at pacbell dot net 2007-01-09 16:36 ------- No message on 4.1.1 despite -pedantic -Wall -Wextra -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21917 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-01-09 16:36 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-06-04 22:18 [Bug c++/21917] New: Missing warning? (or error?) igodard at pacbell dot net 2005-06-04 22:22 ` [Bug c++/21917] " igodard at pacbell dot net 2005-06-05 3:03 ` pinskia at gcc dot gnu dot org 2005-06-06 1:24 ` [Bug c++/21917] Missing warning? pinskia at gcc dot gnu dot org 2005-07-13 13:17 ` pinskia at gcc dot gnu dot org 2005-07-13 13:31 ` pinskia at gcc dot gnu dot org [not found] <bug-21917-6594@http.gcc.gnu.org/bugzilla/> 2005-11-24 2:25 ` gdr at gcc dot gnu dot org 2007-01-09 15:02 ` manu at gcc dot gnu dot org 2007-01-09 16:36 ` igodard at pacbell dot net
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).