1. 27 Feb, 1998 9 commits
    • pt.c (add_to_template_args): Fix thinko. · db897306
      	* pt.c (add_to_template_args): Fix thinko.
      	(instantiate_class_template): Call it later.
      
      From-SVN: r18286
      Jason Merrill committed
    • Support partial specialization of member class templates. · 8d019cef
      	* pt.c (get_class_bindings): Add outer_args parm.
      	(most_specialized_class): Likewise.
      	(instantiate_class_template): Pass it.
      	(more_specialized_class): Likewise.
      	(lookup_template_class): Get context from template if none
      	was specified.
      	(finish_member_template_decl): Don't do anything with a
      	partial specialization.
      	* decl2.c (check_member_template): Use IS_AGGR_TYPE instead of
      	AGGREGATE_TYPE_P.
      	* class.c (finish_struct): Member class templates have already been
      	checked for name clashes.
      	* decl.c (pushdecl_with_scope): Handle pushing at class level.
      
      From-SVN: r18285
      Jason Merrill committed
    • genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE. · 5987a4f3
              * 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: r18284
      Kaveh Ghazi committed
    • new · 81ce6e9a
      From-SVN: r18283
      Jason Merrill committed
    • comment · 5f311aec
      From-SVN: r18282
      Jason Merrill committed
    • pt.c (tsubst, [...]): Support member class templates. · 93cdc044
      	* pt.c (tsubst, TEMPLATE_DECL): Support member class templates.
      	(tsubst, *_PARM): Support multiple levels of template classes.
      	(instantiate_class_template): Look up the pattern from the
      	original template.
      	(lookup_template_class): Handle getting a template for d1.
      	(push_template_decl): Correct setting of 'primary'.
      	(reduce_template_parm_level): Add 'levels' parm.
      	(finish_member_template_decl): Support member class templates.
      	(template_class_depth): Handle multiple levels.
      	* parse.y (component_decl_1, fn.def2): Remove member template case.
      	(component_decl): Add member template cases.
      	* decl2.c (check_member_template): We now handle member template
      	classes.
      	* decl.c (pushtag): Handle member templates.
      	* method.c (do_inline_function_hair): Don't touch
      	IDENTIFIER_GLOBAL_VALUE.
      	* init.c (build_offset_ref): If name isn't an identifier, just
      	return it.
      	* spew.c (yylex): Handle PTYPENAME like TYPENAME.
      	* typeck.c (get_delta_difference): Do adjust for conversions to
      	and from virtual base.
      
      From-SVN: r18280
      Jason Merrill committed
    • Update copyright · a7b4c0ac
      From-SVN: r18279
      Andreas Schwab committed
    • m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero. · 0fd12b04
      	* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
      	zero.
      
      From-SVN: r18278
      Andreas Schwab committed
  2. 26 Feb, 1998 2 commits
  3. 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
  4. 24 Feb, 1998 5 commits
  5. 23 Feb, 1998 13 commits