- 19 Nov, 1998 1 commit
-
-
From-SVN: r23703
Jeff Law committed
-
- 18 Nov, 1998 13 commits
-
-
From-SVN: r23700
Kaveh Ghazi committed -
* cp-tree.h (PTRMEM_CST_CLASS): Fix typo. (global_delete_fndecl): New variable. * decl.c (global_delete_fndecl): Define it. (init_decl_processing): Set it. * init.c (build_builtin_delete_call): Use it. * tree.c (mapcar): Recursively call mapcar for the type of EXPR nodes. From-SVN: r23699
Mark Mitchell committed -
* reload.c (find_reloads_address_part): If have a CONST_INT, create a new one before passing it to force_const_mem. From-SVN: r23698
Jim Wilson committed -
* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in find_reloads_address call. From-SVN: r23697
Jim Wilson committed -
expr.c (store_expr): Don't generate load-store pair if TEMP is identical (according to ==) with TARGET. * expr.c (store_expr): Don't generate load-store pair if TEMP is identical (according to ==) with TARGET. From-SVN: r23696
J"orn Rennecke committed -
* decl.c (cplus_expand_expr_stmt): Always complain about unresolved type. Fixes Sec13/4/E13417.C * tree.c (lvalue_p_1): An INDIRECT_REF to a function is an lvalue. * call.c (build_object_call): Also support references to functions. * typeck.c (convert_for_initialization): Don't decay a function if the target is a reference to function. Fixes Sec13/2_1_1_2/P13120.C * search.c (add_conversions): Get all the overloads from a class. Fixes Sec13/2/P13101.C * decl.c (grok_ctor_properties): Complain about any constructor that will take a single arg of the class type by value. Fixes Sec12/8/S12072.C * typeck2.c (build_functional_cast): Can't create objects of abstract classes this way. * cvt.c (ocp_convert): Likewise. Fixes Sec10/4/S10018.C * decl.c (grokfndecl): Member functions of local classes are not public. Fixes Sec10/3/P10092.C From-SVN: r23695
Jason Merrill committed -
From-SVN: r23694
Mark Mitchell committed -
From-SVN: r23693
Jason Merrill committed -
From-SVN: r23692
Jason Merrill committed -
* search.c (get_abstract_virtuals): Complain about virtuals with no final overrider. * typeck2.c (abstract_virtuals_error): Remove handling for virtuals with no final overrider. * class.c (override_one_vtable): Don't set DECL_ABSTRACT_VIRTUAL_P on virtuals with no final overrider. Fixes Sec10/3/E10120.C * lex.c (reinit_parse_for_block): Add a space after the initial ':'. Fixes Sec9/7/R09434.r0 * class.c (finish_struct_1): Don't remove zero-width bit-fields until after layout_type. Fixes Sec9/6/P09024.C * friend.c (do_friend): Don't set_mangled_name_for_decl. Fixes Sec9/2/P09075.C * class.c (finish_struct_anon): Complain about non-fields. * decl2.c (build_anon_union_vars): Likewise. * decl.c (grokdeclarator): Normal data members can't have the same name as the class, either. * class.c (finish_struct_anon): Neither can members of an anonymous union. Fixes Sec9/2/C09268.cm From-SVN: r23691
Jason Merrill committed -
1998-11-18 Dave Love <d.love@dl.ac.uk> * g77.f-torture/compile/981117-1.f: New test. From-SVN: r23690
Dave Love committed -
From-SVN: r23689
Dave Love committed -
From-SVN: r23688
Jeff Law committed
-
- 17 Nov, 1998 7 commits
-
-
* reload1.c (reload_reg_free_for_value_p): When considered reload has an output, matching inputs are not sufficient to avoid conflict. From-SVN: r23687
J"orn Rennecke committed -
* cp-tree.h (TYPE_ALIAS_SET): Document language-dependent uses. (TYPE_BINFO): Likewise. (IS_AGGR_TYPE): Tweak. (SET_IS_AGGR_TYPE): New macro. (CLASS_TYPE_P): Tweak. (lang_type): Group mark bitfields together. Remove linenum. (CLASSTYPE_SOURCE_LINE): Remove macro. (CLASSTYPE_MARKED_N): New macro. (SET_CLASSTYPE_MARKED_N): Likewise. (CLEAR_CLASSTYPE_MARKED_N): Likewise. (CLASS_TYPE_MARKED_*): Use them. (SET_CLASSTYPE_MARKED_*): Likewise. (CLEAR_CLASSTYPE_MARKED_*): Likewise. (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise. (TYPE_TEMPLATE_INFO): Handle TEMPLATE_TEMPLATE_PARMs as well. (TYPENAME_TYPE_FULLNAME): Use TYPE_BINFO rather than CLASSTYPE_SIZE. * class.c (class_cache_obstack): New variable. (class_cache_firstobj): Likewise. (finish_struct): Don't set CLASSTYPE_SOURCE_LINE. (pushclass): Free the cache, when appropriate. (popclass): Tidy. (maybe_push_cache_obstack): Use class_cache_obstack. * decl.c (include hash.h). (typename_hash): New function. (typename_compare): Likewise. (build_typename_type): Check the hash table to avoid creating duplicates. (build_ptrmemfunc_type): Use SET_IS_AGGR_TYPE. (grokdeclarator): Use CLASS_TYPE_P. (xref_basetypes): Likewise. (start_function): Likewise. Don't put current_class_ref on the permanent obstack. * error.c (dump_type_real): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO and TYPE_TI_ARGS. * lex.c (note_got_semicolon): Use CLASS_TYPE_P. (make_lang_type): Don't create TYPE_LANG_SPECIFIC and associated fields for types other than class types. Do clear TYPE_ALIAS_SET for types other than class types, though. * method.c (build_overload_identifier): Use CLASS_TYPE_P and TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. * pt.c (process_template_parm): Don't set CLASSTYPE_GOT_SEMICOLON. (lookup_template_class) Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. Coerce arguments on the momentary obstack. (for_each_template_parm): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. (instantiate_class_template): Calculate template arguments on the momentary obstack. Tidy. (tsubst_template_arg_vector): Use make_temp_vec. (tsubst_aggr_type): Put template arguments on the momentary obstack. (tsubst_decl): Likewise. (tsubst): Copy the array bounds index to the permanent obstack before building index types. Use new macros. (unify): Use new macros. (do_type_instantiation): Likewise. * search.c (lookup_fnfields_1): Use new macros. (dfs_pushdecls): Build envelopes on the cache obstack. (dfs_compress_decls): Use new macros. (push_class_decls): Build on the cache obstack. * semantics.c (finish_typeof): Don't set CLASSTYPE_GOT_SEMICOLON. * sign.c (build_signature_pointer_or_reference_type): Use SET_IS_AGGR_TYPE. * tree.c (make_binfo): Check CLASS_TYPE_P. (copy_template_template_parm): Adjust. (make_temp_vec): Use push_expresion_obstack. * typeck.c (complete_type): Use new macros. (comptypes): Likewise. From-SVN: r23686
Mark Mitchell committed -
From-SVN: r23685
Jason Merrill committed -
* pt.c (tsubst): Add diagnostics for invalid array, reference and pointer to member types. From-SVN: r23684
Jason Merrill committed -
* hash.h (hash_table_key): New type. (hash_entry): Change `string' field to generic `key'. (hash_table): Add `comp' and `hash' functions. (hash_table_init): Take them as input. (hash_table_init_n): Likewise. (hash_lookup): Modify for generic keys. (hash_newfunc): Likewise. (hash_traverse): Likewise. (string_hash): New function. (string_compare): Likewise. (string_copy): Likewise. * hash.c (hash_table_init_n): Modify for generic keys. (hash_table_init): Likewise. (hash_lookup): Likewise. (hash_newfunc): Likewise. (hash_traverse): Likewise. (string_hash): Split out from hash_lookup. (string_compare): New function. (string_copy): Split out from hash_lookup. * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash tables. (symbol_hash_lookup): Likewise. (file_hash_newfunc): Likewise. (file_hash_lookup): Likewise. (demangled_hash_newfunc): Likewise. (demangled_hash_lookup): Likewise. (tlink_int): Likewise. (read_repo_file): Likewise. (recompile_files): Likewise. (demangle_new_symbols): Likewise. (scan_linker_output): Likewise. From-SVN: r23683
Mark Mitchell committed -
From-SVN: r23680
J"orn Rennecke committed -
From-SVN: r23679
Jeff Law committed
-
- 16 Nov, 1998 7 commits
-
-
* typeck2.c (my_friendly_abort): Don't fatal twice in a row. * typeck.c (c_expand_start_case): Use build_expr_type_conversion. Simplify. Fixes Sec6/4_2/G06164.gr * parse.y (structsp): Fix cut-and-paste error. Fixes Sec6/4_2/C06166.cm * init.c (build_new): Complain about non-integral size. Fixes Sec5/3_4/E05276.C * parse.y (unary_expr): Complain about defining types in sizeof. Fixes Sec5/3_3/S05178.C * typeck.c (expr_sizeof): Complain about sizeof an overloaded fn. Fixes Sec5/3_3/S05161.C * rtti.c (build_x_typeid): Complain about typeid without including <typeinfo>. (get_typeid): Likewise. Complain about typeid of incomplete type. (get_tinfo_fn_dynamic): Likewise. (get_typeid_1): Not static anymore. * except.c (build_eh_type_type): Use get_typeid_1. Fixes Sec5/2_8/C05517.cm * rtti.c (build_dynamic_cast_1): Give errors for dynamic_cast to ambiguous or private bases. Fix warning for reference cast. Fixes Sec5/2_7/C05516.cm From-SVN: r23678
Jason Merrill committed -
* rs6000.c (output_mi_thunk): Improve test for local branch. * rs6000.c (output_mi_thunk): Correct test for aggregate values. From-SVN: r23676
David Edelsohn committed -
* reload1.c (reload_reg_free_before_p): Delete. Changed all callers to use reload_reg_free_for_value_p instead. (reload_reg_free_for_value_p): Handle more reload types. A RELOAD_FOR_INPUT doesn't conflict with its RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS. Add special case for OUT == const0_rtx. Added ignore_address_reloads argument. Changed all callers. From-SVN: r23675
J"orn Rennecke committed -
* cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro. * decl.c (duplicate_decls): Remove special-case code to deal with template friends, and just do the obvious thing. * pt.c (register_specialization): Tweak for clarity, and also to clear DECL_INITIAL for an instantiation before it is merged with a specialization. (check_explicit_specialization): Fix indentation. (tsubst_friend_function): Handle both definitions in friend declaration and outside friend declarations. (tsubst_decl): Don't clear DECL_INITIAL for an instantiation. (regenerate_decl_from_template): Tweak accordingly. (instantiate_decl): Likewise. From-SVN: r23674
Mark Mitchell committed -
* decl.c (cplus_expand_expr_stmt): Promote warning about naked member function reference to error. * cvt.c (ocp_convert): Complain about converting an overloaded function to void. * init.c (build_offset_ref): Just return a lone static member function. * decl.c (cp_finish_decl): Only complain about real CONSTRUCTORs, not internal ones. * typeck.c (build_binary_op_nodefault): Improve error handling. * decl.c (grokfndecl): Complain about making 'main' a template. * typeck.c (string_conv_p): Don't convert from wchar_t[] to char*. * call.c (build_method_call): Handle a BIT_NOT_EXPR around a TYPE_DECL in a template. * typeck2.c (my_friendly_abort): Add URL in the other case, too. From-SVN: r23673
Jason Merrill committed -
toplev.c (compile_file): Don't pedwarn about undefined static functions just because we passed -Wunused. * toplev.c (compile_file): Don't pedwarn about undefined static functions just because we passed -Wunused. From-SVN: r23672
Jason Merrill committed -
From-SVN: r23671
Jeff Law committed
-
- 15 Nov, 1998 12 commits
-
-
* function.c (purge_addressof_1): Unshare rtl created by store_bit_field. From-SVN: r23670
J"orn Rennecke committed -
regmove.c (regmove_optimize): Don't do anything but optimize_reg_copy[123] when flag_regmove is not set. * regmove.c (regmove_optimize): Don't do anything but optimize_reg_copy[123] when flag_regmove is not set. From-SVN: r23669
J"orn Rennecke committed -
* decl.c (struct cp_function): Add named_label_uses. (push_cp_function_context): Save it. (pop_cp_function_context): Restore it. (define_label): Also complain about jumping into the scope of non-POD objects that don't have constructors. * tree.c (pod_type_p): New fn. Fixes g++.other/init9.C * pt.c (instantiate_class_template): Clear TYPE_BEING_DEFINED sooner. * rtti.c (synthesize_tinfo_fn): Call import_export_decl here. (get_tinfo_fn): Not here. * repo.c (repo_get_id): Abort if we get called for an incomplete type. Fixes g++.pt/instantiate4.C From-SVN: r23667
Jason Merrill committed -
* g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not properly discarded. From-SVN: r23666
Alexandre Oliva committed -
* jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO). * jcf-write.c (perform_relocations): Move check out one loop. From-SVN: r23665
Per Bothner committed -
8 * jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO). * jcf-write.c (perform_relocations): Move check out one loop. From-SVN: r23664
Per Bothner committed -
From-SVN: r23663
Anthony Green committed -
* Make-lang.in: Fix reference to srcdir. * jv-scan.c: Add missing xmalloc prototype. * jvgenmain.c: Ditto. From-SVN: r23662
Anthony Green committed -
� * decl.c (error_mark_node), java-tree.h: New global. * parse.y: Use empty_stmt_node instead of size_zero_node. (build_if_else_statement): If missing else, use empty_stmt_node. * parse.y (not_initialized_as_it_should_p): Removed, with its callers. (java_complete_expand_method): Complain if return is missing. (java_check_regular_methods): Comment out incorrect error check. (not_accessible_p): Fix incorrect handling of protected methods. (patch_method_invocation): Pass correct context to not_accessible_p. (find_applicable_accessible_methods_list): Likewise. (qualify_ambiguous_name): If ARRAY_REF, it's an expression name. (java_complete_tree): For CASE_EXPR and DEFAULT_EXPR, set TREE_TYPE (to void_type_node); otherwise expand_expr crashes. (patch_if_else_statement): Fix setting of CAN_COMPLETE_NORMALLY. * jcf-write.c (CHECK_OP, CHECK_PUT): Add some error checking. (push_int_const): Remove reundant NOTE_PUSH. (generate_bytecode_insns - case STRING_CST): Do NOTE_PUSH. (- case SWITCH_EXPR): Fix code generation bug. (- case PREDECREMENT_EXPR etc): Remove redundant NOTE_PUSH. (generate_classfile): More robust for abstract methods. From-SVN: r23661
Per Bothner committed -
* Makefile.in: jv-scan and jvgenmain all require libiberty. * Make-lang.in: Ditto. * jv-scan.c: Remove xmalloc and xstrdup definitions. * jvgenmain: Ditto. From-SVN: r23660
Anthony Green committed -
8 * jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE): New macro. * jcf-io.c (find_class): Simpler/cleaner structure fixes a bug. From-SVN: r23659
Per Bothner committed -
From-SVN: r23658
Jeff Law committed
-