[Bug c++/77592] gcc accepts delegated constructor with circular reference
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 14 15:17:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77592
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |accepts-invalid
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-09-14
CC| |trippels at gcc dot gnu.org
Summary|GCC: Compile failures with |gcc accepts delegated
|delegated constructor |constructor with circular
|circular reference |reference
Ever confirmed|0 |1
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
The resulting binary segfaults not gcc.
markus@x4 /tmp % g++ seg.ii
markus@x4 /tmp % icpc seg.ii
seg.ii(4): error: constructor delegates directly or indirectly to itself
T(const char *s, const int i) : T(i, s) {}
^
compilation aborted for seg.ii (code 2)
markus@x4 /tmp % clang++ seg.ii
seg.ii:4:35: error: constructor for 'T' creates a delegation cycle
[-Wdelegating-ctor-cycles]
T(const char *s, const int i) : T(i, s) {}
^
seg.ii:2:3: note: it delegates to
T(const int i, const char *s) : T(s, i) {}
^
seg.ii:4:3: note: which delegates to
T(const char *s, const int i) : T(i, s) {}
^
1 error generated.
More information about the Gcc-bugs
mailing list