diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index dd40a2920058..c9b04e3e2f28 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2008-07-01 Andrew Haley + + * decl.c (finish_constructor_body): Don't set the return value of + the constructor if the constructor is that of a Java type. + 2008-06-30 Jakub Jelinek PR c++/36662 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 32be05cc7c33..c6ae93e61043 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -11606,7 +11606,8 @@ finish_constructor_body (void) tree val; tree exprstmt; - if (targetm.cxx.cdtor_returns_this ()) + if (targetm.cxx.cdtor_returns_this () + && (! TYPE_FOR_JAVA (current_class_type))) { /* Any return from a constructor will end up here. */ add_stmt (build_stmt (LABEL_EXPR, cdtor_label));