Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
* 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
|
|
From-SVN: r18287
|
|
* pt.c (add_to_template_args): Fix thinko.
(instantiate_class_template): Call it later.
From-SVN: r18286
|
|
* 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
|
|
* 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
|
|
From-SVN: r18283
|
|
From-SVN: r18282
|
|
From-SVN: r18281
|
|
* 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
|
|
From-SVN: r18279
|
|
* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
zero.
From-SVN: r18278
|
|
* regclass.c (init_reg_sets): Move init of move cost tables...
(init_reg_sets_1): ...to here.
From-SVN: r18273
|
|
From-SVN: r18245
|
|
8
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
From-SVN: r18242
|
|
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
From-SVN: r18241
|
|
From-SVN: r18239
|
|
* 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
|
|
From-SVN: r18231
|
|
base.
* typeck.c (get_delta_difference): Give hard error for conversion
from virtual base.
* cp-tree.h: Tweak formatting.
From-SVN: r18229
|
|
From-SVN: r18228
|
|
* 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
|
|
* c-parse.y (undeclared variable error): Tweak error message
to be clearer.
From-SVN: r18226
|
|
* 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
|
|
function, not just a warning.
* decl.c (finish_function): Give a pedwarn for reaching end of
non-void function, not just a warning.
Remove the above.
From-SVN: r18218
|
|
function, not just a warning.
* decl.c (finish_function): Give a pedwarn for reaching end of
non-void function, not just a warning.
From-SVN: r18217
|
|
args use template parms.
* 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
|
|
From-SVN: r18214
|
|
* execute/980223.c: New test.
From-SVN: r18210
|
|
From-SVN: r18209
|
|
From-SVN: r18208
|
|
From-SVN: r18207
|
|
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
|
|
#
* 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
|
|
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
|
|
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
|
|
* 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
|
|
* pt.c, call.c, decl.c, method.c, cp-tree.h: Remove unused NARGS
argument to tsubst and friends.
From-SVN: r18201
|
|
From-SVN: r18200
|
|
From-SVN: r18199
|
|
* 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
|
|
* configure.in: Add support for i386-wrs-vxworks configuration.
* i386/vxi386.h: New file.
From-SVN: r18197
|
|
* 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
|
|
From-SVN: r18195
|
|
* expr.c (ffeexpr_token_arguments_): Make sure
outer exprstack isn't null.
From-SVN: r18190
|
|
From-SVN: r18189
|
|
From-SVN: r18188
|
|
* 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
|
|
* 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
|
|
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
|