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
cf694b8f
Commit
cf694b8f
authored
May 16, 1999
by
Jason Merrill
Committed by
Jason Merrill
May 16, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* init.c (build_new_1): suspend_momentary while calculating size.
From-SVN: r26953
parent
7a8f9fa9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
12 deletions
+13
-12
gcc/cp/ChangeLog
+6
-6
gcc/cp/init.c
+7
-6
No files found.
gcc/cp/ChangeLog
View file @
cf694b8f
1999-05-16 Jason Merrill <jason@yorick.cygnus.com>
* parse.y (direct_new_declarator): Make the first one a
nonmomentary_expr, too.
* init.c (build_new): suspend_momentary while we're calculating
the size.
(build_new_1): Likewise. Don't copy size.
* decl2.c (finish_objects): Don't use .?tors.* if we don't have
ASM_OUTPUT_CONSTRUCTOR.
...
...
@@ -10,12 +16,6 @@
(grokdeclarator): Adjust.
* cp-tree.h: Adjust.
* parse.y (direct_new_declarator): Make the first one a
nonmomentary_expr, too.
* init.c (build_new): suspend_momentary while we're calculating
the size.
(build_new_1): Don't copy size.
1999-05-16 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (permanent_p): New function.
...
...
gcc/cp/init.c
View file @
cf694b8f
...
...
@@ -2134,6 +2134,7 @@ build_new_1 (exp)
int
use_cookie
,
nothrow
,
check_new
;
int
use_global_new
;
int
use_java_new
=
0
;
int
susp
=
0
;
placement
=
TREE_OPERAND
(
exp
,
0
);
type
=
TREE_OPERAND
(
exp
,
1
);
...
...
@@ -2163,11 +2164,13 @@ build_new_1 (exp)
if
(
!
complete_type_or_else
(
true_type
,
exp
))
return
error_mark_node
;
susp
=
suspend_momentary
();
if
(
has_array
)
size
=
fold
(
build_binary_op
(
MULT_EXPR
,
size_in_bytes
(
true_type
),
nelts
));
else
size
=
size_in_bytes
(
type
);
resume_momentary
(
susp
);
if
(
TREE_CODE
(
true_type
)
==
VOID_TYPE
)
{
...
...
@@ -2250,8 +2253,6 @@ build_new_1 (exp)
}
else
{
int
susp
=
0
;
if
(
flag_exceptions
)
/* We will use RVAL when generating an exception handler for
this new-expression, so we must save it. */
...
...
@@ -2424,7 +2425,7 @@ build_new_1 (exp)
int
flags
=
LOOKUP_NORMAL
|
(
use_global_new
*
LOOKUP_GLOBAL
);
/* All cleanups must last longer than normal. */
int
yes
=
suspend_momentary
();
susp
=
suspend_momentary
();
if
(
placement
)
{
...
...
@@ -2438,7 +2439,7 @@ build_new_1 (exp)
cleanup
=
build_op_delete_call
(
dcode
,
alloc_node
,
size
,
flags
,
fn
);
resume_momentary
(
yes
);
resume_momentary
(
susp
);
/* Ack! First we allocate the memory. Then we set our sentry
variable to true, and expand a cleanup that deletes the memory
...
...
@@ -2452,11 +2453,11 @@ build_new_1 (exp)
begin
=
get_target_expr
(
boolean_true_node
);
sentry
=
TREE_OPERAND
(
begin
,
0
);
yes
=
suspend_momentary
();
susp
=
suspend_momentary
();
TREE_OPERAND
(
begin
,
2
)
=
build
(
COND_EXPR
,
void_type_node
,
sentry
,
cleanup
,
void_zero_node
);
resume_momentary
(
yes
);
resume_momentary
(
susp
);
rval
=
get_target_expr
(
rval
);
...
...
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