diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4ec657812e18..5aff2967a5bd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2011-05-20 Jason Merrill + PR c++/48873 + * tree.c (stabilize_expr): Fix typo. + DR 1073 PR c++/49082 * typeck.c (comp_except_specs): noexcept(false) is not compatible diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 6b3680e80991..c93110b90627 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -3136,7 +3136,7 @@ stabilize_expr (tree exp, tree* initp) /* There are no expressions with REFERENCE_TYPE, but there can be call arguments with such a type; just treat it as a pointer. */ else if (TREE_CODE (TREE_TYPE (exp)) == REFERENCE_TYPE - || SCALAR_TYPE_P (exp) + || SCALAR_TYPE_P (TREE_TYPE (exp)) || !lvalue_or_rvalue_with_address_p (exp)) { init_expr = get_target_expr (exp);