Age | Commit message (Collapse) | Author | Files | Lines |
|
* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
hook_rtx_tree_int_null.
* targhooks.c (default_struct_value_rtx): Remove.
* targhooks.h: Remove the prototype for
default_struct_value_rtx.
* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
config/ip2k/ip2k.c, config/iq2000/iq2000.c,
config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
config/mn10300/mn10300.c, config/pdp11/pdp11.c,
config/rs6000/rs6000.c, config/s390/s390.c,
config/stormy16/stormy16.c, config/v850/v850.c,
config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
From-SVN: r77505
|
|
* README.Portability: Change "ISO C89" to "ISO C90".
* c-parse.in (primary, initelt): Likewise.
testsuite:
* gcc.dg/c90-init-1.c: Adjust expected error messages.
From-SVN: r77499
|
|
to a double.
* real.c (encode_ibm_extended): Normalize the input value before
converting it to a double. Handle the case where a normal value
rounds to infinity.
From-SVN: r77498
|
|
* c-objc-common.c (): Fix a typo in a warning.
* cse.c (preferrable): Change to preferable. Update all of its
callers.
* genautomata.c (ainsn): Change
first_ainsn_with_given_equialence_num to
first_ainsn_with_given_equivalence_num. Update all of its
references.
From-SVN: r77497
|
|
From-SVN: r77495
|
|
From-SVN: r77485
|
|
From-SVN: r77480
|
|
From-SVN: r77478
|
|
* default.h (PROMOTE_PROTOTYPES): Remove.
* system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
EXPAND_BUILTIN_SAVEREGS): Poison.
* target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
hook_bool_tree_false.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
* target.h: Replace SETUP_INCOMING_VARARGS with
targetm.calls.setup_incoming_varargs().
* targhooks.c (default_promote_function_return): Remove.
(default_promote_prototypes): Likewise.
(default_struct_value_rtx): Always abort().
(default_expand_builtin_saveregs): Always print an error
message.
(default_setup_incoming_varargs): Do nothing.
(default_pretend_outgoing_varargs_named): Don't depend on
SETUP_INCOMING_VARARGS.
* targhooks.h: Remove the prototype for
default_promote_function_return and
default_promote_prototypes.
From-SVN: r77477
|
|
* system.h (SHARED_SECTION_ASM_OP): Poison.
* varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
* doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
From-SVN: r77476
|
|
* c-common.c (shadow_warning): Delete.
* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
* c-parse.in (free_parser_stacks): Delete.
cp:
* name-lookup.c (pushdecl): Issue shadow warnings directly.
* parser.c (free_parser_stacks): Delete.
testsuite:
* gcc.c-torture/execute/string-opt-15.c: Define memcmp with void *
arguments.
* gcc.dg/fwritable-strings-1.c: Expect the deprecation notice.
------
Bug 13856
* c-decl.c (diagnose_mismatched_decls): Only give special
treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
is also true.
(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
DECL_FUNCTION_CODE when defining a built-in function.
Don't update DECL_ESTIMATED_INSNS.
* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
FUNCTION_DECLs.
* tree.h: Delete DECL_ESTIMATED_INSNS.
* tree-inline.c (struct inline_data): Delete inlined_insns field.
(expand_call_inline, optimize_inline_calls): Don't update
DECL_ESTIMATED_INSNS nor inlined_insns.
* cgraphunit.c (cgraph_analyze_function): Don't update
DECL_ESTIMATED_INSNS.
cp:
* optimize.c (maybe_clone_body): Don't update DECL_ESTIMATED_INSNS.
* decl.c (duplicate_decls, start_function): Likewise.
testsuite:
* gcc.dg/visibility-8.c: New testcase.
From-SVN: r77475
|
|
From-SVN: r77469
|
|
subdir.
* Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
Use the top level mkinstalldirs, not the one in the gcc subdir.
* mkinstalldirs: Remove (from the gcc subdir).
From-SVN: r77466
|
|
PR middle-end/13696
* fold-const.c (fold_convert): New function to provide type
conversion to the middle-end without using convert.
(negate_expr, associate_trees, size_diffop, omit_one_operand,
operand_equal_for_comparison_p, pedantic_omit_one_operand,
invert_truthvalue, optimize_bit_field_compare, range_binop,
decode_field_reference, make_range, build_range_check, unextend,
fold_truthop, extract_muldiv_1, fold_mathfn_compare,
fold_binary_op_with_conditional_arg, fold_inf_compare,
fold_single_bit_test, fold, multiple_of_p): Replace all calls to
convert with calls to fold_convert.
* g++.dg/opt/fold1.C: New test case.
From-SVN: r77464
|
|
* genrecog.c (find_operand): add extra argument stop.
(validate_pattern): Verify that mach_dup is duplicating operand
defined lexically earlier.
From-SVN: r77461
|
|
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
config/ia64/ia64.h, config/ip2k/ip2k.h,
config/iq2000/iq2000.h, config/mips/iris5.h,
config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
config/rs6000/aix51.h, config/rs6000/aix52.h,
config/rs6000/darwin.h, config/rs6000/rs6000.h,
config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/netbsd-elf.h, config/sparc/sparc.h,
config/xtensa/xtensa.h: Remove the definitions of
MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
MAX_WCHAR_TYPE_SIZE.
* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
From-SVN: r77460
|
|
PR bootstrap/13990
* config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
gen_rtx_NE.
From-SVN: r77459
|
|
ENABLE_CHECKING and #endif.
* var-tracking.c (vt_add_function_parameters): Surround checkings by
#ifdef ENABLE_CHECKING and #endif.
From-SVN: r77458
|
|
(-B)-A...
* fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
either (-A)-B or (-B)-A, if A or B is easily negated respectively.
(fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
integer types and floating point with unsafe_math_optimizations.
Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
Optimize A - B as A + (-B), if B is easily negated.
From-SVN: r77453
|
|
gcc/
* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
config/m32r/linux.h, config/rs6000/ppc64-fp.c,
config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
Update copyright.
cp/
* rtti.c: Update copyright.
From-SVN: r77449
|
|
From-SVN: r77448
|
|
* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
glibc 2.3 or better.
From-SVN: r77443
|
|
FLOAT_LIB_COMPARE_RETURNS_BOOL.
* doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
to FLOAT_LIB_COMPARE_RETURNS_BOOL.
From-SVN: r77442
|
|
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
(SHLIB_MKMAP_OPTS): Delete.
(TARGET_LIBGCC2_CFLAGS): Add -specs.
(bispecs): Add rule.
* config/rs6000/libgcc-ppc64.ver: New file.
* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
(__floatdidf, __floatdisf): Optimize multiply.
(__fixunstfdi): New function.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
real and imag parts larger than one register.
(function_arg): Correct type of reg used when fp arg split partially
to stack.
* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
and __MACH__ or __powerpc64__.
From-SVN: r77440
|
|
gen_highpart or gen_lowpart when...
* builtins.c (expand_builtin_signbit): Use extract_bit_field instead
of gen_highpart or gen_lowpart when the floating point format is
wider than the result mode.
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r77439
|
|
2004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
* dwarf2out.c (loclabel_num): Move into #ifdef
DWARF2_DEBUGGING_INFO.
From-SVN: r77438
|
|
initialize_inlined_parameters, at tree-inline.c:829)
PR c++/14033
* g++.dg/other/crash-2.C: New test.
From-SVN: r77437
|
|
initialize_inlined_parameters, at tree-inline.c:829)
PR c++/14033
* decl.c (require_complete_types_for_parms): Do not insert
error_mark_node in the parameter list.
From-SVN: r77436
|
|
From-SVN: r77433
|
|
2004-02-06 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (build_super_template) the 'class' field of
'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
(get_super_receiver): Likewise.
[gcc/libobjc/ChangeLog]
2004-02-06 Ziemowit Laski <zlaski@apple.com>
* objc/objc-api.h (objc_super): The 'class' field shall
be named 'super_class' #ifdef __cplusplus.
From-SVN: r77430
|
|
* reload1.c (check_eliminable_occurrences): Optimize the reset
of can_eliminate.
(eliminate_regs_in_insn): Likewise.
From-SVN: r77427
|
|
beginning of function...
* dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
at the beginning of function, call dwarf2out_var_location for
NOTE_INSN_VAR_LOCATION note.
(struct var_loc_node, struct var_loc_list_def, loclabel_num,
decl_loc_table): New.
(lookup_decl_loc): New function.
(add_var_loc_to_decl): New function.
(based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
only if can_use_fbreg.
(mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
functions.
(loc_descriptor): Likewise. Process VAR_LOCATION.
(concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
(loc_descriptor_from_tree): Call mem_loc_descriptor with
can_use_fbreg == true.
(add_location_or_const_value_attribute): Added parameter enum
dwarf_attribute attr, generate attribute ATTR. Create the location list.
(add_bound_info): Call loc_descriptor with can_use_fbreg == true.
(gen_formal_parameter_die): Call add_location_or_const_value_attribute
with attr == DW_AT_location.
(gen_subprogram_die): Generate the location list for DW_AT_frame_base
if frame_base_decl is defined and has a location list.
(gen_variable_die): Call add_location_or_const_value_attribute with
attr == DW_AT_location.
(dwarf2out_var_location): New function.
(dwarf2out_begin_function): New function.
(dwarf2out_init): Create decl_loc_table.
Co-Authored-By: Josef Zlomek <zlomekj@suse.cz>
From-SVN: r77421
|
|
forces by an insn...
* loop.c (force_movables): Transitively increase the priorities of
all insns forces by an insn, not just the first one.
From-SVN: r77419
|
|
Josef Zlomek <zlomekj@suse.cz>
* Makefile.in (var-tracking.o): New.
* common.opt (fvar-tracking): New.
* flags.h (flag_var_tracking): New.
* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
* opts.c (common_handle_option): Add OPT_fvar_tracking.
* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
* rtl.c (note_insn_name): Likewise.
* rtl.def (VAR_LOCATION): New.
* rtl.h (NOTE_VAR_LOCATION): New.
(NOTE_VAR_LOCATION_DECL): New.
(NOTE_VAR_LOCATION_LOC): New.
(enum insn_note): NOTE_INSN_VAR_LOCATION was added.
(variable_tracking_main): New exported function.
* timevar.def (TV_VAR_TRACKING): New.
* toplev.c (enum dump_file_index): Added DFI_vartrack.
(dump_file): "vartrack" was added (-dV).
(flag_var_tracking): New.
(f_options): "var-tracking" was added.
(rest_of_handle_variable_tracking): New function.
(rest_of_compilation): Run variable tracking.
(process_options): If user has not specified flag_var_tracking set it
according to optimize, debug_info_level and debug_hooks.
* tree.h (frame_base_decl): New.
* var-tracking.c: New file.
* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
(ia64_override_options): Set flags to run variable tracking in machine
dependent reorg instead of toplev.c.
(ia64_reorg): Run variable tracking if wanted.
* doc/invoke.texi: Mention variable tracking in -dV,
add and -fvar-tracking.
* doc/passes.texi: Added variable tracking pass.
Daniel Berlin <dberlin@dberlin.org>
* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
* dbxout.c (dbx_debug_hooks): Likewise.
(xcoff_debug): Likewise.
* debug.c (do_nothing_debug_hooks): Likewise.
* dwarf2out.c (dwarf2_debug_hooks): Likewise.
* dwarfout.c (dwarf_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* final.c (final_scan_insn): Call var_location debug hook for each
NOTE_INSN_VAR_LOCATION.
Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
From-SVN: r77418
|
|
* flow.c (update_life_info): Allocate reg_deaths when called from
scheudler.
(attempt_auto_inc): Update life ranges accordingly.
From-SVN: r77415
|
|
PR debug/11816
* dwarf2out.c (gen_decl_die): Handle anonymous struct members.
From-SVN: r77411
|
|
From-SVN: r77410
|
|
info table in use.
* dwarf2out.c (output_loc_list): Don't use deltas if we have
a separate line info table in use.
Use the correct size for terminators.
(output_die): Use offset, not delta.
From-SVN: r77409
|
|
2004-02-06 H.J. Lu <hongjiu.lu@intel.com>
* doc/invoke.texi: Remove the pni option from -mfpmath=.
From-SVN: r77404
|
|
PR c++/14028
* g++.dg/parse/angle-bracket2.C: New test.
From-SVN: r77403
|
|
PR c++/14028
* parser.c (cp_parser_enclosed_template_argument_list): Emit straight
error when terminator can not be found.
From-SVN: r77402
|
|
* recog.c (split_all_insns): Do not update reg info.
* regrename.c (regrename_optimize): Likewise.
* toplev.c (rest_of_handle_reorder_blocks): Likewise.
* flow.c (struct propagate_block_info): Add insn_num field.
(reg_deaths): New array.
(life_analysis): Free reg_deaths info.
(allocate_reg_life_data): Allocate reg_deaths array.
(propagate_one_insn): Use new array.
(init_propagate_block): Initialize it.
(free_propagate_block_info): Finish compuation of
REG_LIVE_LENGTH
(attempt_auto_inc): Sanity check that REG_INFO is not
computed at same time.
(mark_used_regs): Update new array.
* reg-stack.c (subst_stack_regs): Unshare clobbers before
substitution.
From-SVN: r77396
|
|
* config/s390/s390.md (*extendsiqi2_short_displ): Change to
*extendqisi2_short_displ.
From-SVN: r77394
|
|
From-SVN: r77391
|
|
From-SVN: r77381
|
|
* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
(emit_library_call_value_1): Likewise pass nargs.
* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
parameter instead of scanning TYPE_ARGS_TYPES to count args.
* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
prototype.
* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
INIT_CUMULATIVE_ARGS.
* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
config/pa/pa.h, config/pdp11/pdp11.h config/s390/s390.h,
config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
From-SVN: r77380
|
|
* genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
possible.
From-SVN: r77379
|
|
(plus (reg) (const_int))...
* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
note containing (plus (reg) (const_int)), where reg is an
eliminable reg, then perform the register elimination without
depending on eliminate_regs().
From-SVN: r77378
|
|
against -1.
* config/arc/arc.c (arc_return_in_memory): Check the return
value of int_size_in_bytes against -1. Don't check
TREE_ADDRESSABLE.
* config/avr/avr.c (avr_return_in_memory): Check the return
value of int_size_in_bytes against -1.
* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
Likewise.
* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
* config/stormy16/stormy16.c (xstormy16_return_in_memory):
Likewise.
From-SVN: r77377
|
|
* config/frv/frv-protos.h: Remove the prototype for
frv_setup_incoming_varargs.
* config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
(frv_setup_incoming_varargs): Make it static.
* config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
From-SVN: r77376
|