1. 28 Feb, 1998 6 commits
    • parse.y (nested_name_specifier): Use explicit_template_type. · 11686454
      	* parse.y (nested_name_specifier): Use explicit_template_type.
      	(typename_sub): Allow a template_type, an explicit_template_type,
      	or an implicit template type at the end.
      	* lex.c (yyprint): Handle a PTYPENAME being a TEMPLATE_DECL.
      	* decl.c (make_typename_type): Handle template-id where the name
      	is a TEMPLATE_DECL.
      	* call.c (build_scoped_method_call): Handle member template
      	destructor call.
      	* pt.c (tsubst_copy, METHOD_CALL_EXPR): Don't assume a member
      	destructor is represented by the type.
      
      From-SVN: r18303
      Jason Merrill committed
    • cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro. · b2b7d40a
      	* cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro.
      	* parse.y (nested_name_specifier): Add 'template' case.
      	(explicit_template_type): New rule.
      	(typename_sub): Use it.
      	* decl.c (make_typename_type): Handle getting a template-id for NAME.
      	* pt.c (tsubst): Likewise.
      
      From-SVN: r18296
      Jason Merrill committed
    • pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated case... · 5feca984
             * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
             case, add parentheses to specify the proper order of precedence in
             the if-statement.
      
      From-SVN: r18291
      Kaveh R. Ghazi committed
    • Fix warious warnings: · 51723711
      	* c-aux-info.c: Include string.h/strings.h.
      	* pa.c: Include stdlib.h.
      	(pa_combine_instructions): Prototype the function.
      	(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
      	(reloc_needed): Add default case for enumeration switch.
      	(remove_useless_addtr_insns): Remove unused variable `all'.
      	(hppa_expand_prologue): Add explicit braces to avoid
      	ambiguous `else'.
      	(output_function_epilogue): Remove unused variable `i'.
      	(output_millicode_call): Remove unused variable `link'.
      	(shadd_constant_p, forward_branch_p): Make the function static.
      	(following_call): Explicitly declare to return int.
      	(pa_reorg): Declare as void.
      	(pa_combine_instructions): Declare as static void.  Add
      	parentheses around && within ||.
      	* pa.h: Add prototypes for pa_reorg, symbolic_operand,
      	following_call, function_label_operand, lhs_lshift_cint_operand
      	and zdepi_cint_p.
      	* pa.md: Add parentheses around && within ||.
      	* cppalloc.c: Include stdlib.h.
      	* cpperror.c (cpp_print_containing_files): Remove unused variable
      	`i'.  Fix format specifier in fprintf.
      	* cse.c (cse_around_loop): Add explicit braces to avoid
      	ambiguous `else'.
      	(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
      	* expr.c (expand_expr): Add parentheses around && within ||.
      	* final.c (app_enable): Replace fprintf with fputs where there are
      	no format specifiers and no trailing argument after the string.
      	Eg, when printing ASM_APP_ON/ASM_APP_OFF.
      	(app_disable): Likewise.
      	(final_end_function): Likewise.
      	(final_scan_insn): Likewise.  Remove unused variable `set'.
      	(profile_function): Wrap empty if-statement body in {} brackets.
      	* function.c: Include stdlib.h.
      	(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
      	(reposition_prologue_and_epilogue_notes): Add parentheses
      	around assignment used as truth value.
      	* integrate.c (expand_inline_function): Wrap variable
      	`cc0_insn' in macro HAVE_cc0.
      	* jump.c (jump_optimize): Wrap variable `q' in macro
      	HAVE_cc0.  Remove unused variable `prev1'.
      	* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
      	within ||.  Fix format specifier in fprintf.
      	(__bb_init_prg): Add parentheses around assignment used as
      	truth value.
      	* local-alloc.c: Include stdlib.h.
      	(requires_inout): Add parentheses around assignment used
      	as truth value.
      	* loop.c (analyze_loop_iterations): Wrap prototype and definition
      	in macro HAVE_decrement_and_branch_on_count.
      	(insert_bct, instrument_loop_bct): Likewise.
      	(move_movables): Add parentheses around assignment used as
      	truth value.
      	(consec_sets_invariant_p): Likewise.
      	(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
      	* objc/objc-act.c: Include stdlib.h.
      	(lookup_method_in_protocol_list): Wrap empty else-statement body
      	in braces.
      	(lookup_protocol_in_reflist): Likewise.
      	(objc_add_static_instance): Remove unused variables `decl_expr'
      	and `decl_spec'.
      	(get_objc_string_decl): Remove unused variable `decl'.
      	(generate_static_references): Remove unused variables `idecl' and
      	`instance'.
      	(check_protocols): Wrap empty else-statement body in braces.
      	* protoize.c: Include stdlib.h.
      	(substr): Add parentheses around assignment used as truth value.
      	(abspath): Likewise.
      	(shortpath): Likewise.
      	* regmove.c (fixup_match_1): Add parentheses around assignment
      	used as truth value.
      	* reload.c (push_secondary_reload): Remove unused variable `i'.
      	(find_reloads): Add parentheses around assignment used as truth
      	value.
      	* reload1.c: Include stdlib.h.
      	* rtl.h: Correct typo in prototype of offsettable_memref_p.
      	* stmt.c (add_case_node): Add parentheses around assignment used
      	as truth value.
      	(case_tree2list): Likewise.
      	* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
      	in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
      	`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
      	(merge_attributes): Add explicit braces to avoid ambiguous
      	`else'.
      	* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
      	macro HAVE_cc0.
      	* varasm.c: Include stdlib.h.
      
      From-SVN: r18290
      Kaveh R. Ghazi committed
    • I've backed out of including stat.h via system.h because stat.h can define... · c5801053
      I've backed out of including stat.h via system.h because stat.h can
      define static functions (eg on x86 svr4 according to jfc@mit.edu)
      causing code bloat.
              * system.h: Remove sys/stat.h.
              * gcc.c: Add sys/stat.h.
      
      From-SVN: r18289
      Kaveh R. Ghazi committed
    • ChangeLog entry, omitted for change described below, is now installed: · 3d85c12e
              * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
              * genattrtab.c: Likewise.
              * genconfig.c: Likewise.
              * genemit.c: Likewise.
              * genextract.c: Likewise.
              * genflags.c: Likewise.
              * genopinit.c: Likewise.
              * genoutput.c: Likewise.
              * genpeep.c: Likewise.
              * genrecog.c: Likewise.
              * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
      
      From-SVN: r18288
      Kaveh Ghazi committed
  2. 27 Feb, 1998 10 commits
  3. 26 Feb, 1998 2 commits
  4. 25 Feb, 1998 11 commits
    • choose-temp.c: Fix handling of sys/file.h to work in libiberty. · a0dfe933
      8
              * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
      
      From-SVN: r18242
      Jeff Law committed
    • choose-temp.c: Fix handling of sys/file.h to work in libiberty. · c3cf395b
       
              * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
      
      From-SVN: r18241
      Ian Lance Taylor committed
    • choose-temp.c: Fix handling of sys/file.h to work in libiberty. · b9fb3c42
      Mon Feb 23 14:33:15 1998  Ian Lance Taylor  <ian@cygnus.com>
              * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
      
      From-SVN: r18240
      Ian Lance Taylor committed
    • New testcase for x86 specific crash. · c1b2e68d
      From-SVN: r18239
      Jeff Law committed
    • i386.c (struct machine_function): Add new fields for PIC stuff. · b94b5c16
              * i386.c (struct machine_function): Add new fields for PIC stuff.
              (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
              and pic_label_name.
              (restore_386_machine_status): Corresponding changes.
              (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
      
      From-SVN: r18237
      Jeffrey A Law committed
    • Add .cvsignore file. · 9b899da0
      From-SVN: r18231
      Mark Mitchell committed
    • typeck.c (get_delta_difference): Give hard error for conversion from virtual base. · 32e02ee0
      	* typeck.c (get_delta_difference): Give hard error for conversion
      	from virtual base.
      	* cp-tree.h: Tweak formatting.
      
      From-SVN: r18229
      Jason Merrill committed
    • update · 75cf27d4
      From-SVN: r18228
      Jason Merrill committed
    • Partial implementation of namespaces. · 30394414
      	* decl.c (push_namespace): Handle redeclaration error.
      	* cp-tree.h (IDENTIFIER_NAMESPACE_VALUE): New macro.
      	(IDENTIFIER_NAMESPACE_BINDINGS): New macro.
      	(NAMESPACE_BINDING): New macro.
      	(IDENTIFIER_GLOBAL_VALUE): Use NAMESPACE_BINDING.
      	* *.c: Use them.
      	* pt.c (push_template_decl): Use innermost_args.
      	* decl.c (get_unique_name): Tweak from earlier in the name.
      	* cp-tree.def: Add CPLUS_BINDING node.
      	* cp-tree.h (tree_binding): new struct
      	(BINDING_SCOPE, BINDING_VALUE): new macros
      	(current_namespace, global_namespace): declare extern
      	(struct lang_decl_flags): new field in_namespace
      	(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): new macros
      	(DECL_NAMESPACE, SET_DECL_NAMESPACE): new macros
      	(TREE_INDIRECT_USING): new macro
      	* decl2.c (current_namespace, global_namespace): Declare.  The
      	value is a NAMESPACE_DECL now, not a TREE_LIST.
      	(is_namespace_ancestor, namespace_ancestor):new static functions.
      	(add_using_namespace, ambiguous_decl): likewise.
      	(lookup_using_namespace): new support function for lookup_name.
      	(qualified_lookup_using_namespace): new support function for
      	do_scoped_id and lookup_namespace_name
      	(get_namespace_id): mark as obsolete.
      	(current_namespace_id): Likewise.
      	(do_namespace_alias): Implement.
      	(do_using_directive): Implement as call to add_using_namespace.
      	* decl.c (binding_for_name): new function.
      	(push_namespace, pop_namespace): implement.
      	(push_decl): don't install a FUNCTION_DECL in the global branch.
      	(lookup_namespace_name): implement using qualified lookup.
      	(lookup_name_real): For global scoping, lookup in
      	global_namespace. For namespace scoping, lookup in given
      	namespace. For unscoped lookup, iterate over namespace,
      	considering using directives.
      	(init_decl_processing): initialize global_namespace.
      	(grokvardecl): Build assembler name as static name for globals.
      	(grokdeclarator): Remove old namespace mangling.
      	(xref_tag): When installing a global binding for the
      	tag, make sure we have an identifier.
      	* method.c (build_overload_nested_name): mangle namespaces.
      	(build_qualified_name): Likewise.
      	(build_decl_overload_real): Likewise.
      	* lex.c (build_lang_decl): set namespace for new declaration to
      	current_namespace.
      	(do_scoped_id): find global names in global or current
      	namespace, or using qualified namespace lookup, depending on
      	context.
      	* init.c (build_member_call): When scope is namespace, use
      	build_x_function_call instead.
      	(build_offset_ref): When scope is namespace, collapse processing
      	to lookup_namespace_name instead.
      	* error.c (dump_decl): Support NAMESPACE_DECL.
      	* decl.c (pushdecl): Bind globals to current namespace.
      	(push_overloaded_decl): Likewise.
      	(lookup_tag): Likewise.
      	(lookup_name_current_level): Likewise.
      	(xref_tag): Likewise.
      	(start_function): Likewise.
      	* lex.c (do_identifier): Likewise.
      	(identifier_typedecl_value): Likewise.
      	(real_yylex): Likewise.
      	* method.c (do_inline_function_hair): Likewise.
      	* parse.y (unscoped): Likewise.
      	* pt.c (check_explicit_specialization): Likewise.
      	(lookup_template_class): Likewise.
      	* rtti.c (call_void_fn): Likewise.
      	* sig.c (build_sigtable): Likewise.
      	* ptree.c (lang_print_xnode): New function.
      
      From-SVN: r18227
      Jason Merrill committed
    • c-parse.y (undeclared variable error): Tweak error message to be clearer. · 8dfafd99
              * c-parse.y (undeclared variable error): Tweak error message
              to be clearer.
      
      From-SVN: r18226
      Jeffrey A Law committed
    • flags.h (g_switch_value, [...]): Declare. · bb8ebb7f
              * flags.h (g_switch_value, g_switch_set): Declare.
              * alpha.c (override_options): Set g_switch_value=8 if not set.
              * alpha/elf.h (CC1_SPEC): New.
              (ASM_SPEC): New.
              (LINK_SPEC): Pass along the -G value we were given.
              (LOCAL_ASM_OP): Remove.
              (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
              (MAX_OFILE_ALIGNMENT): New.
              (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
              (EXTRA_SECTIONS): Add sbss and sdata.
              (SECTION_FUNCTION_TEMPLATE): New.
              (EXTRA_SECTION_FUNCTIONS): Use it.
              (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
              (SELECT_SECTION): Use sdata when small enough.
              * alpha/linux.h (ASM_SPEC): Remove.
      
      From-SVN: r18225
      Richard Henderson committed
  5. 24 Feb, 1998 5 commits
  6. 23 Feb, 1998 6 commits