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
909e536a
Commit
909e536a
authored
Mar 22, 1996
by
Mike Stump
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
85th Cygnus<->FSF quick merge
From-SVN: r11597
parent
c7b1ed2b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
46 additions
and
12 deletions
+46
-12
gcc/cp/ChangeLog
+21
-0
gcc/cp/decl.c
+3
-0
gcc/cp/decl2.c
+13
-9
gcc/cp/gxxint.texi
+1
-1
gcc/cp/pt.c
+7
-1
gcc/cp/typeck.c
+1
-1
No files found.
gcc/cp/ChangeLog
View file @
909e536a
Fri Mar 22 13:48:29 1996 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (tsubst, case TYPE_DECL): Set DECL_CONTEXT.
* typeck.c (require_complete_type): Be sure to instantiate the
MAIN_VARIANT of the type.
* decl2.c (finish_file): Instantiate pending templates before
processing static constructors and destructors.
* pt.c (instantiate_decl): Don't instantiate functions at toplevel
unless at_eof.
Fri Mar 22 09:30:17 1996 Bob Manson <manson@beauty.cygnus.com>
* decl2.c (delete_sanity): If error_mark_node is passed
in as an expression, quit while we're ahead.
* decl.c (grokdeclarator): Give an error message if `friend'
is combined with any storage class specifiers.
Wed Mar 20 14:51:55 1996 Jason Merrill <jason@yorick.cygnus.com>
* parse.y (named_complex_class_head_sans_basetype): Don't crash on
...
...
gcc/cp/decl.c
View file @
909e536a
...
...
@@ -8268,6 +8268,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, raises, attrli
error
(
"top-level declaration of `%s' specifies `auto'"
,
name
);
}
if
(
nclasses
>
0
&&
friendp
)
error
(
"storage class specifiers invalid in friend function declarations"
);
/* Now figure out the structure of the declarator proper.
Descend through it, creating more complex types, until we reach
the declared identifier (or NULL_TREE, in an absolute declarator). */
...
...
gcc/cp/decl2.c
View file @
909e536a
...
...
@@ -1124,6 +1124,9 @@ delete_sanity (exp, size, doing_vec, use_global_delete)
this down as a NULL_TREE into build_vec_delete. */
tree
maxindex
=
NULL_TREE
;
if
(
exp
==
error_mark_node
)
return
exp
;
if
(
current_template_parms
)
{
t
=
build_min
(
DELETE_EXPR
,
void_type_node
,
exp
,
size
);
...
...
@@ -2822,10 +2825,6 @@ finish_file ()
start_time
=
get_run_time
();
/* Push into C language context, because that's all
we'll need here. */
push_lang_context
(
lang_name_c
);
/* Otherwise, GDB can get confused, because in only knows
about source for LINENO-1 lines. */
lineno
-=
1
;
...
...
@@ -2833,6 +2832,16 @@ finish_file ()
interface_unknown
=
1
;
interface_only
=
0
;
for
(
fnname
=
pending_templates
;
fnname
;
fnname
=
TREE_CHAIN
(
fnname
))
{
tree
decl
=
TREE_VALUE
(
fnname
);
instantiate_decl
(
decl
);
}
/* Push into C language context, because that's all
we'll need here. */
push_lang_context
(
lang_name_c
);
#if 1
/* The reason for pushing garbage onto the global_binding_level is to
ensure that we can slice out _DECLs which pertain to virtual function
...
...
@@ -3082,11 +3091,6 @@ finish_file ()
if
(
flag_handle_signatures
)
walk_sigtables
((
void
(
*
)())
0
,
finish_sigtable_vardecl
);
for
(
fnname
=
pending_templates
;
fnname
;
fnname
=
TREE_CHAIN
(
fnname
))
{
tree
decl
=
TREE_VALUE
(
fnname
);
instantiate_decl
(
decl
);
}
for
(
fnname
=
saved_inlines
;
fnname
;
fnname
=
TREE_CHAIN
(
fnname
))
{
tree
decl
=
TREE_VALUE
(
fnname
);
...
...
gcc/cp/gxxint.texi
View file @
909e536a
...
...
@@ -1226,7 +1226,7 @@ stands.
Only
exact
type
matching
or
reference
matching
of
throw
types
works
when
-
fno
-
rtti
is
used
.
Only
works
on
a
SPARC
(
like
Suns
),
i386
,
arm
,
rs6000
,
PowerPC
,
Alpha
,
mips
,
VAX
,
and
m6
8k
machines
.
Partial
support
rs6000
,
PowerPC
,
Alpha
,
mips
,
VAX
,
m68k
and
z
8k
machines
.
Partial
support
is
in
for
all
other
machines
,
but
a
stack
unwinder
called
__unwind_function
has
to
be
written
,
and
added
to
libgcc2
for
them
.
The
new
EH
code
doesn
'
t
rely
upon
the
__unwind_function
for
C
++
code
,
...
...
gcc/cp/pt.c
View file @
909e536a
...
...
@@ -1566,6 +1566,7 @@ tsubst (t, args, nargs, in_decl)
{
tree
r
=
copy_node
(
t
);
TREE_TYPE
(
r
)
=
type
;
DECL_CONTEXT
(
r
)
=
current_class_type
;
set_nested_typename
(
r
,
current_class_name
,
DECL_NAME
(
r
),
type
);
TREE_CHAIN
(
r
)
=
NULL_TREE
;
return
r
;
...
...
@@ -2935,7 +2936,12 @@ instantiate_decl (d)
if
(
!
pattern_defined
||
(
TREE_CODE
(
d
)
==
FUNCTION_DECL
&&
!
DECL_INLINE
(
d
)
&&
(
!
DECL_INTERFACE_KNOWN
(
d
)
||
!
DECL_NOT_REALLY_EXTERN
(
d
))))
||
!
DECL_NOT_REALLY_EXTERN
(
d
)))
/* Kludge: if we compile a constructor in the middle of processing a
toplevel declaration, we blow away the declspecs in
temp_decl_obstack when we call permanent_allocation in
finish_function. So don't compile it yet. */
||
(
TREE_CODE
(
d
)
==
FUNCTION_DECL
&&
!
nested
&&
!
at_eof
))
{
add_pending_template
(
d
);
return
d
;
...
...
gcc/cp/typeck.c
View file @
909e536a
...
...
@@ -112,7 +112,7 @@ require_complete_type (value)
if
(
IS_AGGR_TYPE
(
type
)
&&
CLASSTYPE_TEMPLATE_INSTANTIATION
(
type
))
{
instantiate_class_template
(
type
);
instantiate_class_template
(
TYPE_MAIN_VARIANT
(
type
)
);
if
(
TYPE_SIZE
(
type
)
!=
0
)
return
value
;
}
...
...
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