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
f7da6097
Commit
f7da6097
authored
Dec 27, 1996
by
Mike Stump
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
90th Cygnus<->FSF quick merge
From-SVN: r13343
parent
63d7d7a1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
63 additions
and
31 deletions
+63
-31
gcc/cp/ChangeLog
+21
-0
gcc/cp/Make-lang.in
+1
-1
gcc/cp/cp-tree.h
+1
-0
gcc/cp/decl.c
+4
-2
gcc/cp/lang-specs.h
+1
-0
gcc/cp/pt.c
+35
-28
No files found.
gcc/cp/ChangeLog
View file @
f7da6097
Fri Dec 27 10:31:40 1996 Paul Eggert <eggert@twinsun.com>
* Make-lang.in (g++spec.o): Don't use $< with an explicit target;
this isn't portable to some versions of `make' (e.g. Solaris 2.5.1).
Tue Dec 24 10:24:03 1996 Jeffrey A Law (law@cygnus.com)
* decl.c (grokvardecl): Avoid ANSI style initialization.
Sun Dec 22 04:22:06 1996 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (tsubst): Tweak arg types for a FUNCTION_TYPE.
Fri Dec 20 17:09:25 1996 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (instantiate_class_template): Call grok_{ctor,op}_properties.
Fri Dec 20 12:17:12 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
Fri Dec 20 12:17:12 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* g++spec.c (lang_specific_driver): Put missing hyphen in front of
* g++spec.c (lang_specific_driver): Put missing hyphen in front of
arguments we compare against. Start the count of I at 1, not 0,
arguments we compare against. Start the count of I at 1, not 0,
since argv[0] is still the command.
since argv[0] is still the command.
Thu Dec 19 11:53:57 1996 Stan Shebs <shebs@andros.cygnus.com>
* lang-specs.h: Accept .cp as an C++ extension.
Mon Dec 16 22:43:31 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
Mon Dec 16 22:43:31 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* cp-tree.h (ptr_reasonably_similar): Add decl.
* cp-tree.h (ptr_reasonably_similar): Add decl.
...
...
gcc/cp/Make-lang.in
View file @
f7da6097
...
@@ -76,7 +76,7 @@ g++.c: $(srcdir)/gcc.c
...
@@ -76,7 +76,7 @@ g++.c: $(srcdir)/gcc.c
ln
-s
$(srcdir)
/gcc.c
$@
||
cp
$(srcdir)
/gcc.c
$@
ln
-s
$(srcdir)
/gcc.c
$@
||
cp
$(srcdir)
/gcc.c
$@
g++spec.o
:
$(srcdir)/cp/g++spec.c
g++spec.o
:
$(srcdir)/cp/g++spec.c
$(CC)
-c
$(ALL_CFLAGS)
$(ALL_CPPFLAGS)
$(INCLUDES)
$
<
$(CC)
-c
$(ALL_CFLAGS)
$(ALL_CPPFLAGS)
$(INCLUDES)
$
(srcdir)
/cp/g++spec.c
# N.B.: This is a copy of the gcc.o rule, with -DLANG_SPECIFIC_DRIVER added.
# N.B.: This is a copy of the gcc.o rule, with -DLANG_SPECIFIC_DRIVER added.
# It'd be nice if we could find an easier way to do this---rather than have
# It'd be nice if we could find an easier way to do this---rather than have
...
...
gcc/cp/cp-tree.h
View file @
f7da6097
...
@@ -1947,6 +1947,7 @@ extern tree build_new_method_call PROTO((tree, tree, tree, tree, int));
...
@@ -1947,6 +1947,7 @@ extern tree build_new_method_call PROTO((tree, tree, tree, tree, int));
extern
tree
build_user_type_conversion
PROTO
((
tree
,
tree
,
int
));
extern
tree
build_user_type_conversion
PROTO
((
tree
,
tree
,
int
));
extern
tree
build_new_function_call
PROTO
((
tree
,
tree
,
tree
));
extern
tree
build_new_function_call
PROTO
((
tree
,
tree
,
tree
));
extern
tree
build_new_op
PROTO
((
enum
tree_code
,
int
,
tree
,
tree
,
tree
));
extern
tree
build_new_op
PROTO
((
enum
tree_code
,
int
,
tree
,
tree
,
tree
));
extern
tree
type_decays_to
PROTO
((
tree
));
/* in class.c */
/* in class.c */
extern
tree
build_vbase_pointer
PROTO
((
tree
,
tree
));
extern
tree
build_vbase_pointer
PROTO
((
tree
,
tree
));
...
...
gcc/cp/decl.c
View file @
f7da6097
...
@@ -7227,7 +7227,9 @@ grokvardecl (type, declarator, specbits_in, initialized, constp)
...
@@ -7227,7 +7227,9 @@ grokvardecl (type, declarator, specbits_in, initialized, constp)
int
constp
;
int
constp
;
{
{
tree
decl
;
tree
decl
;
RID_BIT_TYPE
specbits
=
*
specbits_in
;
RID_BIT_TYPE
specbits
;
specbits
=
*
specbits_in
;
if
(
TREE_CODE
(
type
)
==
OFFSET_TYPE
)
if
(
TREE_CODE
(
type
)
==
OFFSET_TYPE
)
{
{
...
@@ -9935,7 +9937,7 @@ grok_ctor_properties (ctype, decl)
...
@@ -9935,7 +9937,7 @@ grok_ctor_properties (ctype, decl)
if
(
TREE_CHAIN
(
parmtypes
)
!=
NULL_TREE
if
(
TREE_CHAIN
(
parmtypes
)
!=
NULL_TREE
&&
TREE_CHAIN
(
parmtypes
)
==
void_list_node
)
&&
TREE_CHAIN
(
parmtypes
)
==
void_list_node
)
{
{
cp_error
(
"invalid constructor; you probably meant `%T (%T&)'"
,
cp_error
(
"invalid constructor; you probably meant `%T (
const
%T&)'"
,
ctype
,
ctype
);
ctype
,
ctype
);
SET_IDENTIFIER_ERROR_LOCUS
(
DECL_NAME
(
decl
),
ctype
);
SET_IDENTIFIER_ERROR_LOCUS
(
DECL_NAME
(
decl
),
ctype
);
...
...
gcc/cp/lang-specs.h
View file @
f7da6097
...
@@ -22,6 +22,7 @@ Boston, MA 02111-1307, USA. */
...
@@ -22,6 +22,7 @@ Boston, MA 02111-1307, USA. */
g++. */
g++. */
{
".cc"
,
"@c++"
},
{
".cc"
,
"@c++"
},
{
".cp"
,
"@c++"
},
{
".cxx"
,
"@c++"
},
{
".cxx"
,
"@c++"
},
{
".cpp"
,
"@c++"
},
{
".cpp"
,
"@c++"
},
{
".c++"
,
"@c++"
},
{
".c++"
,
"@c++"
},
...
...
gcc/cp/pt.c
View file @
f7da6097
...
@@ -1125,6 +1125,32 @@ instantiate_class_template (type)
...
@@ -1125,6 +1125,32 @@ instantiate_class_template (type)
CLASSTYPE_VTABLE_NEEDS_WRITING
(
type
)
=
1
;
CLASSTYPE_VTABLE_NEEDS_WRITING
(
type
)
=
1
;
}
}
TYPE_HAS_CONSTRUCTOR
(
type
)
=
TYPE_HAS_CONSTRUCTOR
(
pattern
);
TYPE_HAS_DESTRUCTOR
(
type
)
=
TYPE_HAS_DESTRUCTOR
(
pattern
);
TYPE_HAS_ASSIGNMENT
(
type
)
=
TYPE_HAS_ASSIGNMENT
(
pattern
);
TYPE_OVERLOADS_CALL_EXPR
(
type
)
=
TYPE_OVERLOADS_CALL_EXPR
(
pattern
);
TYPE_OVERLOADS_ARRAY_REF
(
type
)
=
TYPE_OVERLOADS_ARRAY_REF
(
pattern
);
TYPE_OVERLOADS_ARROW
(
type
)
=
TYPE_OVERLOADS_ARROW
(
pattern
);
TYPE_GETS_NEW
(
type
)
=
TYPE_GETS_NEW
(
pattern
);
TYPE_GETS_DELETE
(
type
)
=
TYPE_GETS_DELETE
(
pattern
);
TYPE_VEC_DELETE_TAKES_SIZE
(
type
)
=
TYPE_VEC_DELETE_TAKES_SIZE
(
pattern
);
TYPE_HAS_ASSIGN_REF
(
type
)
=
TYPE_HAS_ASSIGN_REF
(
pattern
);
TYPE_HAS_CONST_ASSIGN_REF
(
type
)
=
TYPE_HAS_CONST_ASSIGN_REF
(
pattern
);
TYPE_HAS_ABSTRACT_ASSIGN_REF
(
type
)
=
TYPE_HAS_ABSTRACT_ASSIGN_REF
(
pattern
);
TYPE_HAS_INIT_REF
(
type
)
=
TYPE_HAS_INIT_REF
(
pattern
);
TYPE_HAS_CONST_INIT_REF
(
type
)
=
TYPE_HAS_CONST_INIT_REF
(
pattern
);
TYPE_GETS_INIT_AGGR
(
type
)
=
TYPE_GETS_INIT_AGGR
(
pattern
);
TYPE_HAS_DEFAULT_CONSTRUCTOR
(
type
)
=
TYPE_HAS_DEFAULT_CONSTRUCTOR
(
pattern
);
TYPE_HAS_CONVERSION
(
type
)
=
TYPE_HAS_CONVERSION
(
pattern
);
TYPE_USES_COMPLEX_INHERITANCE
(
type
)
=
TYPE_USES_COMPLEX_INHERITANCE
(
pattern
);
TYPE_USES_MULTIPLE_INHERITANCE
(
type
)
=
TYPE_USES_MULTIPLE_INHERITANCE
(
pattern
);
TYPE_USES_VIRTUAL_BASECLASSES
(
type
)
=
TYPE_USES_VIRTUAL_BASECLASSES
(
pattern
);
TYPE_PACKED
(
type
)
=
TYPE_PACKED
(
pattern
);
TYPE_ALIGN
(
type
)
=
TYPE_ALIGN
(
pattern
);
{
{
tree
binfo
=
TYPE_BINFO
(
type
);
tree
binfo
=
TYPE_BINFO
(
type
);
tree
pbases
=
TYPE_BINFO_BASETYPES
(
pattern
);
tree
pbases
=
TYPE_BINFO_BASETYPES
(
pattern
);
...
@@ -1214,6 +1240,13 @@ instantiate_class_template (type)
...
@@ -1214,6 +1240,13 @@ instantiate_class_template (type)
}
}
TYPE_METHODS
(
type
)
=
tsubst_chain
(
TYPE_METHODS
(
pattern
),
args
);
TYPE_METHODS
(
type
)
=
tsubst_chain
(
TYPE_METHODS
(
pattern
),
args
);
for
(
t
=
TYPE_METHODS
(
type
);
t
;
t
=
TREE_CHAIN
(
t
))
{
if
(
DECL_CONSTRUCTOR_P
(
t
))
grok_ctor_properties
(
type
,
t
);
else
if
(
IDENTIFIER_OPNAME_P
(
DECL_NAME
(
t
)))
grok_op_properties
(
t
,
DECL_VIRTUAL_P
(
t
),
0
);
}
DECL_FRIENDLIST
(
TYPE_MAIN_DECL
(
type
))
DECL_FRIENDLIST
(
TYPE_MAIN_DECL
(
type
))
=
tsubst
(
DECL_FRIENDLIST
(
TYPE_MAIN_DECL
(
pattern
)),
=
tsubst
(
DECL_FRIENDLIST
(
TYPE_MAIN_DECL
(
pattern
)),
...
@@ -1242,32 +1275,6 @@ instantiate_class_template (type)
...
@@ -1242,32 +1275,6 @@ instantiate_class_template (type)
}
}
}
}
TYPE_HAS_CONSTRUCTOR
(
type
)
=
TYPE_HAS_CONSTRUCTOR
(
pattern
);
TYPE_HAS_DESTRUCTOR
(
type
)
=
TYPE_HAS_DESTRUCTOR
(
pattern
);
TYPE_HAS_ASSIGNMENT
(
type
)
=
TYPE_HAS_ASSIGNMENT
(
pattern
);
TYPE_OVERLOADS_CALL_EXPR
(
type
)
=
TYPE_OVERLOADS_CALL_EXPR
(
pattern
);
TYPE_OVERLOADS_ARRAY_REF
(
type
)
=
TYPE_OVERLOADS_ARRAY_REF
(
pattern
);
TYPE_OVERLOADS_ARROW
(
type
)
=
TYPE_OVERLOADS_ARROW
(
pattern
);
TYPE_GETS_NEW
(
type
)
=
TYPE_GETS_NEW
(
pattern
);
TYPE_GETS_DELETE
(
type
)
=
TYPE_GETS_DELETE
(
pattern
);
TYPE_VEC_DELETE_TAKES_SIZE
(
type
)
=
TYPE_VEC_DELETE_TAKES_SIZE
(
pattern
);
TYPE_HAS_ASSIGN_REF
(
type
)
=
TYPE_HAS_ASSIGN_REF
(
pattern
);
TYPE_HAS_CONST_ASSIGN_REF
(
type
)
=
TYPE_HAS_CONST_ASSIGN_REF
(
pattern
);
TYPE_HAS_ABSTRACT_ASSIGN_REF
(
type
)
=
TYPE_HAS_ABSTRACT_ASSIGN_REF
(
pattern
);
TYPE_HAS_INIT_REF
(
type
)
=
TYPE_HAS_INIT_REF
(
pattern
);
TYPE_HAS_CONST_INIT_REF
(
type
)
=
TYPE_HAS_CONST_INIT_REF
(
pattern
);
TYPE_GETS_INIT_AGGR
(
type
)
=
TYPE_GETS_INIT_AGGR
(
pattern
);
TYPE_HAS_DEFAULT_CONSTRUCTOR
(
type
)
=
TYPE_HAS_DEFAULT_CONSTRUCTOR
(
pattern
);
TYPE_HAS_CONVERSION
(
type
)
=
TYPE_HAS_CONVERSION
(
pattern
);
TYPE_USES_COMPLEX_INHERITANCE
(
type
)
=
TYPE_USES_COMPLEX_INHERITANCE
(
pattern
);
TYPE_USES_MULTIPLE_INHERITANCE
(
type
)
=
TYPE_USES_MULTIPLE_INHERITANCE
(
pattern
);
TYPE_USES_VIRTUAL_BASECLASSES
(
type
)
=
TYPE_USES_VIRTUAL_BASECLASSES
(
pattern
);
TYPE_PACKED
(
type
)
=
TYPE_PACKED
(
pattern
);
TYPE_ALIGN
(
type
)
=
TYPE_ALIGN
(
pattern
);
if
(
!
uses_template_parms
(
type
))
if
(
!
uses_template_parms
(
type
))
{
{
tree
tmp
;
tree
tmp
;
...
@@ -1803,8 +1810,8 @@ tsubst (t, args, nargs, in_decl)
...
@@ -1803,8 +1810,8 @@ tsubst (t, args, nargs, in_decl)
for
(;
values
&&
values
!=
void_list_node
;
for
(;
values
&&
values
!=
void_list_node
;
values
=
TREE_CHAIN
(
values
))
values
=
TREE_CHAIN
(
values
))
{
{
tree
value
tree
value
=
TYPE_MAIN_VARIANT
(
type_decays_to
=
tsubst
(
TREE_VALUE
(
values
),
args
,
nargs
,
in_decl
);
(
tsubst
(
TREE_VALUE
(
values
),
args
,
nargs
,
in_decl
))
);
tree
purpose
=
tsubst_expr
(
TREE_PURPOSE
(
values
),
tree
purpose
=
tsubst_expr
(
TREE_PURPOSE
(
values
),
args
,
nargs
,
in_decl
);
args
,
nargs
,
in_decl
);
tree
x
=
build_tree_list
(
purpose
,
value
);
tree
x
=
build_tree_list
(
purpose
,
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