- 06 Oct, 1998 11 commits
-
-
From-SVN: r22871
Alexandre Oliva committed -
From-SVN: r22870
Richard Henderson committed -
* cp-tree.def (PTRMEM_CST): New tree node. * cp-tree.h (ptrmem_cst): New type. (lang_type): Remove local_typedecls. (dummy): Increase to 12 bits from 11. (CLASSTYPE_LOCAL_TYPEDECLS): Remove. (PTRMEM_CST_CLASS): New macro. (PTRMEM_CST_MEMBER): Likewise. (current_access_specifier): New variable. (current_class_type): Remove duplicate declaration. (finish_struct): Change prototype. (unreverse_member_declarations): New function. (pushdecl_class_level): Change prototype. (grok_enum_decls): Remove. (fixup_anonymous_union): New function. (grok_x_components): Change prototype. (tsubst_chain): Remove. (finish_member_template_decl): Likewise. (check_explicit_specialization): Fix indentation. (finish_class_definition): Change prototype. (finish_member_class_template): Likewise. (finish_member_declaration): New function. (check_multiple_declarators): Likewise. * class.c (class_stack_node_t): New type. (current_class_base): Remove. (current_class_stack): Change type. (current_access_specifier): New variable. (grow_method): Remove. (check_member_decl_is_same_in_complete_scope): Break out from finish_struct. (make_method_vec): New function. (free_method_vec): Likewise. (add_implicitly_declared_members): Break out from finish_struct_1. (free_method_vecs): New variable. (add_method): Rework for direct use from parser. (handle_using_decl): Watch for NULL_TREE while iterating through CLASSTYPE_METHOD_VEC. (finish_struct_methods): Don't build CLASSTYPE_METHOD_VEC here; just do some error-checking. (warn_hidden): Change iteration through CLASSTYPE_METHOD_VEC. (finish_struct_1): Simplify. Use add_implicitly_declared_members. (finish_struct): Change prototype. Simplify; fields and methods are already set up at this point. (init_class_processing): Set up current_class_stack. (pushclass): Save current_access_specifier. (popclass): Restore it. (currently_open_class): Simplify. (build_self_reference): Remove use of CLASSTYPE_LOCAL_TYPEDECLS. * decl.c (saved_scope): Add access_specifier. (maybe_push_to_top_level): Save it. (pop_from_top_level): Restore it. (maybe_process_template_type_declaration): Use finish_member_declaration. (pushtag): Likewise. (pushdecl_class_level): Don't return a value. (fixup_anonymous_union): Break out from grok_x_components. (shadow_tag): Use it. (xref_tag): Complain about using an elaborated type specifier to reference a template type parameter or typedef name. (xref_basetypes): Don't set CLASSTYPE_LOCAL_TYPEDECLS. (current_local_enum): Remove. (build_enumerator): Call finish_member_declaration. (grok_enum_decls): Remove. * decl2.c (grok_x_components): Simplify. (check_classfn): Change iteration through CLASSTYPE_METHOD_VEC. (grokfield): Don't set CLASSTYPE_LOCAL_TYPEDECLS. (merge_functions): Add to comment. (arg_assoc_type): Prototype. (arg_assoc): Pass as many arguments as there are parameters. * error.c (dump_expr): Handle PTRMEM_CST. Improve handling of OFFSET_REF. * expr.c (cpls_expand_expr): Remove dead code. Handle PTRMEM_CST. * friend.c (do_friend): Lookup friends when in nested classes. Change comments. * init.c (build_offset_ref): Do lookup even for classes that are only partially defined. (decl_constant_value): Remove dead code. * method.c (build_overload_value): Remove hack where by TYPE was not a TYPE. Handle PTRMEM_CST. (build_template_parm_names): Don't pass a PARM_DECL where a TYPE should go. * parse.y (components, notype_components, component_decl, component_decl_1, component_declarator, component_declarator0): Now all are itype rather than ttype. Rework to add members to classes on the fly. (typesqpecqual_reserved): Use check_multiple_declarators. (structsp): Update class to finish_class_definition. (do_xref_defn): Unsplit into named_class_head. (access_specifier): Set current_access_specifier. * pt.c (set_current_access_from_decl): New function. (finish_member_template_decl): Don't take the parameters. (comp_template_args): Make more robust. (lookup_template_class): Don't use current_local_enum. (for_each_template_parm): Handle PTRMEM_CST. (instantiate_class_template): Use set_current_access_from_decl, finish_member_declaration and unreverse_member_declarations. Set lineno/input_filename before generating implicit member functions. (type_unification_real): Don't assume back-unification happens only for the last argument. (regenerate_decl_from_template): Call pushclass a bit earlier. (tsubst_chain): Remove. (tsubst_enum): Use set_current_access_from_decl. (set_mangled_name_for_template_decl): Fix indentation. * search.c (lookup_fnfields_1): Change iteration through CLASSTYPE_METHOD_VEC. (dfs_pushdecls): Likewise. (dfs_compress_decls): Likewise. (add_conversions): Likewise. * semantics.c (finish_class_definition): Don't take components. Change call to finish_struct. (finish_member_declaration): New function. (finish_member_class_template): Don't take template parameters. Change call to grok_x_components. Call finish_member_template_decl. (check_multiple_declarators): New function. * sig.c (append_signature_fields): Work from the TYPE_METHODS, not a passed in fieldlist. * tree.c (search_tree): Handle PTRMEM_CST. (mapcar): Likewise. * typeck.c (unary_complex_lvalue): Build PTRMEM_CSTs, not INTEGER_CSTs, for pointer-to-data members. From-SVN: r22869
Mark Mitchell committed -
* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't check for flag_function_sections. From-SVN: r22868
Catherine Moore committed -
* call.c (resolve_args): Resolve template specializations, if possible. From-SVN: r22867
Mark Mitchell committed -
From-SVN: r22866
J"orn Rennecke committed -
* flags.h (flag_dump_unnumbered): Declare. * toplev.c (flag_dump_unnumbered): Don't declare. * print-rtl.c (flags.h): Include. (print_rtl_single): Add return value. * rtl.h (print_rtl_single): Update declaration. * flow.c (flag_dump_unnumbered): Don't declare. (print_rtl_with_bb): Use return value of print_rtl_single. From-SVN: r22865
J"orn Rennecke committed -
* Makefile.in (spew.o): Depend on toplev.h. * call.c (compare_ics): Initialize variables `deref_from_type2', `deref_to_type1' and `deref_to_type2'. * except.c (get_eh_type): Hide prototype and definition. (process_start_catch_block_old): Remove unused static prototype. * pt.c (tsubst_decl): Initialize variable `argvec'. * spew.c: Include toplev.h. From-SVN: r22864
Kaveh R. Ghazi committed -
From-SVN: r22863
Jeff Law committed -
* Makefile.in (stupid.o): Update dependencies. (global.o): Likewise. * global.c: Include reload.h (reg_becomes_live): New function. (reg_dies): New function. (build_insn_chain): New function. (global_alloc): Call build_insn_chain before calling reload. * reload.h (struct needs): New structure definition. (struct insn_chain): Likewise. (reload_insn_chain): Declare variable. (new_insn_chain): Declare function. * reload1.c (reload_startobj): New variable. (reload_insn_chain): New variable. (unused_insn_chains): New variable. (new_insn_chain): New function. (init_reload): Initialize reload_startobj, not reload_firstobj. (reload): Initialize reload_firstobj. Before returning, free everything on the reload_obstack. * stupid.c: Include insn-config.h, reload.h and basic-block.h. (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber, current_chain): New variables. (reg_where_born): Delete variable. (REG_WHERE_BORN): New macro. (find_clobbered_regs): New function. (stupid_life_analysis): Don't allocate/free reg_where_born. Allocate and free reg_where_born_exact, reg_where_born_clobber, reg_where_dead_chain. Use REG_WHERE_BORN instead of reg_where_born. While processing the insns, build the reload_insn_chain with information about register lifetimes. (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born. (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers changed. Compute and information about birth and death of pseudo registers in reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber. Delete code to set elements of reg_where_born. From-SVN: r22862
Bernd Schmidt committed -
* g++.old-deja/g++.pt/friend35.C: New test. A template function must be declared before its specializations can be named in friend declarations. From-SVN: r22861
Alexandre Oliva committed
-
- 05 Oct, 1998 21 commits
-
-
0 * tree.def (GOTO_EXPR): Modified documentation. * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed goto. From-SVN: r22860
Alexandre Petit-Bianco committed -
8 * tree.def (GOTO_EXPR): Modified documentation. * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed goto. From-SVN: r22859
Alexandre Petit-Bianco committed -
* pt.c (instantiate_decl): Do save and restore file position. * method.c (build_decl_overload_real): Clear numeric_output_need_bar after __. * call.c (build_new_method_call): Issue 'incomplete type' error, if class is not defined. From-SVN: r22856
Jason Merrill committed -
* unroll.c (loop_iteration_var, loop_initial_value, loop_increment loop_final_value, loop_comparison_code): No longer static. (unroll_loop): Delete loop_start_value update. * loop.h (loop_iteration_var, loop_initial_value, loop_increment, loop_final_value, loop_comparison_code): Extern. (loop_start_value): Delete extern. * loop.c (loop_can_insert_bct, loop_increment, loop_start_value, loop_comparison_value, loop_comparison_code): Delete. (loop_optimize): Remove initialization for deleted variables. (strength_reduce): Delete analyze_loop_iterations call. Only call insert_bct if flag_branch_count_on_reg set. (analyze_loop_iterations): Delete. (insert_bct): Remove iteration count calculation. Move checks for viable BCT optimization to here. Obtain iteration count from loop_iterations and correct for unrolling. Check for enough iteration to be beneficial. Comment out runtime iteration count case. (insert_bct): Print iteration count in dump file. Remove loop_var_mode and use word_mode directly. * rs6000.h (processor_type): Add PROCESSOR_PPC604e. * rs6000.c (rs6000_override_options): Use it. (optimization_options): Enable use of flag_branch_on_count_reg. * rs6000.md (define_function_unit): Describe 604e. From-SVN: r22852
David Edelsohn committed -
* call.c (build_object_call): Move declaration of variable `fn' into the scope where it is used. Don't access variable `fn' when it is uninitialized, instead use `fns'. From-SVN: r22850
Kaveh Ghazi committed -
* call.c (build_object_call): Move declaration of variable `fn' into the scope where it is used. Don't access variable `fn' when it is uninitialized, instead use `fns'. From-SVN: r22849
Kaveh Ghazi committed -
* loop.c (move_movables): Corrected threshold calculation for moved_once registers. From-SVN: r22847
Herman A.J. ten Brugge committed -
From-SVN: r22845
Bernd Schmidt committed -
1998-10-05 Dave Love <d.love@dl.ac.uk> * g77.f-torture/execute/u77-test.f: Add regression test for RAND. * g77.f-torture/execute/io1.f: New test. From-SVN: r22844
Dave Love committed -
From-SVN: r22843
Dave Love committed -
From-SVN: r22842
Dave Love committed -
warn_summary (subdirectoryFilter): New shell function to optionally filter in/out gcc subdirectories when... * warn_summary (subdirectoryFilter): New shell function to optionally filter in/out gcc subdirectories when summarizing warnings. Add new flags to support subdirectory filtering. Also, ensure the bootstrap stage is a number. Add some more C keywords that are preserved in the "warning type" summary and tighten up the "arg ???" regexp. From-SVN: r22839
Kaveh R. Ghazi committed -
From-SVN: r22836
Nick Clifton committed -
8 * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is not a no-op. From-SVN: r22835
Jeff Law committed -
� * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is not a no-op. From-SVN: r22834
Jeff Law committed -
From-SVN: r22832
Jeffrey A Law committed -
From-SVN: r22831
Jeffrey A Law committed -
From-SVN: r22830
Jeff Law committed -
* Makefile.in (s-libi77): Depend on i77. (s-libf77): Depend on i77. (s-libu77): Depend on u77. From-SVN: r22829
H.J. Lu committed -
expmed.c (expand_divmod): Don't widen for computing remainder if we seem to have a divmod pattern for... * expmed.c (expand_divmod): Don't widen for computing remainder if we seem to have a divmod pattern for needed mode. From-SVN: r22828
Torbjorn Granlund committed -
* cpplib.c (macroexpand): Correct off-by-one error in handling of escapes. From-SVN: r22827
Zack Weinberg committed
-
- 04 Oct, 1998 8 commits
-
-
combine.c (expand_field_assignment): Don't do bitwise operations on MODE_FLOAT; pun to MODE_INT if possible. * combine.c (expand_field_assignment): Don't do bitwise operations on MODE_FLOAT; pun to MODE_INT if possible. From-SVN: r22826
Richard Henderson committed -
errfn.c (cp_thing): Print buf as a string not as a printf format to avoid problems with the operator%. * errfn.c (cp_thing): Print buf as a string not as a printf format to avoid problems with the operator%. Consequently, `%%' sequences in format are copied as `%' in buf. From-SVN: r22825
Theodore Papadopoulo committed -
* pt.c (pop_tinst_level): Call extract_interface_info. (instantiate_decl): Don't save and restore file position. * decl.c (cp_finish_decl): Make statics in extern inlines and templates common, if possible and the target doesn't support weak symbols. From-SVN: r22824
Jason Merrill committed -
* tlink.c (scan_linker_output): Recognize errors from irix 6.2 linker. Recognize mangled names in quotes. Co-Authored-By: Scott Snyder <snyder@fnal.gov> From-SVN: r22823
Jason Merrill committed -
From-SVN: r22822
Robert Lipe committed -
From-SVN: r22821
Jason Merrill committed -
* decl.c (grokdeclarator): Remove redundant calls to build_type_variant and some duplicated code. * sig.c (build_signature_reference_type): Only take the type parm. (build_signature_pointer_type): Likewise. * tree.c (build_cplus_method_type): Adjust. * cp-tree.h: Update. From-SVN: r22820
Jason Merrill committed -
From-SVN: r22819
Alexandre Oliva committed
-