Uros Bizjak [Wed, 8 Sep 2004 05:08:26 +0000 (07:08 +0200)]
i386.c (ix86_prepare_fp_compare_args): Do not force operand 0.0 into register in XFmode.
* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
force operand 0.0 into register in XFmode. Also do not force
operand 0.0 into register if !TARGET_CMOVE.
* config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
(*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
implement ftst x87 instruction.
(*fp_jcc_7): New insn pattern. Change corresponding split
pattern to handle "general_operand" instead of
"nonimmediate_operand".
----------------------------------------------------------------------
From-SVN: r87173
Ben Elliston [Wed, 8 Sep 2004 05:03:02 +0000 (05:03 +0000)]
* doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
From-SVN: r87172
Frank Ch. Eigler [Wed, 8 Sep 2004 01:34:03 +0000 (01:34 +0000)]
builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes generated from standard va_arg expansion.
2004-09-07 Frank Ch. Eigler <fche@redhat.com>
* builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
generated from standard va_arg expansion.
* tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
marked nodes.
(mf_varname_tree, mf_file_function_line_tree): Add some support
for column numbers if compiled with USE_MAPPED_LOCATION.
From-SVN: r87170
Ziemowit Laski [Wed, 8 Sep 2004 01:24:26 +0000 (01:24 +0000)]
c-decl.c (groktypename_in_parm_context): Remove function.
[gcc/ChangeLog]
2004-09-07 Ziemowit Laski <zlaski@apple.com>
* c-decl.c (groktypename_in_parm_context): Remove function.
* c-tree.h (groktypename_in_parm_context): Remove prototype.
From-SVN: r87169
Ziemowit Laski [Wed, 8 Sep 2004 00:49:44 +0000 (00:49 +0000)]
Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
[gcc/ChangeLog]
2004-09-07 Ziemowit Laski <zlaski@apple.com>
* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
* c-parse.in: Include c-common.h instead of objc-act.h.
(ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
myparms, myparm): Remove %type declarations.
(methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
objc_typename, objc_try_catch_stmt, optellipsis): Add %type
declarations.
(objc_inherit_code, objc_public_flag): Remove.
(typespec_nonreserved_nonattr): Call
objc_get_protocol_qualified_type() instead of get_static_reference()
and get_protocol_reference().
(stmt_nocomp): Call grokparm() on @catch parameter.
(objcdef): Move semantic action to objc_finish_implementation().
(classdef): Move semantic action to objc_start_class_interface(),
objc_continue_interface(), objc_finish_interface(),
objc_start_class_implementation(), objc_continue_implementation(),
objc_start_category_interface() and
objc_start_category_implementation().
(protocoldef): Move semantic actions to objc_start_protocol() and
objc_finish_interface().
(ivar_decl_list): Remove nonterminal.
(visibility_spec): Move semantic actions to objc_set_visibility().
(ivar_decls): Remove assignment to $$.
(ivar_decl): Rephrase in terms of component_decl; call
objc_add_instance_variable().
(ivars, ivar_declarator): Remove nonterminals.
(opt_semi): New nonterminal.
(methodtype): Remove semantic actions.
(methoddef): Move semantic actions to objc_set_method_type(),
objc_start_method_definition() and objc_finish_method_definition().
(methodproto): Move semantic actions to objc_set_method_type() and
objc_add_method_declaration().
(methoddecl): Use objc_typename instead of typename; move semantic
actions to objc_build_method_signature().
(optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
(optparmlist): Express in terms of optparms and optellipsis.
(optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
nonterminals.
(keyworddecl): Use objc_typename instead of typename.
(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
[gcc/objc/ChangeLog]
2004-09-07 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
objc/objc-act.h.
(objc/objc-act.o): Depend on $(HASHTAB_H).
* objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
objcp-decl.h instead of c-tree.h.
(build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
build_protocol_template): Adjust prototypes.
(build_module_initializer_routine, start_class, continue_class,
finish_class, start_method_def, objc_start_function, start_protocol,
build_method_decl, objc_add_method, add_instance_variable,
build_ivar_reference, is_ivar, is_private, get_super_receiver,
build_selector_table_decl, objc_push_parm, objc_get_parm_info,
gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
create_field_decl): New prototypes.
(objc_expand_function_end, comp_method_with_proto, objc_expr_last,
gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
(TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
(CLASS_TYPEDEF_NAME): New.
(TAG_EXECCLASS): Change from a global variable to a #define.
(TAG_RETURN_STRUCT): Delete.
(TAG_GNUINIT): New, holds '__objc_gnu_init' name.
(objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
(string_descriptor): New struct.
(string_htab): New hash table.
(string_hash, string_eq): New prototypes.
(generate_struct_by_value_array): Call create_field_decl() instead of
create_builtin_decl().
(objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
(objc_finish_file): In ObjC++, call instantiate_pending_templates()
and cp_finish_file().
(define_decl, get_static_reference, get_protocol_reference,
create_builtin_decl): Remove functions.
(objc_start_class_interface, objc_start_category_interface,
objc_start_protocol, objc_continue_interface, objc_finish_interface,
objc_start_class_implementation, objc_start_category_implementation,
objc_continue_implementation, objc_finish_implementation,
objc_set_visibility, objc_set_method_type,
objc_build_method_signature, objc_add_method_declaration,
objc_start_method_definition, objc_add_instance_variable,
objc_get_protocol_qualified_type, create_field_decl,
start_var_decl, finish_var_decl): New functions.
(setup_string_decl): Simplify since it is only called once.
(synth_module_prologue): Call build_class_template(); predefine 'id'
and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
hooks for duration of function; fix GNU runtime messenger signatures
to correspond to reality; forward-declare '__objc_exec_class' for the
GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
'extern "C" { ... }' wrappers around synthesized declarations; call
build_protocol_template() and build_category_template().
(string_hash, string_eq): New functions.
(objc_build_string_object): Check metaclass correctness only once;
store string literals in hash table.
(objc_build_constructor): Do not convert initializer elements;
adjust for ObjC++ impedance mismatch.
(build_objc_symtab_template): Call create_field_decl() instead of
create_builtin_decl().
(init_objc_symtab): Add missing conversion to initializer element.
(build_metadata_decl): Call start_var_decl() instead of define_decl().
(generate_objc_symtab_decl): Do not call build_category_template();
call start_var_decl() and finish_var_decl() instead of start_decl()
and finish_decl().
(build_module_descriptor): Call create_field_decl() instead of
grokfield(); call start_var_decl() and finish_var_decl() instead of
start_decl() and finish_decl(); always mark module descriptor as
used; move GNU runtime-specific functionality to
build_module_initializer_routine().
(build_module_initializer_routine): New function, broken off of
build_module_descriptor().
(objc_static_init_needed_p, objc_generate_static_init_call): New
functions.
(generate_static_references, generate_strings,
build_selector_translation_table, generate_descriptor_table,
generate_ivars_list, generate_dispatch_table, generate_category): Call
start_var_decl() and finish_var_decl() instead of start_decl() and
finish_decl(); build a type directly instead of via groktypename().
(build_selector_reference_decl, build_selector_table_decl,
build_class_reference_decl, build_protocol_reference,
generate_objc_image_info): Call start_var_decl() instead of
build_decl().
(build_selector_reference): For GNU runtime, do not call
build_selector_reference_decl().
(build_selector, build_typed_selector_reference): Always convert
result to the selector type.
(add_objc_string): Cast return value to 'char *'.
(build_method_prototype_template, build_selector_template,
build_method_template): Use actual selector type for fields
pointing to selectors.
(finish_objc): For GNU runtime, call
build_module_initializer_routine() after build_module_descriptor().
(generate_protocol_list, generate_shared_structures): Call
start_var_decl() and finish_var_decl() instead of start_decl() and
finish_decl(); build a type directly instead of via
groktypename().
(synth_id_with_class_suffix): Return a string.
(get_arg_type_list): For instance methods, use the instance type for
'self'; do not call groktypename_in_parm_context().
(build_objc_string_decl): Squash redeclaration errors in ObjC++.
(objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
handle RECORD_TYPEs in ObjC as well as ObjC++.
(objc_is_id): New function.
(objc_is_object_ptr): Return the canonical type node.
(objc_get_class_ivars): Simplify using get_class_ivars().
(get_class_ivars): Remove second parameter; create a fresh copy
of the ivar list for each call; do not check for existence of
super class.
(objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
(objc_init_exceptions): When using SJLJ-style exceptions, require
the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
exceptions.
(objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
objc_object_type instead of objc_id_type.
(objc_begin_catch_clause): Convert the incoming PARM_DECL into
a VAR_DECL before placing it in the appropriate scope; do not
call define_decl(); adjust call to c_begin_compound_stmt();
use objc_object_type instead of objc_id_type.
(build_next_objc_exception_stuff): Call create_field_decl() instead
of create_builtin_decl(); construct type directly instead of calling
groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
(build_private_template): Adjust call to get_class_ivars(); build
a type directly instead of via groktypename().
(build_protocol_template, build_method_prototype_list_template,
build_method_prototype_template, build_category_template,
build_selector_template, build_class_template, build_super_template,
build_ivar_template, build_ivar_list_template,
build_method_list_template, build_method_template):
Call create_field_decl() instead of grokfield().
(objc_method_parm_type): Do not call groktypename().
(generate_descriptor_table): Call start_var_decl() and
finish_var_decl() instead of start_decl() and finish_decl().
(generate_method_descriptors, build_protocol_initializer,
generate_dispatch_tables, build_category_initializer,
build_shared_structure_initializer): Do not call groktypename().
(generate_protocols): Call start_var_decl() and finish_var_decl()
instead of start_decl() and finish_decl(); do not call groktypename().
(error_with_ivar): Remove last parameter.
(check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
to CLASS_IVARS lists; adjust calls to error_with_ivar().
(generate_ivar_lists): Convert one of the initializer elements; do
not call groktypename().
(get_arg_type_list, start_method_def, gen_method_def): Account for
new representation of variable arguments and '...' in Objective-C
methods; add Objective-C++ impedance matching code.
(is_objc_type_qualifier): Remove function.
(adjust_type_for_id_default): Simplify; there is no longer a need to
wade through declspecs.
(lookup_interface, start_class, continue_class,
finish_class, start_method_def, start_protocol, build_method_decl,
objc_add_method, add_instance_variable, build_ivar_reference,
is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
Make into static functions.
(receiver_is_class_object): Use new IS_CLASS() macro.
(objc_build_message_expr): Tweak ObjC++ message argument handling;
call objc_finish_message_expr() instead of finish_message_expr().
(finish_message_expr): Rename to objc_finish_message_expr(); use
OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
call gen_type_name() instead of gen_declaration(); call objc_is_id()
instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
(build_objc_method_call, warn_with_method): Do not call groktypename().
(build_ivar_reference): Call convert() instead of clobbering in a
type.
(hash_init): Initialize string_htab hash table.
(add_instance_variable): Simplify parameter list; do not call grokfield();
do not populate CLASS_IVARS list.
(start_class): Check for the existence of super class, if one was specified.
(continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
call build_class_template(); adjust call to get_class_ivars(); call
build_decl(), pushdecl() and finish_decl() instead of define_decl().
(finish_class): Call build_decl(), pushdecl() and finish_decl() instead
of define_decl().
(add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
(start_protocol): Do not call build_protocol_template(); use
PROTOCOL_BINFO_ELTS for the tree vector size.
(encode_type_qualifiers): Do not handle the 'const' qualifier here.
(encode_pointer): Encode 'const char *' as 'r*', for backwards
compatibility.
(encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
(encode_type): Handle the 'const' qualifier here.
(objc_parmlist): New global variable, sued by objc_push_parm and
objc_get_parm_info().
(objc_push_parm, objc_get_parm_info): New functions.
(objc_expr_last): Remove function.
(synth_self_and_ucmd_args): For instance methods, use the instance
type for 'self'; call objc_push_parm() instead of push_parm_decl().
(start_method_def): Do not call push_scope(), declare_parm_level(),
pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
just use objc_push_parm() and objc_get_parm_info().
(comp_method_with_proto): Remove function.
(objc_types_are_equivalent): Strip away indirections before comparing
underlying types.
(comp_proto_with_proto): Do not call groktypename(); types are no
longer in raw declspec format.
(objc_start_function): New function.
(really_start_method): Call comp_proto_with_proto() instead of
comp_method_with_proto(); call objc_start_function() instead of
hand-crafting a function declarator.
(continue_method_def, objc_expand_function_end): Remove functions.
(get_super_receiver): Call objc_get_current_scope() instead of
get_current_scope(); reference 'super_class' field (instead of
'class').
(finish_method_def): Rename to objc_finish_method_definition() and
add a function decl parameter; move method encoding call from
objc_expand_function_end().
(is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
gen_declaration_1): Remove functions.
(tmpbuf, RAW_DECLSPEC): Remove.
(gen_declaration): Remove second parameter; simplify to deal
with TYPE_P nodes instead of raw declspecs.
(gen_type_name, gen_type_name_0): New functions.
(gen_method_decl): Remove second parameter; call gen_type_name()
instead of gen_declaration_1().
(dump_interface): Adjust calls to gen_declaration() and
gen_method_decl(); do not allocate a separate string buffer.
(init_objc): Allocate a larger string buffer to accommodate
dump_interface(); adjust call to build_module_descriptor();
add call to build_module_initializer_routine() for the GNU
runtime.
(generate_classref_translation_entry): Do not call start_decl(); call
finish_var_decl() instead of finish_decl(); call convert() instead of
build_c_cast().
* objc-act.h (CLASS_OWN_IVARS): Remove accessor.
(CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
gone.
(OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
(OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
(OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
objc_object_type and objc_object_name, respectively.
(OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
objc_class_name): New.
(IS_CLASS): New macro.
(IS_ID, IS_SUPER): Robustify.
(OCTI_EXECCLASS_DECL, execclass_decl): New.
(finish_file, start_class, continue_class, finish_class,
start_method_def, continue_method_def, finish_method_def,
start_protocol, finish_protocol, objc_build_throw_stmt,
objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
objc_build_synchronized_epilogue, objc_build_try_prologue,
objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
objc_build_finally_prologue, objc_build_finally_epilogue,
is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
get_class_reference, get_static_reference, get_object_reference,
build_message_expr, finish_message_expr, build_selector_expr,
build_ivar_reference, build_keyword_decl, build_method_decl,
build_protocol_expr, build_objc_string_object, objc_declare_alias,
objc_declare_class, objc_declare_protocols, objc_comptypes,
objc_check_decl, build_encode_expr): Remove prototypes.
(imp_count, cat_count): Make GGC-aware.
(OBJC_SET_TYPE_NAME): New macro.
From-SVN: r87168
Alan Modra [Wed, 8 Sep 2004 00:17:19 +0000 (00:17 +0000)]
tm.texi (MD_UNWIND_SUPPORT): Document.
* doc/tm.texi (MD_UNWIND_SUPPORT): Document.
(MD_FALLBACK_FRAME_STATE_FOR): Update.
* unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
(MD_FROB_UPDATE_CONTEXT): Remove default.
(uw_update_context_1): Instead #ifdef invocation.
* config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
* config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
(MD_UNWIND_SUPPORT): Undefine this instead.
* config/i386/gnu.h: Likewise.
* config/alpha/linux-unwind.h: New file, macro converted to
function, extracted from..
* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
(MD_UNWIND_SUPPORT): Define.
* config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
* config/i386/linux-unwind.h, config/i386/linux.h,
config/i386/linux64.h: Likewise.
* config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
MD_HANDLE_UNWABI too.
* config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
* config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
* config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
* config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
* config/sparc/linux-unwind.h, config/sparc/linux.h,
config/sparc/linux64.h: Likewise.
* config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
* config/rs6000/linux-unwind.h, config/rs6000/linux.h,
config/rs6000/linux64.h: Likewise. Split out get_sigcontext
function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
From-SVN: r87167
GCC Administrator [Wed, 8 Sep 2004 00:16:23 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r87165.2
GCC Administrator [Wed, 8 Sep 2004 00:16:19 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r87163.2
Aldy Hernandez [Tue, 7 Sep 2004 21:56:43 +0000 (21:56 +0000)]
* MAINTAINERS: Add aoliva and self as maintainers for FR-V port.
From-SVN: r87161
Frank Ch. Eigler [Tue, 7 Sep 2004 21:52:52 +0000 (21:52 +0000)]
configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
2004-09-07 Frank Ch. Eigler <fche@redhat.com>
* configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
* mf-hooks2.c (strerror): Unregister previous string returned by
previous strerror.
(getlogin,cuserid,getpwnam,getpwuid,getgrnam,getgrgid): New wrappers.
(getservent,getservbyname,getservbyport,gai_strerror): Ditto.
* mf-runtime.h.in: Add redefine_extname pragmas for them all.
* mf-runtime.c (__mf_describe_object): Clarify object life status.
* testsuite/libmudflap.c/pass48-frag.c, pass49-frag.c, fail32-frag.c:
New tests.
* configure, config.h.in: Regenerated.
From-SVN: r87160
Jan Hubicka [Tue, 7 Sep 2004 20:59:18 +0000 (22:59 +0200)]
cse.c (fold_rtx): Avoid building of (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
* cse.c (fold_rtx): Avoid building of
(CONST (MINUS (CONST_INT) (SYMBOL_REF)))
From-SVN: r87156
Jan Hubicka [Tue, 7 Sep 2004 20:51:25 +0000 (22:51 +0200)]
tree-ssa-pre.c (grand_bitmap_obstack): New.
* tree-ssa-pre.c (grand_bitmap_obstack): New.
(value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
(init_pre): Initialize obstack.
(fini_pre): Free obstack.
From-SVN: r87155
David Daney [Tue, 7 Sep 2004 19:39:06 +0000 (19:39 +0000)]
config.gcc: Added support for --with-divide=[breaks|traps] for mips targets.
2004-09-07 David Daney <ddaney@avtrex.com>
* config.gcc: Added support for --with-divide=[breaks|traps] for
mips targets.
* config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
(TARGET_DIVIDE_TRAPS): New macro.
(TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
(OPTION_DEFAULT_SPECS): Added --with-divide= support.
* config/mips/mips.c (mips_idiv_insns): Generate proper count on
GENERATE_DIVIDE_TRAPS.
(mips_output_division): Emit conditional trap if
GENERATE_DIVIDE_TRAPS is set.
* doc/install.texi: Document --with-divide.
* doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
From-SVN: r87153
Caroline Tice [Tue, 7 Sep 2004 17:54:16 +0000 (17:54 +0000)]
Fix hot/cold partitioning problem.
2004-09-07 Caroline Tice <ctice@apple.com>
* cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
EDGE_CROSSING, to flags test case.
From-SVN: r87149
Jan Hubicka [Tue, 7 Sep 2004 16:53:07 +0000 (18:53 +0200)]
tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<' class too.
* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
class too.
From-SVN: r87147
Nathan Sidwell [Tue, 7 Sep 2004 15:46:53 +0000 (15:46 +0000)]
cfganal.c (flow_depth_first_order_compute, [...]): Use gcc_assert or gcc_unreachable.
* cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
or gcc_unreachable.
* cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
alloc_aux_for_edges, free_aux_for_edges): Likewise.
* cfgcleanup.c (try_forward_edges,
merge_blocks_move_predecessor_nojumps,
merge_blocks_move_successor_nojumps): Likewise.
* cfgexpand.c (expand_gimple_cond_expr,
expand_gimple_tailcall): Likewise.
* cfghooks.c (duplicate_block): Likewise.
* cfglayout.c (record_effective_endpoints,
insn_locators_initialize, change_scope, fixup_reorder_chain,
verify_insn_chain, fixup_fallthru_exit_predecessor,
duplicate_insn_chain, cfg_layout_finalize): Likewise.
* cfgloopanal.c (check_irred): Likewise.
* cfgloop.c (superloop_at_depth, flow_loops_free,
flow_loop_entry_edges_find, flow_loops_find,
flow_loop_outside_edge_p, get_loop_body,
get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
get_loop_exit_edges, num_loop_branches, cancel_loop,
verify_loop_structure): Likewise.
cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
duplicate_loop_to_header_edge, create_preheader,
create_loop_notes): Likewise.
* cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
edirect_branch_edge, force_nonfallthru_and_redirect,
rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
commit_edge_insertions, commit_edge_insertions_watch_calls,
purge_dead_edges, cfg_layout_redirect_edge_and_branch,
cfg_layout_redirect_edge_and_branch_force,
cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
* cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
cgraph_varpool_node): Likewise.
* cgraphunit.c (cgraph_finalize_function,
cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
cgraph_expand_function, cgraph_remove_unreachable_nodes,
cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_mark_inline, cgraph_expand_all_functions,
cgraph_build_static_cdtor): Likewise.
* combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
simplify_logical, distribute_notes, insn_cuid): Likewise.
* conflict.c (conflict_graph_add, print_conflict): Likewise.
* coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
coverage_checksum_string): Likewise.
* cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
cse_cc_succs, cse_condition_code_reg): Likewise.
* cselib.c (entry_and_rtx_equal_p, remove_useless_values,
rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
cselib_record_set): Likewise.
From-SVN: r87145
Jan Hubicka [Tue, 7 Sep 2004 14:56:50 +0000 (16:56 +0200)]
* tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
From-SVN: r87143
Per Bothner [Tue, 7 Sep 2004 14:43:37 +0000 (07:43 -0700)]
error.c (show_locus): Handle mapped locations.
2004-09-07 Per Bothner <per@bothner.com>
Paul Brook <paul@codesourcery.com>
* error.c (show_locus): Handle mapped locations.
* f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
* gfortran.h: Include input.h.
(struct gfc_linebuf): Use source_location.
* scanner.c (get_file): Initialize linemap.
(preprocessor_line): Pass extra argument to get_file.
(load_file): Ditto. Setup linemap.
(gfc_new_file): Handle mapped locations.
* trans-common.c (build_field, build_equiv_decl, build_common_decl):
Set decl source locations.
(gfc_trans_common): Set blank common block location.
* trans-decl.c (gfc_set_decl_location): New function.
(gfc_get_label_decl, gfc_get_symbol_decl): Use it.
(trans_function_start): Move call to gfc_set_backend_locus..
(build_function_decl): ... to here.
(build_entry_thunks): Set and restore the backend locus.
(gfc_generate_constructors): Remove excess arguments to
init_function_start.
(gfc_generate_block_data): Add comments. Set the decl locus.
* trans-io.c (set_error_locus): Handle mapped locations.
* trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto.
(gfc_trans_code): Use SET_EXPR_LOCATION.
(gfc_generate_code): Override the location of the new symbol.
* trans.h (gfc_set_decl_location): Add prototype.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r87142
Nathan Sidwell [Tue, 7 Sep 2004 10:22:44 +0000 (10:22 +0000)]
builtins.c (fold_builtin_strchr): Use build_int_cst, not fold_convert.
* builtins.c (fold_builtin_strchr): Use build_int_cst, not
fold_convert.
(fold_builtin_strpbrk): Likewise.
* expr.c (array_ref_low_bound): Likewise.
* tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
* tree-sra.c (generate_element_zero): Likewise.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
* tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
add_old_iv_candidates, add_iv_candidates): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
From-SVN: r87141
Nathan Sidwell [Tue, 7 Sep 2004 10:19:00 +0000 (10:19 +0000)]
c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
* c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
* c-common.c (c_type_hash, c_common_nodes_and_builtins,
c_expand_expr, boolean_increment, nonnull_check_p,
check_function_arguments_recurse, fold_offsetof_1): Likewise.
* c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
builtin_define_type_max): Likewise.
* c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
implicit_decl_warning, builtin_function, build_compound_literal,
complete_array_type, grokdeclarator, get_parm_info,
start_function, store_parm_decls_oldstyle,
c_write_global_declarations): Likewise.
* c-format.c (get_constant, decode_format_attr,
maybe_read_dollar_number, get_flag_spec, check_format_arg,
check_format_types, format_type_warning,
find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
init_dynamic_diag_info, handle_format_attribute): Likewise.
* c-gimplify.c (push_context, pop_context, finish_bc_block):
* c-lex.c (c_lex_with_flags, lex_string): Likewise.
* c-objc-common.c (c_tree_printer): Likewise.
* c-pch.c (pch_init): Likewise.
* c-pragma.c (maybe_apply_pragma_weak): Likewise.
* c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
* c-typeck.c (c_incomplete_type_error, composite_type,
common_pointer_type, common_type, same_translation_unit_p,
tagged_types_tu_compatible_p, finish_init, pop_init_level,
set_designator, set_nonincremental_init_from_string,
process_init_element, c_finish_if_stmt): Likewise.
* caller-save.c (init_caller_save, save_call_clobbered_regs,
insert_restore, insert_save, insert_one_insn): Likewise.
* calls.c (emit_call_1, compute_argument_block_size,
precompute_arguments, expand_call, emit_library_call_value_1,
store_one_arg): Likewise.
From-SVN: r87140
Nathan Sidwell [Tue, 7 Sep 2004 09:56:31 +0000 (09:56 +0000)]
configure.ac (enable-checking): Add release option.
* configure.ac (enable-checking): Add release option. Reorganize
to avoid repetition.
* configure: Rebuilt.
* doc/install.texi (enable-checking): Amend documentation.
From-SVN: r87139
Paolo Bonzini [Tue, 7 Sep 2004 08:33:10 +0000 (08:33 +0000)]
missing: Import latest version from master repository.
2004-09-07 Paolo Bonzini <bonzini@gnu.org>
* missing: Import latest version from master repository.
From-SVN: r87138
GCC Administrator [Tue, 7 Sep 2004 00:16:19 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r87136.2
GCC Administrator [Tue, 7 Sep 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r87135.2
H.J. Lu [Mon, 6 Sep 2004 23:58:14 +0000 (23:58 +0000)]
re PR bootstrap/17313 (fixinc.sh isn't parallel build safe)
2004-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/17313
* Makefile.in (specs.ready): Depend on cc1$(exeext).
From-SVN: r87133
James E Wilson [Mon, 6 Sep 2004 23:55:44 +0000 (23:55 +0000)]
Another MIPS vector cleanup patch, fix bad type attribute for FP zero moves.
* config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
movdf_hardfloat_32bit): Split fG into two alternatives.
(movv2sf_hardfloat_64bit): Split fYG into two alternatives.
From-SVN: r87132
H.J. Lu [Mon, 6 Sep 2004 23:36:11 +0000 (23:36 +0000)]
re PR other/16633 (C tests don't use the newly built libgcc.so.1)
2004-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR c/16633:
* lib/gcc-dg.exp: Set up LD_LIBRARY_PATH, SHLIB_PATH,
LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH and DYLD_LIBRARY_PATH.
From-SVN: r87131
Devang Patel [Mon, 6 Sep 2004 23:14:43 +0000 (16:14 -0700)]
ifc-
20040816-1.c: Use -ftree-vectorize.
2004-09-06 Devang Patel <dpatel@apple.com>
* gcc.dg/tree-ssa/ifc-
20040816-1.c: Use -ftree-vectorize.
* gcc.dg/tree-ssa/ifc-
20040816-2.c: Use -ftree-vectorize.
From-SVN: r87130
Daniel Jacobowitz [Mon, 6 Sep 2004 22:02:34 +0000 (22:02 +0000)]
* semantics.c (expand_body): Assert that we are not nested.
From-SVN: r87126
James E Wilson [Mon, 6 Sep 2004 21:05:44 +0000 (21:05 +0000)]
Fix ppc-darwin bootstrap failure.
* emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
From-SVN: r87125
Eric Botcazou [Mon, 6 Sep 2004 19:59:30 +0000 (21:59 +0200)]
final.c (output_in_slot): Delete.
* final.c (output_in_slot): Delete.
(final_scan_insn): Revert 2004-09-03 change.
(output_asm_insn): Likewise.
* config/sparc/sparc.c (output_return): Likewise.
(output_sibcall): Likewise.
From-SVN: r87124
Jan Hubicka [Mon, 6 Sep 2004 18:38:27 +0000 (20:38 +0200)]
loop.c (loop_dump_aux): Do not print RTL when not available.
* loop.c (loop_dump_aux): Do not print RTL when not available.
* tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
frontend specific type nodes.
(produce_memory_decl_rtl): Break out from ...
(prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
(get_computation_at): Avoid random tree sharing.
(tree_ssa_iv_optimize): Verify tree sharing; dump loops.
From-SVN: r87123
Zack Weinberg [Mon, 6 Sep 2004 18:37:21 +0000 (18:37 +0000)]
Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove unnecessary commands.
* Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
unnecessary commands.
From-SVN: r87122
Zack Weinberg [Mon, 6 Sep 2004 17:38:18 +0000 (17:38 +0000)]
decl.c (build_enumerator): Use add_double and int_fits_type_p instead of cp_build_binary_op...
cp:
* decl.c (build_enumerator): Use add_double and int_fits_type_p
instead of cp_build_binary_op, to avoid creating short-lived trees.
* parser.c (cp_parse_type_specifier <RID_ENUM>): Use two-token
lookahead instead of backtracking. Move some code to avoid a
conditional branch.
(cp_parser_enum_specifier): Avoid duplication of effort with caller.
Use cp_lexer_next_token_is/cp_lexer_next_token_is_not as appropriate.
(cp_parser_enumerator_list, cp_parser_enumerator_definition):
Use cp_lexer_next_token_is/cp_lexer_next_token_is_not as appropriate.
testsuite:
* g++.old-deja/g++.other/enum2.C: Move dg-error markers to
reflect changed line numbering of diagnostics.
From-SVN: r87121
Paul Brook [Mon, 6 Sep 2004 16:58:16 +0000 (16:58 +0000)]
Put ChangeLog entry in the right place.
From-SVN: r87120
Paul Brook [Mon, 6 Sep 2004 16:33:52 +0000 (16:33 +0000)]
[multiple changes]
2004-09-06 Steven G. Kargl <kargls@comcast.net>
* io/write.c (output_float): Typo in comment. Remove debugging
printf. Fix format for FP of form 1e10.
2004-09-06 Paul Brook <paul@codesourcery.com>
* gfortran.dg/edit_real_1.f90: Add new test.
From-SVN: r87119
Mohan Embar [Mon, 6 Sep 2004 14:48:43 +0000 (14:48 +0000)]
Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
* Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
(bitmap.o): Likewise.
From-SVN: r87118
Serge Belyshev [Mon, 6 Sep 2004 13:22:48 +0000 (13:22 +0000)]
re PR preprocessor/14699 (abort() in hashtable.c in approx_sqrt() with -fmem-report)
2004-09-06 Serge Belyshev <belyshev@lubercy.com>
PR preprocessor/14699
* symtab.c (ht_dump_statistics): Change type of sum_of_squares
from size_t to double.
From-SVN: r87116
Nathan Sidwell [Mon, 6 Sep 2004 10:23:00 +0000 (10:23 +0000)]
restore missing changelog entry
2004-08-30 Nathan Sidwell <nathan@codesourcery.com>
* alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
gcc_assert and gcc_unreachable instead of abort.
* alloc-pool.c (abort, fancy_abort): Remove.
(create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
gcc_assert or gcc_unreachable.
* attribs.c (init_attributes, decl_attributes): Likewise.
* bb-reorder.c (FREE, find_traces_1_round, copy_bb,
mark_bb_for_unlikely_executed_section,
add_labels_and_missing_jumps, fix_crossing_conditional_branches,
fix_crossing_unconditional_branches): Likewise.
* bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
bitmap_operation): Likewise.
* bt-load.c (insn_sets_btr_p, augment_live_range,
move_btr_def): Likewise.
* builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
expand_builtin_mathfn_2, expand_builtin_mathfn_3,
builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
expand_builtin_memcmp, expand_builtin_args_info,
std_gimplify_va_arg_expr, expand_builtin_unop,
expand_builtin_fputs, expand_builtin_profile_func,
expand_builtin_fork_or_exec, fold_builtin_bitop,
fold_builtin_classify, fold_builtin_fputs): Likewise.
From-SVN: r87114
Paolo Bonzini [Mon, 6 Sep 2004 10:08:17 +0000 (10:08 +0000)]
Unify the management of RTL and tree-level dump files.
2004-09-06 Paolo Bonzini <bonzini@gnu.org>
Unify the management of RTL and tree-level dump files.
* cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
Don't print function name to the dump file, the pass manager
would do this for us. Add code from the top of
rest_of_compilation, up to the initial RTL dump.
* passes.c (rest_of_handle_jump): Call fixup_tail_calls and
close the DFI_sibling dump file.
(rest_of_compilation): Don't do that here. Remove code up to the
initial RTL dump.
(init_optimization_passes): Remove.
(pass_rest_of_compilation): Change pass name to NULL.
* toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
Do not call init_optimization_passes.
* toplev.h (init_optimization_passes): Remove.
* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
finish_graph_dump_file): Remove SUFFIX parameter.
* graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
finish_graph_dump_file): Likewise.
* tree-pass.h (struct tree_opt_pass): Add `letter' field.
* cfgexpand.c (pass_expand): Adjust.
* gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
* passes.c (pass_rest_of_compilation): Adjust.
* predict.c (pass_profile): Adjust.
* tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
* tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
pass_split_crit_edges, pass_warn_function_return): Adjust.
* tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
* tree-dfa.c (pass_referenced_vars): Adjust.
* tree-eh.c (pass_lower_eh): Adjust.
* tree-if-conv.c (pass_build_ssa): Adjust.
* tree-into-ssa.c (pass_build_ssa): Adjust.
* tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
* tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
* tree-nrv.c (pass_nrv): Adjust.
* tree-optimize.c (pass_gimple, pass_all_optimizations,
pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
pass_init_datastructures): Adjust.
* tree-outof-ssa.c (pass_del_ssa): Adjust.
* tree-profile.c (pass_tree_profile): Adjust.
* tree-sra.c (pass_sra): Adjust.
* tree-ssa-alias.c (pass_may_alias): Adjust.
* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
* tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
* tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
* tree-ssa-dom.c (pass_dominator): Adjust.
* tree-ssa-dse.c (pass_dse): Adjust.
* tree-ssa-forwprop.c (pass_forwprop): Adjust.
* tree-ssa-if-conv.c (pass_if_conversion): Adjust.
* tree-ssa-loop-ch.c (pass_ch): Adjust.
* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
pass_loop_done, pass_complete_unroll, pass_iv_canon,
pass_iv_optimize, pass_vectorize): Adjust.
* tree-ssa-phiopt.c (pass_phiopt): Adjust.
* tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
* tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
pass_late_warn_uninnitialized): Adjust.
* tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
* Makefile.in (tree-dump.o): Add new dependencies.
* cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
* cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
Likewise.
* toplev.c (dump_file_name): New.
* tree-dump.c (dump_enable_all): Add LETTER parameter.
(struct dump_file_info): Add NUM and LETTER fields.
(dump_files): Adjust and add RTL dump files.
(dump_register): Add NUM and LETTER fields.
(get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
(dump_begin): Use get_dump_file_name.
(dump_switch_p_1): Adjust call to dump_enable_all.
* tree-dump.h (dump_register): Adjust prototype.
* tree-optimize.c (register_one_dump_file): Take dump file index.
Support flags for RTL dumps.
(register_dump_files): Fill in NUM field of struct dump_file_info.
Track properties both when the gate is executed and when it is not.
(execute_todo): Dump RTL. Add PROPERTIES parameter.
(execute_one_pass): Pass properties to execute_todo. Handle VCG
dumps of RTL.
* tree-pass.h (dump_file_name): New.
* tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
New.
* Makefile.in (passes.o): Add new dependencies.
* passes.c (struct dump_file_info, enum dump_file_index,
dump_file_tbl, init_optimization_passes): Remove.
(open_dump_file, close_dump_file): Use tree-dumping infrastructure.
(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
dump_enabled_p.
(finish_optimization_passes): Update finish_graph_dump_file loop.
(enable_rtl_dump_file): Remove.
* tree-dump.c (dump_files): Adjust and add RTL dump files.
(enable_rtl_dump_file): Add here.
* tree.h (enum tree_dump_index): Add RTL dump file indices.
* doc/invoke.texi (Debugging options): Document new RTL debugging
options. Update.
From-SVN: r87113
Nick Clifton [Mon, 6 Sep 2004 08:52:57 +0000 (08:52 +0000)]
config.sub: Import latest version from master repository.
* config.sub: Import latest version from master repository.
* config.guess: Likewise.
From-SVN: r87112
GCC Administrator [Mon, 6 Sep 2004 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87108
Kazu Hirata [Sun, 5 Sep 2004 16:05:06 +0000 (16:05 +0000)]
c-common.c, [...]: Fix comment formatting.
* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
vec.h: Fix comment formatting.
From-SVN: r87105
Kazu Hirata [Sun, 5 Sep 2004 15:24:15 +0000 (15:24 +0000)]
c-common.c, [...]: Fix comment typos.
* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-niter.c, tree-ssa-operands.c,
tree-ssa-operands.h, tree-ssa-propagate.c,
tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
vec.c, vec.h: Fix comment typos. Follow spelling conventions.
From-SVN: r87104
Diego Novillo [Sun, 5 Sep 2004 11:43:42 +0000 (11:43 +0000)]
tree-if-conv.c (gate_tree_if_conversion): Enable only if the vectorizer is enabled.
* tree-if-conv.c (gate_tree_if_conversion): Enable only if the
vectorizer is enabled.
From-SVN: r87103
Andreas Jaeger [Sun, 5 Sep 2004 10:55:43 +0000 (12:55 +0200)]
Remove extra whitespace.
From-SVN: r87102
Andreas Jaeger [Sun, 5 Sep 2004 10:54:26 +0000 (12:54 +0200)]
* tree-if-conv.c: Spell check comments and clean up whitespace.
From-SVN: r87101
Zdenek Dvorak [Sun, 5 Sep 2004 09:25:37 +0000 (11:25 +0200)]
tree-ssa-loop-ivopts.c: New file.
* tree-ssa-loop-ivopts.c: New file.
* Makefile.in (tree-ssa-loop-ivopts.c): Add.
* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
target_pres_cost, target_spill_cost): Declare.
* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
spill_cost): Renamed to ...
(target_avail_regs, target_res_regs, target_small_cost,
target_pres_cost, target_spill_cost): ... and exported.
(init_set_costs, global_cost_for_size): Work with renamed variables.
* common.opt (flag_ivopts): New flag.
* expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
REF_ORIGINAL.
* gimplify.c (struct gimplify_ctx): Add into_ssa field.
(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
generating SSA form.
(force_gimple_operand): New function.
* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
* tree-cfg.c (stmt_bsi): New function.
* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
PARAM_IV_MAX_CONSIDERED_USES): New.
* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
* tree-nested.c (build_addr): Export.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_optimize.
* tree-pass.h (pass_iv_optimize): Declare.
* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
IMAGPART_EXPR.
* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
as a phi node argument.
(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
functions.
* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
pass_iv_optimize): New pass.
* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
* tree.h (REF_ORIGINAL): New macro.
(build_int_cst_type, unsigned_type_for, zero_p,
cst_and_fits_in_hwi, build_addr): Declare.
* doc/invoke.texi (-fivopts): Document.
(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
PARAM_IV_MAX_CONSIDERED_USES): Document.
* doc/passes.texi: Document induction variable optimizations pass.
* gcc.dg/tree-ssa/loop-2.c: New test.
* gcc.dg/tree-ssa/loop-3.c: New test.
* gcc.dg/tree-ssa/loop-4.c: New test.
* gcc.dg/tree-ssa/loop-5.c: New test.
From-SVN: r87100
Mohan Embar [Sun, 5 Sep 2004 03:36:19 +0000 (03:36 +0000)]
natNetworkInterfaceWin32.cc (getRealNetworkInterfaces): Changed pfn from static local to local.
* java/net/natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
Changed pfn from static local to local.
From-SVN: r87099
Kaveh R. Ghazi [Sun, 5 Sep 2004 02:55:28 +0000 (02:55 +0000)]
builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
* c-common.c (c_common_attribute_table): Accept parameters to
sentinel attribute.
(check_function_sentinel, handle_sentinel_attribute): Likewise.
* doc/extend.texi: Update accordingly.
testsuite:
* gcc.dg/format/sentinel-1.c: Update for parameter option.
From-SVN: r87098
Kaveh Ghazi [Sun, 5 Sep 2004 02:51:44 +0000 (02:51 +0000)]
Fix ChangeLog
From-SVN: r87097
Kaveh Ghazi [Sun, 5 Sep 2004 02:50:09 +0000 (02:50 +0000)]
builtin-attrs.def (ATTR_SENTINEL, [...]): New.
gcc:
* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
New.
* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
attribute.
* c-common.c (handle_sentinel_attribute, check_function_sentinel):
New functions.
(c_common_attribute_table): Add `sentinel' attribute.
(check_function_arguments): Handle `sentinel' attribute.
* doc/extend.texi: Document `sentinel' attribute.
gcc/testsuite:
* gcc.dg/format/sentinel-1.c: New test.
include:
* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
* libiberty.h (concat, reconcat, concat_length, concat_copy,
concat_copy2): Use ATTRIBUTE_SENTINEL.
From-SVN: r87096
GCC Administrator [Sun, 5 Sep 2004 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87094
Andreas Tobler [Sat, 4 Sep 2004 22:41:53 +0000 (00:41 +0200)]
many_win32.c: Remove whitespaces.
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/many_win32.c: Remove whitespaces.
* testsuite/libffi.call/promotion.c: Likewise.
* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
whitespaces.
* testsuite/libffi.call/return_sc.c: Likewise.
* testsuite/libffi.call/return_uc.c: Likewise.
From-SVN: r87091
Andreas Tobler [Sat, 4 Sep 2004 22:09:20 +0000 (00:09 +0200)]
darwin.S: Fix comments and identation.
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/darwin.S: Fix comments and identation.
* src/powerpc/darwin_closure.S: Likewise.
From-SVN: r87090
Richard Kenner [Sat, 4 Sep 2004 19:17:52 +0000 (15:17 -0400)]
revert: fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
Revert:
* fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout.
From-SVN: r87089
Richard Kenner [Sat, 4 Sep 2004 18:24:15 +0000 (18:24 +0000)]
* gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
From-SVN: r87088
H.J. Lu [Sat, 4 Sep 2004 14:43:45 +0000 (14:43 +0000)]
configure: Regenerated.
2004-09-04 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
From-SVN: r87087
Richard Kenner [Sat, 4 Sep 2004 13:18:16 +0000 (09:18 -0400)]
Fix some too-long lines and move a comment.
From-SVN: r87086
Kriang Lerdsuwanakij [Sat, 4 Sep 2004 12:43:27 +0000 (12:43 +0000)]
decl.c (grok_declarator): Remove a redundant semicolon.
* decl.c (grok_declarator): Remove a redundant semicolon.
* parser.c (cp_parser_decl_specifier_seq, cp_parser_type_specifier):
Correct comments describing function parameters.
From-SVN: r87085
Richard Kenner [Sat, 4 Sep 2004 12:41:42 +0000 (08:41 -0400)]
Trivial reformatting.
From-SVN: r87084
Richard Kenner [Sat, 4 Sep 2004 12:39:59 +0000 (12:39 +0000)]
* tree.c (save_expr): No longer TREE_READONLY.
From-SVN: r87083
Richard Kenner [Sat, 4 Sep 2004 12:35:41 +0000 (12:35 +0000)]
fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
* fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout.
From-SVN: r87082
Jan Hubicka [Sat, 4 Sep 2004 10:12:42 +0000 (12:12 +0200)]
passes.c (rest_of_clean_state): Fix merge conflict made during commiting the patch.
* passes.c (rest_of_clean_state): Fix merge conflict made during
commiting the patch.
From-SVN: r87081
Jan Hubicka [Sat, 4 Sep 2004 09:05:53 +0000 (11:05 +0200)]
* passes.c (rest_of_clean_state): Decompose the instruction stream.
From-SVN: r87080
Richard Sandiford [Sat, 4 Sep 2004 08:50:36 +0000 (08:50 +0000)]
md.texi (shift patterns): New anchor.
* doc/md.texi (shift patterns): New anchor. Add reference to
TARGET_SHIFT_TRUNCATION_MASK.
* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
* target.h (shift_truncation_mask): New target hook.
* targhook.h (default_shift_truncation_mask): Declare.
* targhook.c (default_shift_truncation_mask): Define.
* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
(TARGET_INITIALIZER): Include it.
* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
reject all out-of-range values. Fix sign-extension code for modes
whose width is smaller than HOST_BITS_PER_WIDE_INT.
* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
(expand_superword_shift, expand_subword_shift): Likewise.
(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
(expand_binop): Use them to implement double-word shifts.
* config/arm/arm.c (arm_shift_truncation_mask): New function.
(TARGET_SHIFT_TRUNCATION_MASK): Define.
From-SVN: r87079
Jan Hubicka [Sat, 4 Sep 2004 08:42:06 +0000 (10:42 +0200)]
tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
(mix): New macro copied from hashtab.c
(iterative_hash_hashval_t, iterative_hash_pointer,
iterative_hash_host_wide_int): New functions based on hashtab.c
implementation.
From-SVN: r87078
Richard Sandiford [Sat, 4 Sep 2004 08:00:32 +0000 (08:00 +0000)]
mips.md (mask): New mode attribute.
* config/mips/mips.md (mask): New mode attribute.
(zero_extendsidi2): Add memory alternative.
(*zero_extendsidi2_mem): Delete.
(zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
memory_operand in the TARGET_MIPS16 check.
(*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
Redefine using :GPR and :SHORT.
(zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
From-SVN: r87077
Uros Bizjak [Sat, 4 Sep 2004 07:55:12 +0000 (09:55 +0200)]
builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} using rint_optab.
2004-09-04 Uros Bizjak <uros@kss-loka.si>
* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
using rint_optab.
(expand_builtin): Expand BUILT_IN_RINT{,F,L} using
expand_builtin_mathfn.
* genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
btrunc?f patterns for btrunc_optab. Implement rint_optab using
rint?f patterns.
* optabs.c (init_optabs): Initialize rint_optab.
* optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
Add new OTI_rint.
(btrunc_optab): Rename macro from trunc_optab.
(rint_optab): Define corresponding macro.
* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
* config/i386/i386-protos.h (emit_i387_cw_initialization):
Change prototype. Add new int parameter.
* config/i386/i386.c (emit_i387_cw_initialization):
Handle new rounding modes.
* config/i386/i386.h (enum fp_cw_mode): Delete.
(MODE_NEEDED): Handle new rounding modes.
(EMIT_MODE_SET): Change condition to handle new rounding modes.
* config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
represent different rounding modes of frndint insn.
(type): Add frndint type.
(i387, length, memory): Handle this type.
(i387_cw): New attribute definition.
(*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
*fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
*fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
Add "i387_cw" attribute defined to "trunc".
(x86_fnstcw_1): Remove comment.
(*frndintxf2): Rename insn definition to frndintxf2. Move
insn definition near rint?f2 expanders.
(rintdf2, rintsf2, rintxf2): New expanders to implement rint,
rintf and rintl built-ins as inline x87 intrinsics.
(frndintxf2_floor): New pattern to implement floor rounding
mode with frndint x87 instruction.
(floordf2, floorsf2, floorxf2): New expanders to implement floor,
floorf and floorl built-ins as inline x87 intrinsics.
(frndintxf2_ceil): New pattern to implement ceil rounding
mode with frndint x87 instruction.
(ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
ceilf and ceill built-ins as inline x87 intrinsics.
(frndintxf2_trunc): New pattern to implement trunc rounding
mode with frndint x87 instruction.
(btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
truncf and truncl built-ins as inline x87 intrinsics.
(frndintxf2_mask_pm): New pattern to implement rounding
mode with exceptions with frndint x87 instruction.
(nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
implement nearbyint, nearbyintf and nearbyintl built-ins as
inline x87 intrinsics.
* testsuite/gcc.dg/builtins-46.c: New.
From-SVN: r87076
Richard Sandiford [Sat, 4 Sep 2004 07:28:15 +0000 (07:28 +0000)]
mips.md (SHORT): New mode macro.
* config/mips/mips.md (SHORT): New mode macro.
(size): New mode attribute.
(extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
(*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
*extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
!ISA_HAS_SEB_SEH.
(*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
*extend[qh]isi2_hw patterns and extending them to di.
(extendqihi2): Implement as define_insn_and_split that produces
extendqisi2 after reload.
From-SVN: r87075
Bryce McKinlay [Sat, 4 Sep 2004 03:30:12 +0000 (03:30 +0000)]
re PR libgcj/17290 (Wrong Java dependencies are generated)
2004-09-03 Bryce McKinlay <mckinlay@redhat.com>
H.J. Lu <hongjiu.lu@intel.com>
PR libgcj/17290
* Makefile.am (GCJCOMPILE): Remove definition.
(AM_CFLAGS): Add -fclasspath and -fbootclasspath flags.
Use LTGCJCOMPILE, not GCJCOMPILE, to build .lo targets.
* Makefile.in: Rebuilt.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r87074
Devang Patel [Sat, 4 Sep 2004 03:27:01 +0000 (20:27 -0700)]
Tree level if-conversion for vectorizer.
* Makefile.in (OBJS-common): Add tree-if-conv.o
(tree-if-conv.o): New rule.
* cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
(get_loop_body_in_bfs_order): New.
* cfgloop.h (get_loop_body_in_bfs_order): New.
* tree-flow.h (enum move_pos): Move here from ..
* tree-ssa-loop-im.c (enum move_pos): here.
(movement_possibility): Make externally visible.
* tree-optimize.c (init_tree_optimization_passes): New entry for
if conversion pass.
* tree-pass.h (pass_if_conversion): New.
* tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
* tree-if-conv.c: New file.
* doc/passes.texi: Document tree if-conversion pass.
* doc/tree-ssa.texi: Same.
testsuite:
* gcc.dg/tree-ssa/ifc-
20040816-1.c: New test.
* gcc.dg/tree-ssa/ifc-
20040816-2.c: New test.
From-SVN: r87073
Kelley Cook [Sat, 4 Sep 2004 00:23:29 +0000 (00:23 +0000)]
configure.ac (enable-gc-debug): Update help for new syntax.
2004-09-03 Kelley Cook <kcook@gcc.gnu.org>
* configure.ac (enable-gc-debug): Update help for new syntax.
* configure: Regenerate.
From-SVN: r87071
GCC Administrator [Sat, 4 Sep 2004 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87069
H.J. Lu [Sat, 4 Sep 2004 00:15:42 +0000 (00:15 +0000)]
re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1)
2004-09-03 H.J. Lu <hongjiu.lu@intel.com>
PR target/14925:
Makefile.in (LIB2ADDEHSTATIC): New.
(LIB2ADDEHSHARED): New.
(LIBUNWIND): New.
(LIBUNWINDDEP): New.
(SHLIBUNWIND_LINK): New.
(SHLIBUNWIND_INSTALL): New.
(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
(clean): Remove libunwind*
(stage1-start): Remove and copy stage1/libunwind*.
(stage2-start): Remove and copy stage2/libunwind*.
(stage3-start): Remove and copy stage3/libunwind*.
(stage4-start): Remove and copy stage4/libunwind*.
(stageprofile-start): Remove and copy stageprofile/libunwind*.
(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
* config.gcc (ia64*-*-linux*): Always add t-libunwind to
tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
tmake_file if --with-system-libunwind isn't used.
* config/ia64/t-glibc-libunwind: New file.
* config/t-libunwind-elf: Likewise.
* unwind-compat.c: Likewise.
* unwind-compat.h: Likewise.
* unwind-dw2-fde-compat.c: Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Updated.
* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
aliases if needed.
* unwind-dw2-fde-glibc.c: Likewise.
* unwind-dw2.c: Likewise.
* config/t-libunwind (LIB2ADDEH): Updated.
(LIB2ADDEHSTATIC): New.
(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
* configure.ac: Change --enable-libunwind-exceptions to
--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
* configure: Regenerated.
* config.in: Updated.
* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
above and mention --with-system-libunwind.
(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
removed in gcc 3.4.3 and later.
* gcc.c (init_spec): Add -lunwind to -lgcc_s if
USE_LIBUNWIND_EXCEPTIONS is defined.
* mklibgcc.in: Support libunwind.
From-SVN: r87066
H.J. Lu [Sat, 4 Sep 2004 00:11:10 +0000 (00:11 +0000)]
i386.c (x86_branch_hints): Remove m_PENT4 and m_NOCONA.
2004-09-03 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
m_NOCONA.
From-SVN: r87065
Richard Henderson [Fri, 3 Sep 2004 23:50:11 +0000 (16:50 -0700)]
re PR middle-end/9997 (Coelesce stack slots for disjoint scopes.)
PR middle-end/9997
* cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
(STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
(struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
resize_stack_vars_conflict, add_stack_var_conflict,
stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
union_stack_vars, partition_stack_vars, dump_stack_var_partition,
expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
expand_one_static_var, expand_one_hard_reg_var,
expand_one_register_var, expand_one_error_var, defer_stack_allocation,
expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
(expand_used_vars): Rewrite.
* Makefile.in (cfgexpand.o): Update dependencies.
From-SVN: r87064
Matt Austern [Fri, 3 Sep 2004 23:12:38 +0000 (23:12 +0000)]
Compile speed improvement.
* parser.c (cp_lexer_print_token): Only define if ENABLE_CHECKING set.
Otherwise define a stub macro that expands to nothing.
(cp_lexer_debugging_p): Only define if ENABLE_CHECKING set. Otherwise
define a stub macro that expands to 0.
(cp_lexer_start_debugging): Only define if ENABLE_CHECKING set.
(cp_lexer_stop_debugging): Likewise.
(cp_lexer_debug_stream): Only define if ENABLE_CHECKING set. Otherwise
define a stub macro that expands to NULL.
(cp_lexer_new_main): Only set debugging_p if ENABLE_CHECKING set.
(cp_lexer_new_from_tokens): Likewise.
From-SVN: r87059
Jan Hubicka [Fri, 3 Sep 2004 22:38:33 +0000 (00:38 +0200)]
cfg.c (free_edge): Use ggc_free.
2004-09-04 Jan Hubicka <jh@suse.cz>
* cfg.c (free_edge): Use ggc_free.
(expunge_block): Use ggc_free.
* passes.c (rest_of_clean_state): Free after compilation.
* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
From-SVN: r87058
James E Wilson [Fri, 3 Sep 2004 22:33:46 +0000 (22:33 +0000)]
Fix aliasing bug that also caused memory usage problems.
* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
DECL_EXTERNAL check.
From-SVN: r87057
Eric Botcazou [Fri, 3 Sep 2004 22:23:32 +0000 (00:23 +0200)]
final.c (output_in_slot): New global variable.
* final.c (output_in_slot): New global variable.
(final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
'output_in_slot' before invoking output_asm_insn.
(output_asm_insn): Add a space after the tab if 'output_in_slot'
is set.
* config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
final_scan_insn.
(output_sibcall): Likewise.
From-SVN: r87056
Jan Hubicka [Fri, 3 Sep 2004 20:37:03 +0000 (22:37 +0200)]
* decl.c (finish_function): Clean out pointers we no longer need.
From-SVN: r87055
Jan Hubicka [Fri, 3 Sep 2004 20:36:02 +0000 (22:36 +0200)]
tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
* tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
* tree-ssanames (init_ssanames): Likewise.
From-SVN: r87054
Ziemowit Laski [Fri, 3 Sep 2004 20:30:37 +0000 (20:30 +0000)]
config-lang.in: Update copyright notice.
[gcc/objc/ChangeLog]
2004-09-03 Ziemowit Laski <zlaski@apple.com>
* config-lang.in: Update copyright notice.
(lang_requires): Indicate that ObjC requires C to be built first.
From-SVN: r87053
Janis Johnson [Fri, 3 Sep 2004 20:24:02 +0000 (20:24 +0000)]
MAINTAINERS (Various Maintainers): Remove myself as web page maintainer...
2004-09-03 Janis Johnson <janis187@us.ibm.com>
* MAINTAINERS (Various Maintainers): Remove myself as web page
maintainer, add myself as maintainer of build status lists.
From-SVN: r87052
Ziemowit Laski [Fri, 3 Sep 2004 20:17:50 +0000 (20:17 +0000)]
stub-objc.c (objc_is_id, [...]): New stubs.
[gcc/ChangeLog]
2004-09-03 Ziemowit Laski <zlaski@apple.com>
* stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
objc_declare_protocols, objc_start_protocol,
objc_start_class_interface, objc_start_category_interface,
objc_continue_interface, objc_finish_interface,
objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
objc_start_class_implementation, objc_start_category_implementation,
objc_continue_implementation, objc_finish_implementation,
objc_add_method_declaration, objc_start_method_definition,
objc_finish_method_definition, objc_build_keyword_decl,
objc_build_method_signature, objc_build_encode_expr,
objc_build_protocol_expr, objc_build_selector_expr,
objc_build_message_expr, objc_build_string_object,
objc_get_class_reference, objc_get_protocol_qualified_type,
objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
From-SVN: r87051
James E Wilson [Fri, 3 Sep 2004 20:12:29 +0000 (20:12 +0000)]
More MIPS vector cleanup work.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
* config/mips/generic.md (generic_frecip_fsqrt_step): New.
* config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
(mips_rsqrt2_<fmt>): Use frsqrt2 type.
(mips_recip1_<fmt>): Use frdiv1 type.
(mips_recip2_<fmt>): Use frdiv2 type.
* config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
* config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
and frsqrt1.
(ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
From-SVN: r87050
Daniel Jacobowitz [Fri, 3 Sep 2004 19:34:15 +0000 (19:34 +0000)]
reload.c (find_reloads): Swap operand_loc pointers for find_dummy_reload if we have swapped two operands.
* reload.c (find_reloads): Swap operand_loc pointers for
find_dummy_reload if we have swapped two operands.
From-SVN: r87049
Hans-Peter Nilsson [Fri, 3 Sep 2004 19:24:41 +0000 (19:24 +0000)]
cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn to get the tablejump-insn before the jump-table label.
* config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
to get the tablejump-insn before the jump-table label.
From-SVN: r87048
David Daney [Fri, 3 Sep 2004 19:08:47 +0000 (19:08 +0000)]
mips-signal.h: Update copyright.
2004-09-03 David Daney <ddaney@avtrex.com>
* include/mips-signal.h: Update copyright.
From-SVN: r87047
Ziemowit Laski [Fri, 3 Sep 2004 19:04:05 +0000 (19:04 +0000)]
c-common.h (objc_is_id, [...]): New prototypes.
[gcc/ChangeLog]
2004-09-03 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
objc_declare_protocols, objc_build_message_expr,
objc_finish_message_expr, objc_build_selector_expr,
objc_build_protocol_expr, objc_build_encode_expr,
objc_build_string_object, objc_get_protocol_qualified_type,
objc_get_class_reference, objc_get_class_ivars,
objc_start_class_interface, objc_start_category_interface,
objc_start_protocol, objc_continue_interface, objc_finish_interface,
objc_start_class_implementation, objc_start_category_implementation,
objc_continue_implementation, objc_finish_implementation,
objc_set_visibility, objc_set_method_type, objc_build_method_signature,
objc_add_method_declaration, objc_start_method_definition,
objc_finish_method_definition, objc_add_instance_variable,
objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
objc_finish_try_stmt, objc_begin_catch_clause,
objc_finish_catch_clause, objc_build_finally_clause,
objc_build_synchronized, objc_static_init_needed_p,
objc_generate_static_init_call): New prototypes.
From-SVN: r87046
Richard Henderson [Fri, 3 Sep 2004 19:03:43 +0000 (12:03 -0700)]
cshift0.c (DEF_COPY_LOOP, [...]): New.
* intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
copy_loop_double, copy_loop_ldouble): New.
(__cshift0): Make shift type ssize_t. Use % operator instead of
div. Use specialized versions of copy loop depending on the shape.
From-SVN: r87045
Jan Beulich [Fri, 3 Sep 2004 18:10:08 +0000 (18:10 +0000)]
configure.in: Remove target-libstdc++-v3 from noconfigdirs for *-*-netware...
/
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for
*-*-netware, but add target-libmudflap.
Consolidate *-*-netware targets (of which really only i?86 exists)
into a single entry.
* configure: Likewise.
gcc/
* config.gcc: Resurrect NetWare as a target. Handle special case of
Novell linker to be used (specified through --with-ld=) and threading
model of either Posix (default) or NKS.
* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
* config/i386/netware.c, config/i386/netware.h: New.
* config/i386/nwld.c, config/i386/nwld.h: New.
* config/i386/netware-crt0.c: New.
* config/i386/netware-libgcc.c: New.
* config/i386/netware-libgcc.def: New.
* config/i386/netware-libgcc.exp: New.
* config/i386/t-netware, config/i386/t-nwld: New.
* gthr-nks.h: New.
* doc/install.texi: Document NKS threading model.
gcc/cp/
* g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
than "-lm".
gcc/testsuite/
* g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
* g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
* g++.old-deja/g++.law/profile1.C: xfail for NetWare.
* g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
* gcc.c-torture/compile/
20001109-1.c: xfail for NetWare.
* gcc.c-torture/compile/
20001109-2.c: xfail for NetWare.
* gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
the non-portable bzero.
* gcc.dg/
20010912-1.c: xfail for NetWare.
* gcc.dg/
20020426-2.c: xfail for NetWare.
* gcc.dg/
20021014-1.c: xfail for NetWare.
* gcc.dg/
20021018-1.c: xfail for NetWare.
* gcc.dg/
20030213-1.c: xfail for NetWare.
* gcc.dg/
20030225-1.c: xfail for NetWare.
* gcc.dg/
20030708-1.c: xfail for NetWare.
* gcc.dg/builtins-config.h: Also exclude NetWare.
* gcc.dg/format/format.h: Define restrict only if not already defined.
* gcc.dg/nest.c: xfail for NetWare.
* gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
* lib/target-supports.exp (check_visibility_available): Exclude
NetWare.
fixincludes/
* inclhack.def: Suppress exception_structure and math_exception
for NetWare headers.
* fixincl.x: Regenerate.
libstdc++-v3/
* crossconfig.m4: Add NetWare as a target.
* configure: Regenerate.
From-SVN: r87040
David Daney [Fri, 3 Sep 2004 17:58:52 +0000 (17:58 +0000)]
configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
2004-09-03 David Daney <ddaney@avtrex.com>
* configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
* include/mips-signal.h: Added HANDLE_FPE support.
From-SVN: r87039
Steve Ellcey [Fri, 3 Sep 2004 17:52:08 +0000 (17:52 +0000)]
ia64.c (ia64_function_arg): Use PARALLEL even if there is only one reg.
* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
is only one reg.
(ia64_function_value): Ditto.
From-SVN: r87038
Jan Beulich [Fri, 3 Sep 2004 17:22:40 +0000 (17:22 +0000)]
re PR c/7054 (#pragma pack handled incorrectly)
PR c/7054
* defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
* tree.h (initial_max_fld_align): Declare
* stor-layout.c (initial_max_fld_align): Define and initialize.
(maximum_field_alignment): Initialize to the same value.
* common.opt: Add -fpack-struct= variant of switch.
* opts.c: Handle -fpack-struct= variant of switch.
* c-pragma.c: Change #pragma pack() handling so that it becomes
compatible to other compilers: accept individual 'push' argument,
make final pop restore (command line) default, correct interaction
of push/pop and sole specification of a new alignment (so that the
sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
to #pragma pack(push, <n>).
* doc/extend.texi: New node "Structure-Packing Pragmas" under
"Pragmas", describing #pragma pack.
* doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
* doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
Document new TARGET_DEFAULT_PACK_STRUCT.
testsuite:
* gcc.dg/pack-test-2.c: Adjust to permit and check #pragma pack(push).
* gcc.dg/c99-flex-array-4.c: Add -fpack-struct=8 to provide a
deterministic starting point for the alignment of structure fields.
* gcc.dg/Wpadded.c: Dito.
* g++.dg/abi/vbase10.C: Dito.
From-SVN: r87037
Devang Patel [Fri, 3 Sep 2004 17:10:40 +0000 (10:10 -0700)]
dwarf2out.c (gen_field_die): Equate decl number to die.
* dwarf2out.c (gen_field_die): Equate decl number to die.
* g++.dg/debug/pr15736.cc: New test.
From-SVN: r87036
Vladimir Makarov [Fri, 3 Sep 2004 14:45:23 +0000 (14:45 +0000)]
re PR target/15832 (ICE in move_for_stack_reg, at reg-stack.c:1120)
2004-09-03 Vladimir Makarov <vmakarov@redhat.com>
PR target/15832
* global.c (modify_reg_pav): New function.
(make_accurate_live_analysis): Call the new function. Move pavin
modification by earlyclobber set into the new function.
From-SVN: r87035
Daniel Berlin [Fri, 3 Sep 2004 13:53:22 +0000 (13:53 +0000)]
Commit forgotten file
From-SVN: r87033
Andreas Schwab [Fri, 3 Sep 2004 08:57:35 +0000 (08:57 +0000)]
m68k.c (output_andsi3): Use -1 instead of (HOST_WIDE_INT)0xffffffff since CONST_INT value are always...
* config/m68k/m68k.c (output_andsi3): Use -1 instead of
(HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
extended.
From-SVN: r87031