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
cbf882af
Commit
cbf882af
authored
Dec 10, 1998
by
Mark Mitchell
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(start_enum): Use push_obstacks, not end_temporary_allocation.
(finish_enum): Call pop_obstacks. From-SVN: r24243
parent
513e9d13
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
16 deletions
+9
-16
gcc/cp/decl.c
+9
-16
No files found.
gcc/cp/decl.c
View file @
cbf882af
...
...
@@ -12205,11 +12205,7 @@ start_enum (name)
/* We are wasting space here and putting these on the permanent_obstack so
that typeid(local enum) will work correctly. */
#if 0
if (processing_template_decl && current_function_decl)
#endif
end_temporary_allocation
();
push_obstacks
(
&
permanent_obstack
,
&
permanent_obstack
);
/* If this is the real definition for a previous forward reference,
fill in the contents in the same object that used to be the
...
...
@@ -12311,18 +12307,15 @@ finish_enum (enumtype)
{
tree
scope
=
current_scope
();
if
(
scope
&&
TREE_CODE
(
scope
)
==
FUNCTION_DECL
)
{
add_tree
(
build_min
(
TAG_DEFN
,
enumtype
));
resume_temporary_allocation
();
}
return
enumtype
;
}
else
{
int
unsignedp
=
tree_int_cst_sgn
(
minnode
)
>=
0
;
int
lowprec
=
min_precision
(
minnode
,
unsignedp
);
int
highprec
=
min_precision
(
maxnode
,
unsignedp
);
int
precision
=
MAX
(
lowprec
,
highprec
);
tree
tem
;
TYPE_SIZE
(
enumtype
)
=
NULL_TREE
;
...
...
@@ -12335,7 +12328,8 @@ finish_enum (enumtype)
fixup_signed_type
(
enumtype
);
if
(
flag_short_enums
||
(
precision
>
TYPE_PRECISION
(
integer_type_node
)))
/* Use the width of the narrowest normal C type which is wide enough. */
/* Use the width of the narrowest normal C type which is wide
enough. */
TYPE_PRECISION
(
enumtype
)
=
TYPE_PRECISION
(
type_for_size
(
precision
,
1
));
else
...
...
@@ -12343,10 +12337,6 @@ finish_enum (enumtype)
TYPE_SIZE
(
enumtype
)
=
0
;
layout_type
(
enumtype
);
}
{
register
tree
tem
;
/* Fix up all variant types of this enum type. */
for
(
tem
=
TYPE_MAIN_VARIANT
(
enumtype
);
tem
;
...
...
@@ -12362,10 +12352,13 @@ finish_enum (enumtype)
TYPE_ALIGN
(
tem
)
=
TYPE_ALIGN
(
enumtype
);
TREE_UNSIGNED
(
tem
)
=
TREE_UNSIGNED
(
enumtype
);
}
}
/* Finish debugging output for this type. */
rest_of_type_compilation
(
enumtype
,
namespace_bindings_p
());
}
/* In start_enum we pushed obstacks. Here, we must pop them. */
pop_obstacks
();
return
enumtype
;
}
...
...
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