diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-11-15 10:53:02 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-11-15 10:53:02 +0100 |
commit | b70cef5d743a294b00b863f8caf80342f33f8100 (patch) | |
tree | 1e5e94a256aac8b6bf173d2f80f06cb0c584e226 /gcc/cp/typeck.c | |
parent | 91ddf5a1e710ef71f8f4e0f4d84dc852d15eea89 (diff) | |
download | gcc-b70cef5d743a294b00b863f8caf80342f33f8100.zip gcc-b70cef5d743a294b00b863f8caf80342f33f8100.tar.gz gcc-b70cef5d743a294b00b863f8caf80342f33f8100.tar.bz2 |
re PR c++/37561 (Revision 140405 caused g++.old-deja/g++.mike/warn1.C)
PR c++/37561
* c-typeck.c (build_unary_op): Don't call get_unwidened. Use
argtype instead of result_type.
* typeck.c (cp_build_unary_op): Don't call get_unwidened. Use
argtype instead of result_type.
* gcc.dg/pr37561.c: New test.
* g++.dg/other/increment1.C: New test.
From-SVN: r141881
Diffstat (limited to 'gcc/cp/typeck.c')
-rw-r--r-- | gcc/cp/typeck.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 321f76b..7595b58 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -4348,12 +4348,8 @@ cp_build_unary_op (enum tree_code code, tree xarg, int noconvert, { tree inc; - tree declared_type; - tree result_type = TREE_TYPE (arg); + tree declared_type = unlowered_expr_type (arg); - declared_type = unlowered_expr_type (arg); - - arg = get_unwidened (arg, 0); argtype = TREE_TYPE (arg); /* ARM $5.2.5 last annotation says this should be forbidden. */ @@ -4427,7 +4423,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, int noconvert, val = build2 (code, TREE_TYPE (arg), arg, inc); TREE_SIDE_EFFECTS (val) = 1; - return cp_convert (result_type, val); + return val; } case ADDR_EXPR: |