Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
8d8f3235
Commit
8d8f3235
authored
Jan 18, 2016
by
Jason Merrill
Committed by
Jason Merrill
Jan 18, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* cp-gimplify.c (cp_fold): Remove unnecessary special cases.
From-SVN: r232523
parent
7f26f7df
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3 additions
and
35 deletions
+3
-35
gcc/cp/ChangeLog
+2
-0
gcc/cp/cp-gimplify.c
+1
-35
No files found.
gcc/cp/ChangeLog
View file @
8d8f3235
2016-01-18 Jason Merrill <jason@redhat.com>
* cp-gimplify.c (cp_fold): Remove unnecessary special cases.
PR c++/68767
* cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
(contains_label_1, contains_label_p): Remove.
...
...
gcc/cp/cp-gimplify.c
View file @
8d8f3235
...
...
@@ -1942,19 +1942,8 @@ cp_fold (tree x)
if
(
VOID_TYPE_P
(
TREE_TYPE
(
x
)))
return
x
;
if
(
!
TREE_OPERAND
(
x
,
0
)
||
TREE_CODE
(
TREE_OPERAND
(
x
,
0
))
==
NON_LVALUE_EXPR
)
return
x
;
loc
=
EXPR_LOCATION
(
x
);
op0
=
TREE_OPERAND
(
x
,
0
);
if
(
TREE_CODE
(
x
)
==
NOP_EXPR
&&
TREE_OVERFLOW_P
(
op0
)
&&
TREE_TYPE
(
x
)
==
TREE_TYPE
(
op0
))
return
x
;
op0
=
cp_fold_maybe_rvalue
(
op0
,
rval_ops
);
op0
=
cp_fold_maybe_rvalue
(
TREE_OPERAND
(
x
,
0
),
rval_ops
);
if
(
op0
!=
TREE_OPERAND
(
x
,
0
))
x
=
fold_build1_loc
(
loc
,
code
,
TREE_TYPE
(
x
),
op0
);
...
...
@@ -2000,16 +1989,6 @@ cp_fold (tree x)
case
POSTDECREMENT_EXPR
:
case
POSTINCREMENT_EXPR
:
case
INIT_EXPR
:
loc
=
EXPR_LOCATION
(
x
);
op0
=
cp_fold
(
TREE_OPERAND
(
x
,
0
));
op1
=
cp_fold_rvalue
(
TREE_OPERAND
(
x
,
1
));
if
(
TREE_OPERAND
(
x
,
0
)
!=
op0
||
TREE_OPERAND
(
x
,
1
)
!=
op1
)
x
=
build2_loc
(
loc
,
code
,
TREE_TYPE
(
x
),
op0
,
op1
);
break
;
case
PREDECREMENT_EXPR
:
case
PREINCREMENT_EXPR
:
case
COMPOUND_EXPR
:
...
...
@@ -2054,25 +2033,12 @@ cp_fold (tree x)
loc
=
EXPR_LOCATION
(
x
);
op0
=
cp_fold_maybe_rvalue
(
TREE_OPERAND
(
x
,
0
),
rval_ops
);
op1
=
cp_fold_rvalue
(
TREE_OPERAND
(
x
,
1
));
if
((
code
==
COMPOUND_EXPR
||
code
==
MODIFY_EXPR
)
&&
((
op1
&&
TREE_SIDE_EFFECTS
(
op1
))
||
(
op0
&&
TREE_SIDE_EFFECTS
(
op0
))))
{
if
(
op0
!=
TREE_OPERAND
(
x
,
0
)
||
op1
!=
TREE_OPERAND
(
x
,
1
))
x
=
build2_loc
(
loc
,
code
,
TREE_TYPE
(
x
),
op0
,
op1
);
break
;
}
if
(
TREE_CODE
(
x
)
==
COMPOUND_EXPR
&&
!
op0
)
op0
=
build_empty_stmt
(
loc
);
if
(
op0
!=
TREE_OPERAND
(
x
,
0
)
||
op1
!=
TREE_OPERAND
(
x
,
1
))
x
=
fold_build2_loc
(
loc
,
code
,
TREE_TYPE
(
x
),
op0
,
op1
);
else
x
=
fold
(
x
);
if
(
TREE_CODE
(
x
)
==
COMPOUND_EXPR
&&
TREE_OPERAND
(
x
,
0
)
==
NULL_TREE
&&
TREE_OPERAND
(
x
,
1
))
return
TREE_OPERAND
(
x
,
1
);
break
;
case
VEC_COND_EXPR
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment