- 25 Feb, 1998 5 commits
-
-
* 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 16 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 -
From-SVN: r18195
Jeffrey A Law committed -
* expr.c (ffeexpr_token_arguments_): Make sure outer exprstack isn't null. From-SVN: r18190
Craig Burley committed -
From-SVN: r18189
Craig Burley committed -
From-SVN: r18188
Jeff Law committed -
* com.c (ffecom_char_args_x_): Renamed from ffecom_char_args_, which is now a macro (to avoid lots of changes to other code) with new arg, ffecom_char_args_with_null_ being another new macro to call same function with different value for new arg. This function now appends a null byte to opCONTER expression if the new arg is TRUE. (ffecom_arg_ptr_to_expr): Support NULL length pointer. * ste.c (ffeste_io_cilist_): (ffeste_io_icilist_): Pass NULL length ptr for FORMAT expression, so null byte gets appended where feasible. * target.c (ffetarget_character1): (ffetarget_concatenate_character1): (ffetarget_substr_character1): (ffetarget_convert_character1_character1): (ffetarget_convert_character1_hollerith): (ffetarget_convert_character1_integer4): (ffetarget_convert_character1_logical4): (ffetarget_convert_character1_typeless): (ffetarget_hollerith): Append extra phantom null byte as part of FFETARGET-NULL-BYTE kludge. Yes, even more patches from Craig :-) From-SVN: r18187
Craig Burley committed -
* intrin.c (ffeintrin_check_): No longer ignore explicit omitted trailing args. * intrin.c (ffeintrin_fulfill_generic): Don't generate FFEBAD_INTRINSIC_TYPE for CHARACTER*(*) intrinsic. More patches from Craig From-SVN: r18186
Craig Burley committed -
Make-lang.in (f77.install-common): Don't install, and don't uninstall existing, Info files if f/g77.info doesn't exit. * Make-lang.in (f77.install-common): Don't install, and don't uninstall existing, Info files if f/g77.info doesn't exit. (This is a somewhat modified version of an egcs patch on 1998-01-07 12:05:51 by Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>. From-SVN: r18185
Craig Burley committed -
From-SVN: r18184
Craig Burley committed -
* com.c (ffecom_arglist_expr_): Crash if non-supplied optional arg isn't passed as an address. Pass null pointer explicitly, instead of via ffecom routine. If incoming argstring is NULL, substitute pointer to "0". Recognize '0' as ending the usual arg stuff, just like '\0'. * com.c (ffecom_arglist_expr_): Pass null pointers for optional args which aren't supplied. More patches from Craig. From-SVN: r18183
Jeff Law committed -
From-SVN: r18182
Craig Burley committed -
Support FORMAT(I<1+2>) (constant variable-FORMAT expressions): * bad.def (FFEBAD_FORMAT_VARIABLE): New diagnostic. * std.c (ffestd_R1001rtexpr_): New function. (ffestd_R1001dump_, ffestd_R1001dump_1005_1_, ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_, ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_, ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_, ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_): Use new function instead of ffestd_R1001error_. * stb.c (ffestb_R10014_, ffestb_R10016_, ffestb_R10018_, ffestb_R100110_): Restructure `for' loop for style. Change from Craig. From-SVN: r18181
Craig Burley committed -
/ * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Define this new symbol. (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef. * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined. From-SVN: r18180
Jeff Law committed -
d * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Define this new symbol. (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef. * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined. From-SVN: r18179
Paul Eggert committed -
* iris5.h (DWARF2_UNWIND_INFO): Define to 0. * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1. From-SVN: r18178
Jim Wilson committed
-