- 27 Feb, 1998 6 commits
-
-
From-SVN: r18283
Jason Merrill committed -
From-SVN: r18282
Jason Merrill committed -
From-SVN: r18281
Andreas Schwab committed -
* 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 -
From-SVN: r18279
Andreas Schwab committed -
* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero. From-SVN: r18278
Andreas Schwab committed
-
- 26 Feb, 1998 2 commits
-
-
* regclass.c (init_reg_sets): Move init of move cost tables... (init_reg_sets_1): ...to here. From-SVN: r18273
Ken Raeburn committed -
From-SVN: r18245
Jeff Law committed
-
- 25 Feb, 1998 11 commits
-
-
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. From-SVN: r18241
Ian Lance Taylor committed -
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 -
From-SVN: r18239
Jeff Law committed -
* 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 -
From-SVN: r18231
Mark Mitchell committed -
* typeck.c (get_delta_difference): Give hard error for conversion from virtual base. * cp-tree.h: Tweak formatting. From-SVN: r18229
Jason Merrill committed -
From-SVN: r18228
Jason Merrill committed -
* 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. From-SVN: r18226
Jeffrey A Law committed -
* 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
-
- 24 Feb, 1998 5 commits
-
-
* libioP.h (_IO_showmanyc_t, _IO_SHOWMANYC, _IO_imbue_t, _IO_IMBUE): New definitions. (struct _IO_jump_t): Add __showmanyc and __imbue fields. (_IO_file_fopen): Add new fourth argument. * filebuf.cc (filebuf::open): Pass new fourth argument to _IO_file_fopen. * iolibio.h (_IO_freopen): Likewise. * streambuf.cc (streambuf::showmanyc, streambuf::imbue): New functions. * streambuf.h (_IO_wchar_t): Define to _G_wchar_t. (ios::fill): Remove casts. (struct streambuf): Add showmanyc and imbue members. * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 1]: Initialize new fields is_char of struct printf_info. (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 1]: Likewise. From-SVN: r18222
Andreas Schwab committed -
* decl.c (finish_function): Give a pedwarn for reaching end of non-void function, not just a warning. Remove the above. From-SVN: r18218
Brendan Kehoe committed -
* decl.c (finish_function): Give a pedwarn for reaching end of non-void function, not just a warning. From-SVN: r18217
Brendan Kehoe committed -
* pt.c (instantiate_class_template): Don't instantiate if pedantic and the args use template parms. * pt.c (push_tinst_level): If the instantiaton uses template parms, fail silently. * decl.c (xref_basetypes): Do call complete_type for basetypes that involve template parameters. From-SVN: r18215
Jason Merrill committed -
From-SVN: r18214
Jason Merrill committed
-
- 23 Feb, 1998 14 commits
-
-
From-SVN: r18211
Jeff Law committed -
* execute/980223.c: New test. From-SVN: r18210
Robert Lipe committed -
From-SVN: r18209
Bruno Haible committed -
From-SVN: r18208
Jason Merrill committed -
From-SVN: r18207
Jason Merrill committed -
e * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and set to empty. * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise. * config/alpha/t-linux: Remove file. * config/sparc/t-linux: Remove file. * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise. * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux for tmake_file. (alpha*-*-linux-gnu*): Likewise. (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file. (sparc-*-linux-gnu*): Likewise. From-SVN: r18206
Manfred Hollstein committed -
# * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and set to empty. * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise. * config/alpha/t-linux: Remove file. * config/sparc/t-linux: Remove file. * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise. * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux for tmake_file. (alpha*-*-linux-gnu*): Likewise. (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file. (sparc-*-linux-gnu*): Likewise. From-SVN: r18205
Manfred Hollstein committed -
a * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and set to empty. * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise. * config/alpha/t-linux: Remove file. * config/sparc/t-linux: Remove file. * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise. * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux for tmake_file. (alpha*-*-linux-gnu*): Likewise. (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file. (sparc-*-linux-gnu*): Likewise. From-SVN: r18204
Manfred Hollstein committed -
d * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and set to empty. * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise. * config/alpha/t-linux: Remove file. * config/sparc/t-linux: Remove file. * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise. * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux for tmake_file. (alpha*-*-linux-gnu*): Likewise. (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file. (sparc-*-linux-gnu*): Likewise. From-SVN: r18203
Manfred Hollstein committed -
* collect2.c (ldd_file_name): Bracket declaration with same manifests as use. (full_real_ld_suffix): Deleted. Variable was calloced and written into, but never read. From-SVN: r18202
Robert Lipe committed -
* pt.c, call.c, decl.c, method.c, cp-tree.h: Remove unused NARGS argument to tsubst and friends. From-SVN: r18201
Jason Merrill committed -
From-SVN: r18200
Jason Merrill committed -
From-SVN: r18199
Jason Merrill committed -
* typeck.c (build_x_function_call): Handle static member function templates like non-templates. Handle friend templates like normal function templates. * pt.c (tsubst, *_PARM): Don't use orig_level. (get_bindings): Don't call add_to_template_args. (instantiate_template): Likewise. (tsubst, FUNCTION_DECL): Call add_to_template_args as appropriate. * ptree.c (print_lang_type): Print index/level for template parms. * Make-lang.in (cc1plus): Note that cc1plus depends on cp/cp-tree.h and cp/cp-tree.def. * cp-tree.def (TEMPLATE_CONST_PARM): Remove. (TEMPLATE_PARM_INDEX): New tree code, used to indicate a position in a template parameter list. * cp-tree.h (template_parm_index): New structure, used as the tree structure for a TEMPLATE_PARM_INDEX. (TEMPLATE_PARM_IDX): New macro. (TEMPLATE_PARM_LEVEL): Likewise. (TEMPLATE_PARM_DESCENDANTS): Likewise. (TEMPLATE_PARM_ORIG_LEVEL): Likewise. (TEMPLATE_PARM_DECL): Likewise. (TEMPLATE_TYPE_PARM_INDEX): Likewise. (TEMPLATE_TYPE_ORIG_LEVEL): Likewise. (TEMPLATE_TYPE_DECL): Likewise. (TEMPLATE_CONST_IDX): Remove. (TEMPLATE_CONST_LEVEL): Likewise. (TEMPLATE_CONST_SET_INFO): Likewise. (TEMPLATE_TYPE_SET_INFO): Likewise. (TEMPLATE_TYPE_IDX): Redefine in terms of TEMPLATE_PARM_INDEX node. (TEMPLATE_TYPE_LEVEL): Likewise. * decl.c (decls_match): Call comp_template_parms, rather than expanding it inline. (duplicate_decls): If two template declarations are being merged, then their TEMPLATE_INFOs should be merged as well. (grokfndecl): Save template-id information when declaring a friend with explicit template arguments. Pass arguments to check_explicit_specialization via correct convention; at some point check_explicit_specialization changed, but these call-sites did not. (grokdeclarator): Tidy up slightly. * decl2.c (check_classfn): Tidy up slightly. Don't assume that two template functions with the same DECL_ASSEMBLER_NAME the same, since the names are not yet mangled. * error.c (dump_decl): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (dump_expr): Likewise. Use the TEMPLATE_PARM_DECL to get at the decl for a non-type parameter, rather than printing `<tparm ...>'. * friend.c (is_friend): Handle TEMPLATE_DECL friends. (do_friend): Deal with template friends. * lex.c (do_pending_inlines): Call maybe_begin_member_template_processing, rather than conditionally calling begin_member_template_processing. (process_next_inline): Likewise. Call maybe_end_member_template_processing, rather than conditionally calling end_member_template_processing. (do_pending_defargs): Likewise. (do_identifier): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. * method.c (build_mangled_template_parm_index): New function. (build_overload_value): Use it. (build_overload_name): Likewise. * pt.c (finish_member_template_decl): Allow friend declarations. (template_class_depth): New function. (is_member_template): Rename, and modify, to become... (is_member_or_friend_template): New function. (end_member_template_processing): Rename, and modify, to become... (maybe_end_member_template_processing). (build_template_parm_index): New function. (reduce_template_parm_level): New function. (process_template_parm): Modify to use build_template_parm_index. (current_template_args): Change name to current_template_parms. (push_template_decl): Deal with friend templates. (uses_template_parms): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (tsubst_friend_function): New function. (instantiate_class_template): Generate the DECL_FRIENDLIST for a new instantiation by using tsubst_friend_function rather than just tsubst. (tsubst): Don't tsubst into a type which is a TEMPLATE_DECL. Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM, and the appropriate new macros. Use reduce_template_parm_level to generate lower-level template parameters. Handle tsubst'ing into TEMPLATE_DECLS that declare TEMPLATE_TEMPLATE_PARMS. Don't forget to tsubst the DECL_CONTEXT and DECL_CLASS_CONTEXT of newly created templates. Similarly for the template parameters for a new template. (tsubst_copy): Tidy up slightly. Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. Handle TYPE_DECLs by tsubsting into them. (unify): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (get_bindings): Call add_to_template_args if necessary. (instantiate_decl): Handle instantiations of friend templates. * search.c (lookup_field_1): Don't treat the TYPE_FIELDS of a TEMPLATE_TYPE_PARM as a list of fields; it's not! * spew.c (yylex): Do a little manual constant propogation to clarify the code. From-SVN: r18198
Jason Merrill committed
-
- 22 Feb, 1998 2 commits
-
-
* configure.in: Add support for i386-wrs-vxworks configuration. * i386/vxi386.h: New file. From-SVN: r18197
Mike Stump committed -
* tree.c (contains_placeholder_p): Ensure function always returns a value. * sparc.md (movdi_sp64_insn): Add default case in enumeration switch. (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise. From-SVN: r18196
Bruno Haible committed
-