Age | Commit message (Collapse) | Author | Files | Lines |
|
* misc.c (gnat_argv): Revert last change.
(gnat_handle_option, gnat_init_options): Copy arguments.
From-SVN: r68904
|
|
respectively.
* real.c (real_trunc, real_floor, real_ceil): New functions
to implement trunc, floor and ceil respectively.
* real.h (real_trunc, real_floor, real_ceil): Prototype here.
* builtins.c (integer_valued_real_p): New function to test if
a floating point expression has an integer valued result.
(fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
foo(x) where foo is an integer rounding function. Similarly,
optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
(double)(int)x when both foo and bar are integer rounding
functions and we don't need to honor errno.
(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
New functions to fold trunc, floor and ceil.
(fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
to fold BUILT_IN_CEIL*.
* fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
the remaining integer rounding functions.
* gcc.dg/builtins-25.c: New testcase.
* gcc.dg/builtins-26.c: New testcase.
From-SVN: r68903
|
|
* gcc.dg/compat/vector-defs.h: New file.
* gcc.dg/compat/vector-setup.h: New file.
* gcc.dg/compat/vector-check.h: New file.
* gcc.dg/compat/vector-1_main.c: New file.
* gcc.dg/compat/vector-1_x.c: New file.
* gcc.dg/compat/vector-1_y.c: New file.
* gcc.dg/compat/vector-2_main.c: New file.
* gcc.dg/compat/vector-2_x.c: New file.
* gcc.dg/compat/vector-2_y.c: New file.
From-SVN: r68902
|
|
* gcc.dg/compat/fnptr-by-value-1_main.c: New file.
* gcc.dg/compat/fnptr-by-value-1_x.c: New file.
* gcc.dg/compat/fnptr-by-value-1_y.c: New file.
* gcc.dg/compat/struct-align-1.h: New file.
* gcc.dg/compat/struct-align-1_main.c: New file.
* gcc.dg/compat/struct-align-1_x.c: New file.
* gcc.dg/compat/struct-align-1_y.c: New file.
* gcc.dg/compat/struct-align-2.h: New file.
* gcc.dg/compat/struct-align-2_main.c: New file.
* gcc.dg/compat/struct-align-2_x.c: New file.
* gcc.dg/compat/struct-align-2_y.c: New file.
From-SVN: r68901
|
|
where to split unnamed complex FP arguments.
* config/sparc/sparc.c (function_arg_partial_nregs): Use
SPARC_INT_ARG_MAX to determine where to split unnamed
complex FP arguments.
From-SVN: r68900
|
|
* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
(merge_blocks_move_predecessor_nojumps,
merge_blocks_move_successor_nojumps): Use merge_blocks.
(try_optimize_cfg): Use merge_blocks_move.
* cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
(merge_blocks_nomove): Rename to rtl_merge_blocks.
(cfg_layout_create_basic_block): New.
(rtl_can_merge_blocks): New.
(cfg_layout_split_block): Do not alloc aux by hand.
* cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
merge_blocks.
(create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
* cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
* cfgloopmanip.c (loop_split_edge_with): Likewise.
* ifcvt.c (merge_if_block): Use merge_blocks_nomove.
* basic-block.h (basic_block_def): Add field 'rbi'.
* bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
* cfg.c (entry_exit_blocks): Add new field.
* cfglayout.c: Include alloc-pool.h;
(cfg_layout_pool): New.
(record_effective_endpoints, fixup_reorder_chain,
fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
of rbi.
(cfg_layout_initialize_rbi): New function.
(cfg_layout_initialize): Use it.
(cfg_layout_finalize): Clear rbi fields.
* cfglayout.h (RBI): Kill.
(cfg_layout_initialize_rbi): Declare.
* cfgloopmanip.c (copy_bbs): Use rbi.
(record_exit_edges): Likewise.
(duplicate_loop_to_header_edge): Likewise.
* cfgrtl.c (cfg_layout_create_basic_block): Use
cfg_layout_initialize_rbi.
(cfg_layout_split_block): Use rbi.
(cfg_layout_delete_block): Likewise.
* loop-init.c (loop_optimizer_finalize): Likewise.
* loop-unswitch.c (unswitch_loop): Likewise.
* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
* cfgrtl.c: Update comments.
(try_redirect_by_replacing_jump): New argument.
(redirect_branch_edge): Break out from ...
(rtl_redirect_edge_and_branch): ... this one.
(update_cfg_after_block_merging): Break out from ...
(rtl_merge_blocks): ... this one.
(cfg_layout_split_edge): New.
(cfg_layout_merge_blocks): New.
(cfg_layout_can_merge_blocks_p): New.
(cfg_layout_redirect_edge_and_branch): Reorganize.
(cfg_layout_rtl_cfg_hooks): Fill in.
(cfg_layout_delete_block): Kill barriers.
* cfganal.c (can_fallthru): Deal with exit blocks
* cfglayout.c (cfg_layout_function_header): New function
(record_effective_endpoints): Record function header.
(fixup_reorder_chain): Fixup dead jumptables; place header
* basic-block.h (CLEANUP_CFGLAYOUT): New flag.
* bb-reorder.c (cfg_layout_initialize): Update call.
* cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
edges in cfglayout mode.
* cfglayout.c (cleanup_unconditional_jumps): Kill.
(cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
* cfglayout.h (cfg_layout_initialize): Update prototype.
* cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
* cfgloopmanip.c (loop_split_edge_with): Use split_edge.
* flow.c (propagate_block): Do not crash when basic block ends
by first insn in the chain.
* loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
do loop discovery.
* tracer.c (tracer): Update call of cfg_layout_initialize.
From-SVN: r68899
|
|
* gcc.dg/compat/compat-common.h (DEBUG_FINI): New.
* gcc.dg/compat/scalar-by-value-1_x.c: Use it.
* gcc.dg/compat/scalar-by-value-2_x.c: Ditto.
* gcc.dg/compat/scalar-by-value-3_x.c: Ditto.
* gcc.dg/compat/scalar-by-value-4_x.c: Ditto.
* gcc.dg/compat/scalar-return-1_x.c: Ditto.
* gcc.dg/compat/scalar-return-2_x.c: Ditto.
* gcc.dg/compat/scalar-return-3_x.c: Ditto.
* gcc.dg/compat/scalar-return-4_x.c: Ditto.
* gcc.dg/compat/struct-by-value-10_x.c: Ditto.
* gcc.dg/compat/struct-by-value-11_x.c: Ditto.
* gcc.dg/compat/struct-by-value-12_x.c: Ditto.
* gcc.dg/compat/struct-by-value-13_x.c: Ditto.
* gcc.dg/compat/struct-by-value-14_x.c: Ditto.
* gcc.dg/compat/struct-by-value-15_x.c: Ditto.
* gcc.dg/compat/struct-by-value-16_x.c: Ditto.
* gcc.dg/compat/struct-by-value-17_x.c: Ditto.
* gcc.dg/compat/struct-by-value-18_x.c: Ditto.
* gcc.dg/compat/struct-by-value-2_x.c: Ditto.
* gcc.dg/compat/struct-by-value-3_x.c: Ditto.
* gcc.dg/compat/struct-by-value-4_x.c: Ditto.
* gcc.dg/compat/struct-by-value-5_x.c: Ditto.
* gcc.dg/compat/struct-by-value-6_x.c: Ditto.
* gcc.dg/compat/struct-by-value-7_x.c: Ditto.
* gcc.dg/compat/struct-by-value-8_x.c: Ditto.
* gcc.dg/compat/struct-by-value-9_x.c: Ditto.
* gcc.dg/compat/struct-return-10_x.c: Ditto.
* gcc.dg/compat/struct-return-2_x.c: Ditto.
* gcc.dg/compat/struct-return-3_x.c: Ditto.
From-SVN: r68898
|
|
* Makefile.in: Use dependency variables in lieu of explicit
files throughout.
From-SVN: r68896
|
|
* call.c (build_scoped_method_call): Use convert_to_void.
(build_method_call): Likewise.
* class.c (check_field_decls): Remove dead code.
* cvt.c (convert_from_reference): Remove OFFSET_TYPE handling.
* decl2.c (grok_array_decl): Remove dead code.
(arg_assoc_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
as pointer-to-member representation.
* init.c (build_offset_ref): Tidy.
(build_vec_delete_1): Use convert_to_void.
* mangle.c (write_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
as pointer-to-member representation.
From-SVN: r68895
|
|
From-SVN: r68892
|
|
2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
* rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
* tree.h: ...to here.
From-SVN: r68890
|
|
* config/s390/2064.md: Fix comment typos.
* config/s390/2084.md: Likewise.
* config/s390/s390.c: Likewise.
* config/s390/s390.md: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/sh.md: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sparc/sparc.h: Likewise.
* config/sparc/sparc.md: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/stormy16/stormy-abi: Fix a typo.
From-SVN: r68887
|
|
cp:
PR c++/9162
* decl.c (grokdeclarator): Return friend decls, not
void_type_node.
* decl2.c (grokfield): Alter friend decl check.
* parser.c (struct cp_parser): Document default_arg chain on
unparsed_functions_queue.
(cp_parser_save_default_args): New.
(cp_parser_init_declarator, cp_parser_function_definition,
cp_parser_member_declaration): Call it.
(cp_parser_class_specifier): Remove unused variable. Alter
processing of unparsed_functions_queue.
testsuite:
PR c++/9162
* g++.dg/parse/defarg4.C: New.
From-SVN: r68886
|
|
2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
* Makefile.in (ifcvt.o): Depend on OPTABS_H.
From-SVN: r68885
|
|
From-SVN: r68882
|
|
* class.c (add_method, check_field_decl): Fix format specifier.
* decl.c (duplicate_decls, pushdecl, check_goto,
fixup_anonymous_aggr, maybe_commonize_var, grokdeclarator,
start_enum): Likewise.
* decl2.c (ambiguous_decl): Likewise.
* pt.c (redeclare_class_template): Likewise.
From-SVN: r68878
|
|
PR target/10700
* fold-const.c (extract_muldiv_1): There's nothing that can be done
if the expression is a SAVE_EXPR.
* gcc.c-torture/compile/20030703-1.c: New test case.
From-SVN: r68877
|
|
* config/m32r/m32r.c: Fix comment typos.
* config/m68hc11/m68hc11.c: Likewise.
* config/m68hc11/m68hc11.h: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mcore/mcore.md: Likewise.
* config/mips/mips.c: Likewise.
* config/mips/mips.h: Likewise.
* config/mips/mips.md: Likewise.
* config/mips/netbsd.h: Likewise.
* config/mn10300/mn10300.c: Likewise.
From-SVN: r68876
|
|
XCOFF_DEBUGGING_INFO section.
* dbxout.c (pending_bincls): Move decl down inside
DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
From-SVN: r68875
|
|
* rtl.h (NOTE_DATA): Refer to whole union.
* emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
From-SVN: r68874
|
|
From-SVN: r68872
|
|
PR optimization/11381
* simplify-rtx.c (simplify_relational_operation): Check that
two equal operands have no side-effects before simplifying
the comparison.
From-SVN: r68869
|
|
* expr.c (do_store_flag): Remove special case folding for
single bit tests. Instead call back into the commonized folder
routine.
* fold-const.c (fold_single_bit_test): New function, mostly
extracted from do_store_flag, with an additional case extracted
from fold.
(fold): Call fold_single_bit_test appropriately.
* tree.h (fold_single_bit_test): Prototype.
From-SVN: r68867
|
|
From-SVN: r68866
|
|
* gcse.c: Fix misspelling.
* line-map.c: Likewise.
* config/dsp16xx/dsp16xx.h: Likewise.
From-SVN: r68865
|
|
* system.h: Include filenames.h.
(IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
(DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
define based on HAVE_DOS_BASED_FILE_SYSTEM.
* config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
* config/i386/xm-mingw32.h: Don't define
HAVE_DOS_BASED_FILE_SYSTEM,
DIR_SEPARATOR, or DIR_SEPARATOR_2.
* doc/hostconfig.texi: Update to match.
* cppfiles.c, gcc.c, gensupport.c, protoize.c,
config/i386/cygwin.h:
Use IS_ABSOLUTE_PATH throughout.
* gcc.c (DIR_UP): Delete, unused.
* protoize.c (IS_SAME_PATH): Define in terms of
FILENAME_CMP.
(is_abspath): Delete.
java:
* jcf-path.c: Don't default-define PATH_SEPARATOR nor
DIR_SEPARATOR.
Use FILENAME_CMP.
* jcf-write.c: Don't default-define DIR_SEPARATOR.
* jcf.h: Delete COMPARE_FILENAMES definition.
From-SVN: r68863
|
|
From-SVN: r68860
|
|
* config/i386/emmintrin.h: Fix comment typos.
* config/i386/i386.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/sco5.h: Likewise.
* config/ia64/ia64.c: Likewise.
* config/ia64/itanium2.md: Likewise.
From-SVN: r68857
|
|
From-SVN: r68856
|
|
2003-07-02 H.J. Lu <hongjiu.lu@intel.com>
* dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
DBX_USE_BINCL.
(emit_bincl_stab): Same.
(emit_pending_bincls): Same.
From-SVN: r68855
|
|
* config/h8300/h8300.c (compute_mov_length): Fix the length of
loading CONST0_RTX (SFmode).
* config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
'G' to CONST0_RTX (SFmode).
* config/h8300/h8300.md (movsf_h8300): Change the first
constraint to 'G'.
(movsf_h8300h): Likewise.
From-SVN: r68854
|
|
From-SVN: r68853
|
|
From-SVN: r68852
|
|
* c-common.h (c_common_init_options): New prototype.
* c-opts.c (deferred_size): Remove.
(defer_opt): Array is now pre-allocated.
(c_common_init_options): Pre-allocate deferred_opts. Make
lang_flags unsigned.
(push_command_line_options): Free deferred_opts.
* hooks.c (hook_uint_uint_constcharptrptr_0): New.
* hooks.h (hook_uint_uint_constcharptrptr_0): New.
* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
* langhooks.h (struct lang_hooks): New prototype for init_options.
* main.c (main): Cast argv.
* opts.c (handle_option, handle_options): Update prototypes.
(decode_options): save_argc, save_argv are not global. Constify.
* opts.h (decode_options): New prototype.
* toplev.c (general_init): New protoype.
(save_argv): Make static.
(save_argc): Remove.
(print_switch_values, general_init): Constify.
(toplev_main): Save argv.
* toplev.h (toplev_main): Update prototype.
(save_argc, save_argv): Remove.
ada:
* misc.c (save_argc, save_argv): Make static.
(gnat_init_options): New prototype.
(gnat_init_options): Update.
f:
* top.c (ffe_init_options): Update prototype.
* top.h (ffe_init_options): Update prototype.
java:
* lang.c (java_init_options): Update prototype.
treelang:
* tree1.c (treelang_init_options): Update prototype.
* treelang.h (treelang_init_options): Update prototype.
From-SVN: r68850
|
|
* dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
(emit_bincl_stab): Same.
(emit_pending_bincls): Same.
From-SVN: r68848
|
|
PR c++/11072
* ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
testsuite:
PR c++/11072
* g++.dg/other/offsetof2.C: XFAIL.
* g++.dg/other/offsetof5.C: New.
From-SVN: r68831
|
|
From-SVN: r68829
|
|
From-SVN: r68826
|
|
cp:
PR c++/10219
* pt.c (type_unification_real): Don't unify exprs of error type.
* tree.c (error_type): Don't die on error_type.
testsuite:
PR c++/10219
* g++.dg/template/error1.C: New.
From-SVN: r68825
|
|
cp:
PR c++/9779
* decl2.c (arg_assoc_class): Don't die on NULL type.
* typeck.c (type_unknown_p): Don't die on untyped expressions.
testsuite:
PR c++/9779
* g++.dg/template/dependent-expr1.C: New.
From-SVN: r68824
|
|
signed to unsigned char)
PR optimization/11210
* expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
about the behaviour with regard to bitfields.
* fold-const (decode_field_reference): Record outermost type in
case the expression is a NOP. Strip all NOPs. Set the signedness
to that of the outermost type (if any) when the bitsize is equal
to the size of the type.
From-SVN: r68823
|
|
* config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
(addsi3_internal, adddi3, adddi3_internal_2): Likewise.
(adddi3_internal_3, addsi3_internal_2): Likewise.
From-SVN: r68822
|
|
all_noreorder_p.
* config/mips/mips.c (machine_function): Add new fields:
ignore_hazard_length_p and all_noreorder_p.
(mips_flag_delayed_branch): New variable.
(override_options): Treat '/' as an operand punctuation character.
Set up mips_flag_delayed_branch.
(print_operand): Handle '/'.
(mips_output_function_prologue): Put the whole function in
.set noreorder and .set nomacro if all_noreorder_p is true.
(mips_output_function_epilogue): End the noreorder/nomacro sequence.
(mips16_optimize_gp): Remove "first insn" parameter.
(mips16_lay_out_constants): New function, split out from mips_reorg.
(mips_avoid_hazard, mips_avoid_hazards): New functions.
(mips_reorg): For mips16 code, call mips16_lay_out_constant
and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
do delayed-branch scheduling followed by hazard detection.
(mips_adjust_insn_length): Only account for hazards if
!ignore_hazard_length_p.
(mips_output_load_label): Add a nop to the o32 sequence if
the target suffers from load delays.
(mips_output_conditional_branch): Add %/ to the end of branches.
(mips_output_division): Fill the branch delay slot with %#.
* config/mips/mips.md: Remove redundant '%*' from mips16 branch
instructions. End all other %* branches with %/.
(ffssi2, ffsdi2): Fix lengths.
(truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
(fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
(fix_truncsfsi2_macro): Likewise.
(mov_lwl): Set hazard to "none".
(ashldi3_internal): Fill the branch delay slot with %#.
(ashrdi3_internal, lshrdi3_internal): Likewise.
(exception_receiver): Explicitly set $28.
(hazard_nop): New pattern.
From-SVN: r68821
|
|
calling tree_inlinable_function_p.
* cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
before calling tree_inlinable_function_p.
From-SVN: r68819
|
|
PR c++/6949
* decl2.c (grokfield): Create TEMPLATE_DECLs for methods in local
classes.
PR c++/6949
* g++.dg/template/local3.C: New test.
From-SVN: r68818
|
|
too.
* fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
<internal/stdio_core.h> too.
(stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
<internal/wchar_core.h> too.
Substitute va_list uses in inline definition.
* fixinc/fixincl.x: Regenerate.
From-SVN: r68811
|
|
From-SVN: r68809
|
|
* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
Undef before redefinition.
(LABEL_AFTER_LOC): Likewise.
(DEFAULT_SIGNED_CHAR): Likewise.
(ASM_OUTPUT_ASCII): Moved here from iris4.h.
Fix IRIX spelling.
* config/mips/iris3.h: Remove, unused.
* config/mips/iris4.h: Likewise.
* config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
* config/mips/iris5.h (TARGET_DEFAULT): Move ...
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
target_cpu_default.
* config/mips/iris5.h: Move explicit includes ...
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
* config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
tm_defines.
* config/mips/iris6.h (TARGET_DEFAULT): Move ...
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
target_cpu_default.
* config/mips/iris6.h: Fix IRIX spelling.
(MULTILIB_DEFAULTS): Undef before redefinition.
* config/mips/iris6.h: Move explicit includes ...
* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
From-SVN: r68808
|
|
aux to maintain the queue.
* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
Use next_needed field instead of aux to maintain the queue.
* cgraph.h (cgraph_node): Add next_needed.
(cgraph_varpool_node): Add next_needed; remove aux.
* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
From-SVN: r68807
|
|
From-SVN: r68805
|