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
1974bfb1
Commit
1974bfb1
authored
Apr 24, 1997
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(pushcase_range): Check for null range first.
From-SVN: r13977
parent
469b759e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
7 deletions
+7
-7
gcc/stmt.c
+7
-7
No files found.
gcc/stmt.c
View file @
1974bfb1
/* Expands front end tree to back end RTL for GNU C-Compiler
Copyright (C) 1987, 88, 89, 92-
5, 1996
Free Software Foundation, Inc.
Copyright (C) 1987, 88, 89, 92-
6, 1997
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
@@ -4410,6 +4410,10 @@ pushcase (value, converter, label, duplicate)
if
(
!
(
case_stack
&&
case_stack
->
data
.
case_stmt
.
start
))
return
1
;
/* Fail if the range is empty. */
if
(
tree_int_cst_lt
(
value2
,
value1
))
return
4
;
if
(
stack_block_stack
&&
stack_block_stack
->
depth
>
case_stack
->
depth
)
return
5
;
...
...
@@ -4524,11 +4528,11 @@ pushcase_range (value1, value2, converter, label, duplicate)
/* Convert VALUEs to type in which the comparisons are nominally done. */
if
(
value1
==
0
)
/* Negative infinity. */
value1
=
TYPE_MIN_VALUE
(
index_type
);
value1
=
TYPE_MIN_VALUE
(
index_type
);
value1
=
(
*
converter
)
(
nominal_type
,
value1
);
if
(
value2
==
0
)
/* Positive infinity. */
value2
=
TYPE_MAX_VALUE
(
index_type
);
value2
=
TYPE_MAX_VALUE
(
index_type
);
value2
=
(
*
converter
)
(
nominal_type
,
value2
);
/* Fail if these values are out of range. */
...
...
@@ -4538,10 +4542,6 @@ pushcase_range (value1, value2, converter, label, duplicate)
if
(
!
int_fits_type_p
(
value2
,
index_type
))
return
3
;
/* Fail if the range is empty. */
if
(
tree_int_cst_lt
(
value2
,
value1
))
return
4
;
return
add_case_node
(
value1
,
value2
,
label
,
duplicate
);
}
...
...
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