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.

Reply via email to