Robert Lipe [Tue, 2 Jun 1998 19:45:48 +0000 (19:45 +0000)]
Quoting Martin:
[ eb47, eb53, eb89 ] build standard templates from reference types,
which is illegal.
Unfortunately, they all give errors for lines in library headers,
which I can't test for.
Therefore, I suggest to remove all of them, and replace it with
the [eb128.C]
Robert Lipe [Tue, 2 Jun 1998 19:44:07 +0000 (19:44 +0000)]
eb47.C eb53.C eb89.C, quoting Martin:
These three test cases all build standard templates from reference types,
which is illegal.
Unfortunately, they all give errors for lines in library headers,
which I can't test for.
Therefore, I suggest to remove all of them, and replace it with
[eb128.c]
Per Bothner [Mon, 1 Jun 1998 18:25:37 +0000 (11:25 -0700)]
cp-tree.h (TYPE_FOR_JAVA): New macro.
�
* cp-tree.h (TYPE_FOR_JAVA): New macro.
* decl.c, cp-tree.h (java_byte_type_node, java_short_type_node,
java_int_type_node, java_long_type_node, java_float_type_node,
java_double_type_node, java_char_type_node, java_boolean_type_node):
New "primitive" types, with predefined names __java_byte etc.
(record_builtin_java_type): New function.
(init_decl_processing): Make Java types with record_builtin_java_type.
(pushtag, grokdeclarator): Set TYPE_FOR_JAVA if in extern "JAVA".
(xref_baseypes): If base class was TYPE_FOR_JAVA, so is this class.
(grokfndecl): Call check_java_method for Java classes.
* method.c (is_java_type): Removed. Replaced with TYPE_FOR_JAVA.
(process_overload_item): Match types against specific
java_XX_type_node types, rather than using is_java_type.
* class.c (finish_struct_1): Don't add default copy constructor
or operator= if TYPE_FOR_JAVA.
(pop_lang_conext): Restore strict_prototyp proper if Java.
* decl2.c (acceptable_java_type, check_java_method): New functions.
* pt.c (instantiate_class_template): Copy TYPE_FOR_JAVA from pattern.
(tsubst): Move common statement after if statement.
* typeck.c (comptypes): If strict, TYPE_FOR_JAVA must match.
Per Bothner [Mon, 1 Jun 1998 18:25:35 +0000 (11:25 -0700)]
cp-tree.h (TYPE_FOR_JAVA): New macro.
a
* cp-tree.h (TYPE_FOR_JAVA): New macro.
* decl.c, cp-tree.h (java_byte_type_node, java_short_type_node,
java_int_type_node, java_long_type_node, java_float_type_node,
java_double_type_node, java_char_type_node, java_boolean_type_node):
New "primitive" types, with predefined names __java_byte etc.
(record_builtin_java_type): New function.
(init_decl_processing): Make Java types with record_builtin_java_type.
(pushtag, grokdeclarator): Set TYPE_FOR_JAVA if in extern "JAVA".
(xref_baseypes): If base class was TYPE_FOR_JAVA, so is this class.
(grokfndecl): Call check_java_method for Java classes.
* method.c (is_java_type): Removed. Replaced with TYPE_FOR_JAVA.
(process_overload_item): Match types against specific
java_XX_type_node types, rather than using is_java_type.
* class.c (finish_struct_1): Don't add default copy constructor
or operator= if TYPE_FOR_JAVA.
(pop_lang_conext): Restore strict_prototyp proper if Java.
* decl2.c (acceptable_java_type, check_java_method): New functions.
* pt.c (instantiate_class_template): Copy TYPE_FOR_JAVA from pattern.
(tsubst): Move common statement after if statement.
* typeck.c (comptypes): If strict, TYPE_FOR_JAVA must match.
Per Bothner [Mon, 1 Jun 1998 18:25:34 +0000 (11:25 -0700)]
cp-tree.h (TYPE_FOR_JAVA): New macro.
d
* cp-tree.h (TYPE_FOR_JAVA): New macro.
* decl.c, cp-tree.h (java_byte_type_node, java_short_type_node,
java_int_type_node, java_long_type_node, java_float_type_node,
java_double_type_node, java_char_type_node, java_boolean_type_node):
New "primitive" types, with predefined names __java_byte etc.
(record_builtin_java_type): New function.
(init_decl_processing): Make Java types with record_builtin_java_type.
(pushtag, grokdeclarator): Set TYPE_FOR_JAVA if in extern "JAVA".
(xref_baseypes): If base class was TYPE_FOR_JAVA, so is this class.
(grokfndecl): Call check_java_method for Java classes.
* method.c (is_java_type): Removed. Replaced with TYPE_FOR_JAVA.
(process_overload_item): Match types against specific
java_XX_type_node types, rather than using is_java_type.
* class.c (finish_struct_1): Don't add default copy constructor
or operator= if TYPE_FOR_JAVA.
(pop_lang_conext): Restore strict_prototyp proper if Java.
* decl2.c (acceptable_java_type, check_java_method): New functions.
* pt.c (instantiate_class_template): Copy TYPE_FOR_JAVA from pattern.
(tsubst): Move common statement after if statement.
* typeck.c (comptypes): If strict, TYPE_FOR_JAVA must match.
John Wehle [Sun, 31 May 1998 15:13:36 +0000 (15:13 +0000)]
reload.c (find_reloads): Record the existing mode if operand_mode == VOIDmode before replacing a...
* reload.c (find_reloads): Record the existing mode if
operand_mode == VOIDmode before replacing a register with
a constant.
* i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
i386_compare_op1 to const0_rtx for the benefit of the
conditional move patterns.
(movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
based on suggestions from Jim Wilson.
Jason Merrill [Fri, 29 May 1998 02:33:54 +0000 (22:33 -0400)]
cp-tree.h (DECL_DESTRUCTOR_P): New macro.
* cp-tree.h (DECL_DESTRUCTOR_P): New macro.
* method.c (build_destructor_name): New fn.
* decl2.c (maybe_retrofit_in_chrg): Split out...
(grokclassfn): From here. Reorganize.
* decl.c (grok_ctor_properties): Make sure ctors for types with
vbases have the in_chrg parm.
* pt.c (instantiate_class_template): Update
TYPE_USES_VIRTUAL_BASECLASSES from tsubsted bases. Don't call
grok_*_properties.
(tsubst): Call grok_ctor_properties and maybe_retrofit_in_chrg.
* pt.c (instantiate_decl): Make test for whether or not static
variables should be instantiated early match its comment.
Jason Merrill [Thu, 28 May 1998 01:44:29 +0000 (21:44 -0400)]
decl.c (start_decl): Always pedwarn about vacuously redeclaring a member.
* decl.c (start_decl): Always pedwarn about vacuously redeclaring
a member.
(start_function): Call check_default_args.
* decl2.c (grokfield): Don't call check_default_args.
(check_default_args): Use cp_error_at.
* lex.c (do_pending_defargs): Call check_default_args.
* call.c (build_scoped_method_call): Make sure get_type_value returns
something before we try to use its TYPE_MAIN_VARIANT.
Jason Merrill [Thu, 28 May 1998 00:11:24 +0000 (20:11 -0400)]
call.c (build_method_call): Make sure get_type_value returns something before we try to use its...
* call.c (build_method_call): Make sure get_type_value returns
something before we try to use its TYPE_MAIN_VARIANT.
* typeck2.c (digest_init): Complain about getting a TREE_LIST to
initialize an array.
* search.c (expand_upcast_fixups): Don't set DECL_CONTEXT and
DECL_VIRTUAL_P.
thunk2.C: Setup this test to be expected to fail on m68k-motorola-sysv and...
�
* g++.old-deja/g++.jason/thunk2.C: Setup this test to be expected to
fail on m68k-motorola-sysv and m88k-motorola-sysv3.
* g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and
m88k-motorola-sysv3 to XFAIL.
Mark Mitchell [Tue, 26 May 1998 23:17:56 +0000 (23:17 +0000)]
friend.c (is_friend): Use comptypes, rather than == to compare types.
* friend.c (is_friend): Use comptypes, rather than == to compare
types. Modify for new representation of template friends.
(make_friend_class): Likewise.
* pt.c (tsubst_friend_class): Undo 1998-05-21 change. Tweak.
(instantiate_class_template): Deal with template friends.