OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years agogcc/ada/
janis [Fri, 7 Sep 2007 16:42:48 +0000 (16:42 +0000)]
gcc/ada/
Reapply reverted change:

        2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (convert_with_check): Update call to real_2expN.

gcc/
config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN.
config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto.

Reapply reverted changes:

  2007-09-06  Jan Hubicka  <jh@suse.cz>

* config/i386.c (ix86_expand_lround, ix86_expand_round): Update call of
real_2expN.

2007-09-06  Richard Sandiford  <richard@codesourcery.com>

* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.

2007-09-05  Janis Johnson  <janis187@us.ibm.com>

* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128247 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-flow.h (const_block_stmt_iterator): Remove.
dnovillo [Fri, 7 Sep 2007 16:38:46 +0000 (16:38 +0000)]
* tree-flow.h (const_block_stmt_iterator): Remove.
Update all users to use block_stmt_iterator.
* tree-iterator.h (const_tree_stmt_iterator): Remove.
Update all users to use tree_stmt_iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128246 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-07 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 7 Sep 2007 15:59:44 +0000 (15:59 +0000)]
2007-09-07  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.c (mips_set_current_function): Temporarily
make this a no-op to fix bootstrap errors, pending rewrite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128245 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reorg.c (dbr_schedule): Move code removing placeholder USEs later
hubicka [Fri, 7 Sep 2007 15:42:17 +0000 (15:42 +0000)]
* reorg.c (dbr_schedule): Move code removing placeholder USEs later
in the pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128243 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/33299
dorit [Fri, 7 Sep 2007 15:00:11 +0000 (15:00 +0000)]
    PR tree-optimization/33299
        * tree-vect-transform.c (vect_create_epilog_for_reduction): Update uses
        for all relevant loop-exit phis, not just the first.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128242 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-07 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 7 Sep 2007 11:57:57 +0000 (11:57 +0000)]
2007-09-07  Richard Guenther  <rguenther@suse.de>

PR middle-end/33330
* tree-ssa-operands.c (access_can_touch_variable): An access
of the form (*p)[0] can touch a variable of same size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128240 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * passes.c (init_optimization_passes): Add simple dce and addressable
hubicka [Fri, 7 Sep 2007 11:28:35 +0000 (11:28 +0000)]
* passes.c (init_optimization_passes): Add simple dce and addressable
passes.
* tree-ssa.c (execute_update_addresses_taken): New function.
(pass_update_address_taken): New.
* tree-ssa-dse.c (execute_simple_dse): New function.
(pass_simple_dse): New.
* tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128239 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-07 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 7 Sep 2007 10:46:49 +0000 (10:46 +0000)]
2007-09-07  Tobias Burnus  <burnus@net-b.de>

PR middle-end/33321
* doc/invoke.texi: Fix -Wstrict-overflow= table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128238 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-07 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 7 Sep 2007 10:31:09 +0000 (10:31 +0000)]
2007-09-07  Richard Guenther  <rguenther@suse.de>

        Revert
        2007-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/32586
* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
folding if nothing changed.
(simplify_unary_expression): New function.  Do tree combining
on conversion like codes.
(try_to_simplify): Call it.

* g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
now obsolete simplification.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128236 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/32821
uros [Fri, 7 Sep 2007 10:17:46 +0000 (10:17 +0000)]
PR tree-optimization/32821
* tree_if_conv.c (combine_blocks): Use alloc_stmt_list instead of
NULL in the call to set_bb_stmt_list.

testsuite/ChangeLog:

PR tree-optimization/32821
* gcc.dg/tree-ssa/pr32821.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128235 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/fpu-387.h: Include cpuid.h.
uros [Fri, 7 Sep 2007 09:34:36 +0000 (09:34 +0000)]
* config/fpu-387.h: Include cpuid.h.
(set_fpu): Use __get_cpuid to check for SSE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128234 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Fri, 7 Sep 2007 08:38:42 +0000 (08:38 +0000)]
gcc/
* config/mips/mips.c (build_mips16_call_stub): Emit all direct
float calls here, rather than leaving some to the caller.
Use call_internal_direct and call_value_internal_direct.
* config/mips/mips.md (call_internal_direct): New pattern.
(call_value_internal_direct): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128233 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Fri, 7 Sep 2007 08:14:10 +0000 (08:14 +0000)]
gcc/
* config/mips/mips.c (mips_base_move_loop_invariants): New variable.
(mips_set_mips16_mode): Restore flag_move_loop_invariants, then set
to 0 for MIPS16.
(override_options): Set mips_base_move_loop_invariants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128232 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Fri, 7 Sep 2007 07:48:04 +0000 (07:48 +0000)]
gcc/
* config/mips/mips.opt (mcode-readable=): Move to keep list
alphabetical.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128231 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoconfig/
rsandifo [Fri, 7 Sep 2007 07:37:38 +0000 (07:37 +0000)]
config/
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
(CXXFLAGS_FOR_TARGET): Likewise.

gcc/
* doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata
and -mgpopt options.  Adjust the -G documentation to match.
* config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New.
* config/mips/mips.c (mips_rtx_constant_in_small_data_p): New
function, split out from mips_classify_symbol.  Return false for
!TARGET_LOCAL_SDATA.
(mips_classify_symbol): Call mips_rtx_constant_in_small_data_p.
Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT.
(override_options): Check whether the -mgpopt setting is consistent
with the other flags.
(symbolic_expression_p): Delete.
(mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p
and default_elf_select_rtx_section.
(mips_in_small_data_p): Honor section attributes for MIPS16 too.
Return false for local data unless TARGET_LOCAL_SDATA.  Likewise
external data and TARGET_EXTERN_SDATA.

gcc/testsuite/
* gcc.dg/attr-alias-3.c: Use real asm for MIPS.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_gp
and mips_forced_no_er.
(dg-mips-options): Add -mno-abicalls when a small-data option is
specified.  Skip tests with small-data options if mips_forced_gp.
Skip tests with -mexplicit-relocs if mips_forced_no_er.
* gcc.target/mips/sdata-1.c: New test.
* gcc.target/mips/sdata-2.c: Likewise.
* gcc.target/mips/sdata-3.c: Likewise.
* gcc.target/mips/sdata-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128230 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-07 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 7 Sep 2007 07:33:26 +0000 (07:33 +0000)]
2007-09-07  Tobias Burnus  <burnus@net-b.de>

PR fortran/33303
* doc/cpp.texi (Common Predefined Macros): Add __GFORTRAN__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128229 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR libstdc++/33203
dannysmith [Fri, 7 Sep 2007 04:18:40 +0000 (04:18 +0000)]
PR libstdc++/33203
* configure.host (error_constants_dir):  New variable,
defaulting to os/generic.
( mingw32*): Overide default.
* configure.ac (ERROR_CONSTANTS_SRCDIR): New.
* configure: Regenerate.
* include/Makefile.am (host_headers): Add
$(ERROR_CONSTANTS_SRCDIR)/error_constants.h .
* include/Makefile.in: Regenerate.
* include/std/system_error (enum posix_errno): Remove.
Include <bits/error_constants.h> instead.
* config/os/mingw32/error_constants.h: New.
* config/os/generic/error_constants.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128228 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * decl2.c (get_guard): Copy visibility from the guarded variable.
jason [Fri, 7 Sep 2007 03:56:41 +0000 (03:56 +0000)]
    * decl2.c (get_guard): Copy visibility from the guarded variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128226 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 7 Sep 2007 03:01:53 +0000 (03:01 +0000)]
2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/lib/libstdc++.exp: Check CXXFLAGS.
* scripts/testsuite_flags.in: CXXFLAGS_default, matching dejagnu.

* include/std/ostream: Spacing tweak.
* include/ext/hashtable.h: Use <algorithm>.
* include/ext/slist: Same.
* include/ext/rope: Same.
* include/bits/stl_function.h: Format.
* include/tr1_impl/array: Remove section number in doxygen markup.
* src/list.cc: Comment tweak.

* docs/doxygen/user.cfg.in: Update for include/tr1_impl.

* testsuite/25_algorithms/search_n/iterator.cc: Add using declaration.
* testsuite/25_algorithms/nth_element/1.cc:  Same.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Use
char_type typedef to the underlying character type.
* testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
Remove -ansi -pedantic-errors.
* testsuite/21_strings/char_traits/requirements/char/typedefs.cc: Same.
* testsuite/tr1/6_containers/headers/functional/synopsis.cc:
Remove specializations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128225 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
lauras [Fri, 7 Sep 2007 02:58:06 +0000 (02:58 +0000)]
2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
FOR_BB_INSNS_SAFE instead of for loop.
* cse.c (cse_extended_basic_block): Likewise.
* postreload.c (reload_cse_regs_1): New variable next. Make sure
that the for loop does not invoke NEXT_INSN on a deleted insn.
* function.c (instantiate_virtual_regs): Likewise.
* lower-subreg.c (remove_retval_note): Likewise.
(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
FOR_BB_INSNS.
* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
a deleted insn.
* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
insn, if it's a jump.
(try_redirect_by_replacing_jump): New variable jump_p. Call
tablejump_p before delete_insn_chain.
* reload1.c (reload): New variable next. Make sure that the for
loop does not invoke NEXT_INSN on a deleted insn.
(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
(delete_output_reload): New variable prev. Make sure the the for
loops do not invoke PREV_INSN on a deleted insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128224 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * cgraphbuild.c (rebuild_cgraph_edges): Export.
rakdver [Fri, 7 Sep 2007 02:40:14 +0000 (02:40 +0000)]
* cgraphbuild.c (rebuild_cgraph_edges): Export.
* cgraph.h (rebuild_cgraph_edges): Declare.
* tree-pass.h (pass_expand_omp_ssa): New.
* omp-low.c (find_omp_clause): Export.
(copy_var_decl): Split from omp_copy_decl_2.
(build_omp_barrier): Return the call to emit instead of emitting
it directly.
(lower_rec_input_clauses, expand_omp_single): Gimplify the result of
build_omp_barrier.
(extract_omp_for_data, expand_parallel_call, expand_omp_parallel,
expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
Adapted to work on SSA form.
(execute_expand_omp): Do not invalidate dominance information.
(gate_expand_omp): Do not run with -fopenmp-ssa flag.
(gate_expand_omp_ssa, pass_expand_omp_ssa): New.
* gimplify.c (gimplify_omp_for): Ensure that the control variable is
a gimple_reg.
(force_gimple_operand): Allow gimplifying code expressions without
value.
* tree-predcom.c (mark_virtual_ops_for_renaming): Handle phi nodes.
* common.opt (fopenmp-ssa): New.
* tree-flow.h (find_omp_clause, copy_var_decl): Declare.
* Makefile.in (tree-cfg.o): Add TREE_INLINE_H dependency.
* tree-cfg.c: Include tree-inline.h.
(struct move_stmt_d): Replace vars_to_remove by vars_map field.
(replace_by_duplicate_decl, replace_ssa_name,
mark_virtual_ops_in_region): New functions.
(move_stmt_r, move_block_to_fn, move_sese_region_to_fn): Adapted
to work on SSA form.
* passes.c (init_optimization_passes): Add pass_expand_omp_ssa pass.
* tree-ssa-operands.c (get_expr_operands): Handle operands of OMP
constructs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128223 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 7 Sep 2007 02:25:45 +0000 (02:25 +0000)]
2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/29367
* include/ext/pb_ds/detail/map_debug_base.hpp: From this..
* include/ext/pb_ds/detail/debug_map_base.hpp: ...to this.
Rename map_debug_base to debug_map_base, add std::pair output
extractors, change duplicate map_debug_base typedef in containers
to debug_base. Use m_store_extra_indicator for m_store_hash_indicator.
* include/ext/pb_ds/*: Likewise.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128222 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 7 Sep 2007 02:20:58 +0000 (02:20 +0000)]
2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/29367
* include/ext/pb_ds/detail/map_debug_base.hpp: From this..
* include/ext/pb_ds/detail/debug_map_base.hpp: ...to this.
Rename map_debug_base to debug_map_base, add std::pair output
extractors, change duplicate map_debug_base typedef in containers
to debug_base. Use m_store_extra_indicator for m_store_hash_indicator.
* include/ext/pb_ds/*: Likewise.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128221 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 7 Sep 2007 01:37:31 +0000 (01:37 +0000)]
2007-09-06  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_vector.h (_Vector_base<>::_M_allocate):
Do not call _M_impl.allocate when __n == 0.
* testsuite/23_containers/vector/zero_sized_allocations.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128220 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Laurynas Biveinis <laurynas.biveinis@gmail.com>
lauras [Fri, 7 Sep 2007 01:33:41 +0000 (01:33 +0000)]
2007-09-06  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

* tree-loop-linear.c: Include obstack.h.
(linear_transform_loops): New obstack lambda_obstack.
Initialize it, pass it to gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls
and free afterwards.
* lambda.h (struct obstack): New forward declaration.
(lambda_linear_expression_new): New parameter of type struct
obstack *.
(lambda_loopnest_new): Likewise.
(lambda_loopnest_transform): Likewise.
(lambda_body_vector_new): Likewise.
(lambda_body_vector_compute_new): Likewise.
(gcc_loopnest_to_lambda_loopnest): Likewise.
(lambda_loopnest_to_gcc_loopnest): Likewise.
* lambda-code.c: Include obstack.h.
(lambda_lattice_new): New parameter lambda_obstack.  Use it for
allocation of ret.
(lambda_body_vector_new): Likewise.
(lambda_linear_expression_new): Likewise.
(lambda_lattice_new): Likewise.
(lambda_loopnest_new): Likewise.  Additionally use obstack to
allocate LN_LOOPS(ret).
(lambda_lattice_compute_base): New parameter lambda_obstack.  Pass
it to lambda_lattice_new.
(lambda_body_vector_compute_new): New parameter lambda_obstack.
Pass it to lambda_body_vector_new.
(lambda_lattice_compute_base): New paramater lambda_obstack.  Pass
it to lambda_lattice_new.
(compute_nest_using_fourier_motzkin): New parameter lambda_obstack.
Pass it to lambda_loopnest_new, lambda_linear_expression_new.
(lambda_compute_target_space): Likewise.
(lambda_compute_auxillary_space): New parameter lambda_obstack.
Pass it to lambda_lattice_compute_base and
compute_nest_using_fourieer_motzkin.
(lambda_loopnest_transform): New parameter lambda_obstack.  Pass
it to lambda_lattice_compute_base, lambda_lattice_auxillary_space
and lambda_lattice_compute_target_space.
(gcc_tree_to_linear_expression): Nex parameter lambda_obstack.
Pass it to lambda_linear_expression_new.
(gcc_loop_to_lambda_loop): New parameter lambda_obstack.  Pass it
to gcc_tree_to_linear_expression.
(gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack.
Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new.
(lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack.
Pass it to lambda_body_vector_new and
lambda_body_vector_compute_new.
* Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency.
(lambda-code.o): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128219 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ginclude/stdfix.h: New file.
chaoyingfu [Fri, 7 Sep 2007 01:24:09 +0000 (01:24 +0000)]
* ginclude/stdfix.h: New file.
* Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h.
(convert.o): Add dependence on fixed-value.h.
* c-convert.c (convert): Support FIXED_POINT_TYPE.
* c-cppbuiltin.c (builtin_define_fixed_point_constants): New function
to define fixed-point constants.
(c_cpp_builtins): Define fixed-point constants.
* convert.c (fixed-value.h): New include.
(convert_to_real): Update comment to include fixed-point.
Support FIXED_POINT_TYPE.
(convert_to_integer): Update comment to include fixed-point.
Support FIXED_POINT_TYPE.
(convert_to_complex): Support FIXED_POINT_TYPE.
(convert_to_fixed): New function.
* convert.h (convert_to_fixed): Declare.
* genopinit.c: Add comment about $Q for only fixed-point modes.
(optabs): Add fract_optab, fractuns_optab, satfract_optab,
satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab,
sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab,
ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab,
usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab,
usneg_optab for fixed-point modes.
(gen_insn): Add force_fixed to track the $Q format for all fixed-point
modes.
* optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR,
PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or
unsigned saturation optabs, when type is saturating.
(shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT.
(expand_fixed_convert): New function.
(gen_fixed_libfunc, gen_signed_fixed_libfunc,
gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc,
gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc,
gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc,
gen_fract_conv_libfunc, gen_fractuns_conv_libfunc,
gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New
functions.
(init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab,
ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab,
usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab,
ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab,
usneg_optab, fract_optab, fractuns_optab, satfract_optab,
satfractuns_optab.
Initialize fixed-point libraries, including add, ssadd, usadd, sub,
sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl,
ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract,
fractuns, satfractuns.
* optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub,
OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg,
OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen,
OTI_ssmsub_widen,  OTI_usmsub_widen.
(ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab,
umsub_widen_optab, usmsub_widen_optab): Define.
(enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract,
COI_satfractuns.
(fract_optab, fractuns_optab, satfract_optab, satfractuns_optab):
Define.
(expand_fixed_convert): Declare.
* expr.c (convert_move): Support the move of fixed-point modes.
(emit_move_insn_1): Handle fixed-point mode to move via integer.
(categorize_ctor_elements_1): Handle FIXED_CST.
(count_type_elements): Handle FIXED_POINT_TYPE.
(expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT,
MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
Support FIXED_CST.
For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating
multiply and add/subtract for fixed-point types.
For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point
mode, we jump to binop directly.
Support FIXED_CONVERT_EXPR.
(do_store_flag): Check FIXED_CST to put a constant second.
(vector_mode_valid_p): Handle MODE_VECTOR_FRACT,
MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
(const_vector_from_tree): Support FIXED_CST.
* doc/extend.texi (Fixed-Point): New node.
* doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv,
ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract,
satfract, fractuns, satfractuns): Document them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128218 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 7 Sep 2007 00:17:03 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128215 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
bernds [Thu, 6 Sep 2007 23:24:19 +0000 (23:24 +0000)]
* config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
addresses into I registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128212 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * jcf-parse.c (parse_class_file): Re-enter the current file.
tromey [Thu, 6 Sep 2007 23:10:19 +0000 (23:10 +0000)]
* jcf-parse.c (parse_class_file): Re-enter the current file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128211 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * semantics.c (expand_body): Do not mark arguments of clones used.
hubicka [Thu, 6 Sep 2007 23:04:18 +0000 (23:04 +0000)]
* semantics.c (expand_body): Do not mark arguments of clones used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128209 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago boehm.c (mark_reference_fields): Move misaligned pointer check
zippel [Thu, 6 Sep 2007 23:00:01 +0000 (23:00 +0000)]
boehm.c (mark_reference_fields): Move misaligned pointer check
after JREFERENCE_TYPE_P test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128208 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Jan Hubicka <jh@suse.cz>
andreast [Thu, 6 Sep 2007 19:41:33 +0000 (19:41 +0000)]
2007-09-06  Jan Hubicka  <jh@suse.cz>
    Andreas Tobler  <a.tobler@schweiz.org>

* config/darwin.c (machopic_indirect_data_reference): Avoid invalid
sharing.
(machopic_legitimize_pic_address): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128207 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 6 Sep 2007 19:25:30 +0000 (19:25 +0000)]
2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/33298
* intrinsics/spread_generic.c(spread_internal): Enable
bounds checking by comparing extents if the bounds_check
option has been set.  If any extent is <=0, return early.

2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/33298
* spread_zerosize_1.f90:  New test case.
* spread_bounds_1.f90:  New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128206 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Matthias Klose <doko@debian.org>
doko [Thu, 6 Sep 2007 19:17:30 +0000 (19:17 +0000)]
2007-09-06  Matthias Klose  <doko@debian.org>

        * testsuite/27_io/headers/cstdlib: Remove empty directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128204 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * testsuite/libjava.lang/StackTrace2.jar: Rebuilt.
tromey [Thu, 6 Sep 2007 18:58:20 +0000 (18:58 +0000)]
* testsuite/libjava.lang/StackTrace2.jar: Rebuilt.
* testsuite/libjava.lang/StackTrace2.java (checkLine): Print file
name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128203 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Thu, 6 Sep 2007 18:57:57 +0000 (18:57 +0000)]
2007-09-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
            Jan Hubicka  <jh@suse.cz>

        * config/spu/spu.md (floatsidf2): Use convert_optab_libfunc
        instead of ufloat_optab->handlers directly.
        (floatdidf2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128202 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Thu, 6 Sep 2007 18:38:49 +0000 (18:38 +0000)]
/cp
2007-09-06  Paolo Carlini  <pcarlini@suse.de>

PR c++/32674
* decl.c (cp_finish_decl): When processing_template_decl,
deal correctly with init as TREE_LIST.

/testsuite
2007-09-06  Paolo Carlini  <pcarlini@suse.de>

PR c++/32674
* g++.dg/template/static31.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128201 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 6 Sep 2007 18:20:37 +0000 (18:20 +0000)]
2007-09-06  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.c:  Include diagnostic.h.
(mips_set_current_function): Check errorcount and sorrycount
before generating RTL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128200 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Revert:
janis [Thu, 6 Sep 2007 18:07:14 +0000 (18:07 +0000)]
Revert:

2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>

* trans.c (convert_with_check): Update call to real_2expN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128199 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR fortran/33271
fxcoudert [Thu, 6 Sep 2007 17:48:32 +0000 (17:48 +0000)]
PR fortran/33271
* gfortran.dg/nint_2.f90: xfail on powerpc-ibm-aix* and
powerpc*-linux-gnu.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128196 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 6 Sep 2007 17:46:43 +0000 (17:46 +0000)]
gcc/
PR target/33256
* config/mips/mips.c (mips_classify_symbolic_expression): New function.
(mips_classify_address): Use it instead of mips_symbolic_constant_p.
(print_operand_reloc): Likewise.

gcc/testsuite/
200x-xx-xx  David Daney  <ddaney@avtrex.com>
    Richard Sandiford  <richard@codesourcery.com>

PR target/33256
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_le.
(dg-mips-options): Skip -EB and -meb tests when $mips_forced_le.
* gcc.target/mips/pr33256.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128195 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd function name to last changelog entry:
doko [Thu, 6 Sep 2007 17:33:35 +0000 (17:33 +0000)]
Add function name to last changelog entry:
        * boehm.c (mark_reference_fields): Don't use bitmap as gc_descr
        if pointer is misaligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128194 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Revert:
janis [Thu, 6 Sep 2007 17:15:55 +0000 (17:15 +0000)]
Revert:

  2007-09-06  Jan Hubicka  <jh@suse.cz>

* i386.c (ix86_expand_lround, ix86_expand_round): Update call of
real_2expN.

2007-09-06  Richard Sandiford  <richard@codesourcery.com>

* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.

2007-09-05  Janis Johnson  <janis187@us.ibm.com>

* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128193 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agolibiberty:
tromey [Thu, 6 Sep 2007 16:58:57 +0000 (16:58 +0000)]
libiberty:
* pexecute.txh (pex_free): Document process killing.
include:
* libiberty.h (pex_free): Document process killing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128192 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/java/
doko [Thu, 6 Sep 2007 16:39:58 +0000 (16:39 +0000)]
gcc/java/

2007-09-06  Roman Zippel  <zippel@linux-m68k.org>

        * boehm.c: Don't use bitmap as gc_descr if pointer is misaligned.

libjava/

2007-09-06  Roman Zippel  <zippel@linux-m68k.org>

        * sysdep/m68k/locks.h: New file.
        * configure.host: Set sysdeps_dir and libgcj_interpreter for m68k.
        * configure.ac: Set SIGNAL_HANDLER for m68*-*-linux*.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128191 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc:
tromey [Thu, 6 Sep 2007 16:24:05 +0000 (16:24 +0000)]
gcc:
* tree-cfg.c (remove_bb): Only warn if line is non-zero.
* c-pch.c (c_common_read_pch): Restore current location after
reading PCH file.
* tree.c (expand_location): Update.
(expr_filename): Changed return type.  Unified the two cases.
(expr_lineno): Likewise.
(annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME
as lvalues.
* toplev.c (line_table): Changed type.
(general_init): Update.
(realloc_for_line_map): New function.
(general_init): Allocate line_table using GC.
* fix-header.c (line_table): Changed type.
(read_scan_file): Update.
(read_scan_file): Update.
* c-ppoutput.c (maybe_print_line): Update.
(print_line): Update.
(cb_line_change): Update.
(cb_define): Update.
(pp_file_change): Update.
* c-opts.c (c_common_init_options): Update.
(finish_options): Update.
(push_command_line_include): Update.
* c-lex.c (cb_line_change): Update.
(cb_def_pragma): Update.
(cb_define): Update.
(cb_undef): Update.
(c_lex_with_flags): Use cpp_get_token_with_location.
* input.h (line_table): Changed type.
(location_from_locus): New macro.
* tree.h (EXPR_FILENAME): No longer an lvalue.
(EXPR_LINENO): Likewise.
(expr_locus, set_expr_locus): Declare separately for
USE_MAPPED_LOCATION.
(expr_filename, expr_lineno): Changed return type.
* gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS.
* cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus.
(expand_gimple_basic_block): Likewise.
* final.c (final_scan_insn): Use expanded_location.
gcc/cp:
* decl.c (finish_function): Put return's location on line zero of
file.
gcc/fortran:
* scanner.c (get_file): Update.
(load_file): Update.
(gfc_next_char_literal): Use gfc_linebuf_linenum.
* f95-lang.c (gfc_init): Update.
* gfortran.h (gfc_linebuf_linenum): New macro.
gcc/java:
* lang.c (java_post_options): Update.
* jcf-parse.c (set_source_filename): Update.
(give_name_to_class): Update.
(jcf_parse): Update.
(duplicate_class_warning): Update.
(parse_class_file): Update.
(java_parse_file): Update.
* expr.c (expand_byte_code): Update.
gcc/testsuite:
* lib/g++.exp (g++_target_compile): Use -fno-show-column.
gcc/treelang:
* tree1.c (treelang_init): Update.
(treelang_parse_file): Update.
(treelang_parse_file): Update.
(treelang_parse_file): Update.
* lex.l: Update.
(update_lineno_charno): Likewise.
libcpp:
* internal.h (struct cpp_reader) <invocation_location>: New
field.
(struct cpp_reader) <set_invocation_location>: Likewise.
* init.c (cpp_set_line_map): New function.
* line-map.c (linemap_add): Use linemap's allocator.
* include/line-map.h (GTY): Define.
(line_map_realloc): New typedef.
(struct line_map): Mark with GTY.
(struct line_maps): Likewise.
(struct line_maps) <maps>: Likewise.
(struct line_maps) <reallocator>: New field.
* include/symtab.h (GTY): Conditionally define.
* include/cpplib.h (cpp_set_line_map): Declare.
(cpp_get_token_with_location): Declare.
* macro.c (cpp_get_token): Set invocation_location on the reader.
(cpp_get_token_with_location): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128190 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Sep 2007 16:05:32 +0000 (16:05 +0000)]
2007-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/32586
* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
folding if nothing changed.
(simplify_unary_expression): New function.  Do tree combining
on conversion like codes.
(try_to_simplify): Call it.
* builtins.c (fold_builtin_cexp): Fold the built expressions.
* fold-const.c (fold_unary): Test result of get_callee_fndecl().

* g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
now obsolete simplification.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128189 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/33281
fxcoudert [Thu, 6 Sep 2007 15:42:02 +0000 (15:42 +0000)]
PR target/33281
* configure.ac: Use config/mh-mingw on mingw.
* configure: Regenerate.
* config/mh-mingw: New host makefile fragment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128188 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/33318
hubicka [Thu, 6 Sep 2007 15:10:28 +0000 (15:10 +0000)]
PR target/33318
* cse.c (fold_rtx): Avoid invalid sharing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128187 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 6 Sep 2007 15:00:47 +0000 (15:00 +0000)]
gcc/
* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128186 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * trans.c (convert_with_check): Update call to real_2expN.
ebotcazou [Thu, 6 Sep 2007 14:47:56 +0000 (14:47 +0000)]
* trans.c (convert_with_check): Update call to real_2expN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128185 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix offsettable memory reference for 750CL
revitale [Thu, 6 Sep 2007 14:30:19 +0000 (14:30 +0000)]
Fix offsettable memory reference for 750CL

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128184 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoChangeLog:
pthaugen [Thu, 6 Sep 2007 13:51:21 +0000 (13:51 +0000)]
ChangeLog:

2007-09-06  Pat Haugen  <pthaugen@us.ibm.com>

* reload.c (find_reloads_address_1): Try to preserve original
base/index regclass of operands.
* regrename.c (scan_rtx_address): Likewise.
(replace_oldest_value_addr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128183 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * libgfortran.h: Include config.h first.
dje [Thu, 6 Sep 2007 12:40:50 +0000 (12:40 +0000)]
    * libgfortran.h: Include config.h first.
        * io/io.h (struct stream): Rename truncate to trunc.
        * io/unix.c (fd_open): Same.
        (open_internal): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128182 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/i386/sse3-addsubpd.c: Add -mfpmath=sse to dg-options.
uros [Thu, 6 Sep 2007 11:39:49 +0000 (11:39 +0000)]
* gcc.target/i386/sse3-addsubpd.c: Add -mfpmath=sse to dg-options.
* gcc.target/i386/sse3-addsubps.c: Ditto.
* gcc.target/i386/sse3-haddpd.c: Ditto.
* gcc.target/i386/sse3-haddps.c: Ditto.
* gcc.target/i386/sse3-hsubpd.c: Ditto.
* gcc.target/i386/sse3-hsubps.c: Ditto.
* gcc.target/i386/sse3-lddqu.c: Ditto.
* gcc.target/i386/sse3-movddup.c: Ditto.
* gcc.target/i386/sse3-movshdup.c: Ditto.
* gcc.target/i386/sse3-movsldup.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128181 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Sep 2007 09:05:58 +0000 (09:05 +0000)]
2007-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/33302
* tree-ssa-dse.c (tree_ssa_dse): Connect infinite loops
to the exit block before doing the post-dominator walk.
* domwalk.c (walk_dominator_tree): The exit block is
interesting even if it is not reachable.

* gcc.dg/tree-ssa/ssa-dse-11.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128180 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 6 Sep 2007 08:45:16 +0000 (08:45 +0000)]
gcc/
PR middle-end/33306
* optabs.c (avoid_expensive_constant): Do nothing if MODE is VOIDmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128179 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoreverted configure to rev 128176 - it has been mistakingly commited
bstarynk [Thu, 6 Sep 2007 06:57:56 +0000 (06:57 +0000)]
reverted configure to rev 128176 - it has been mistakingly commited

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128178 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agotypo
bstarynk [Thu, 6 Sep 2007 06:42:47 +0000 (06:42 +0000)]
typo

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128177 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agocfg.c (dump_bb_info, dump_edge_info): Added cfun test for
bstarynk [Thu, 6 Sep 2007 06:38:09 +0000 (06:38 +0000)]
cfg.c (dump_bb_info, dump_edge_info): Added cfun test for
robustness.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128176 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int
ian [Thu, 6 Sep 2007 05:59:15 +0000 (05:59 +0000)]
* tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int
when printing.
(dump_generic_node): Likewise.
* print-rtl.c (print_decl_name): Likewise.
* print-tree.c (print_node_brief): Likewise.
(print_node): Likewise.
* Makefile.in (RTL_BASE_H): Add alias.h.
(TREE_H): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128175 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/15745
jason [Thu, 6 Sep 2007 03:33:46 +0000 (03:33 +0000)]
    PR c++/15745
        * except.c (prepare_eh_type): Use type_decays_to.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128174 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 6 Sep 2007 01:32:11 +0000 (01:32 +0000)]
2007-09-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33225
* gfortran.dg./fmt_float.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128173 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/15097
jason [Thu, 6 Sep 2007 01:24:59 +0000 (01:24 +0000)]
    PR c++/15097
        * init.c (build_delete): Use build_headof to get the address of the
        complete object if we aren't using the deleting destructor.
        * rtti.c (build_headof): No longer static.
        * cp-tree.h: Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128172 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 6 Sep 2007 01:24:17 +0000 (01:24 +0000)]
2007-09-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33253
* gfortran.dg/namelist_38.f90: Update test for DELIM= .

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128171 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 6 Sep 2007 01:20:02 +0000 (01:20 +0000)]
2007-09-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33253
* io/write.c (nml_write_obj): Set the delimiter correctly before calling
write_character. (namelist_write): Clean up the code a little and add
comments to clarify what its doing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128170 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/cris/builtin_ctz_v3.c: New testcase.
hp [Thu, 6 Sep 2007 00:17:15 +0000 (00:17 +0000)]
* gcc.target/cris/builtin_ctz_v3.c: New testcase.
* gcc.target/cris/builtin_ctz_v8.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128168 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 6 Sep 2007 00:16:59 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128167 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros):
hp [Thu, 6 Sep 2007 00:16:43 +0000 (00:16 +0000)]
* longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros):
Defined.
* config/cris/cris.md (ctzsi2, cris_swap_bits): Implemented.
* config/cris/cris.h (CTZ_DEFINED_VALUE_AT_ZERO): Defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128165 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
jiez [Thu, 6 Sep 2007 00:09:05 +0000 (00:09 +0000)]
* config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
(tm_defines): Define UCLIBC_DEFAULT to 1.
(extra_options): Add linux.opt.
* config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(NO_IMPLICIT_EXTERN_C): Likewise.
(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
* config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define.
* config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define.
(ENDFILE_SPEC): Don't define.
(LIB_SPEC): Likewise.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(NO_IMPLICIT_EXTERN_C): Likewise.
(LINUX_TARGET_OS_CPP_BUILTINS): Likewise.
(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128163 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * i386.c (ix86_expand_lround, ix86_expand_round): Update call of
hubicka [Thu, 6 Sep 2007 00:04:31 +0000 (00:04 +0000)]
* i386.c (ix86_expand_lround, ix86_expand_round): Update call of
real_2expN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128162 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * opts.c (common_handle_option): Enable inlining functions for
hubicka [Wed, 5 Sep 2007 23:38:34 +0000 (23:38 +0000)]
* opts.c (common_handle_option): Enable inlining functions for
-fprofile-generate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128161 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/33289
jakub [Wed, 5 Sep 2007 23:27:17 +0000 (23:27 +0000)]
PR c++/33289
* decl.c (builtin_function_1): Set DECL_ANTICIPATED also
on __*_chk non-__builtin_* decls.

* g++.dg/eh/builtin4.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128160 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX
jakub [Wed, 5 Sep 2007 23:25:07 +0000 (23:25 +0000)]
* decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX
decl if a prototype for XX is provided with throw().

* g++.dg/eh/builtin1.C: New test.
* g++.dg/eh/builtin2.C: New test.
* g++.dg/eh/builtin3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128159 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * builtin-attrs.def (ATTR_NONNULL_3): New.
jakub [Wed, 5 Sep 2007 23:22:51 +0000 (23:22 +0000)]
* builtin-attrs.def (ATTR_NONNULL_3): New.
(DEF_FORMAT_ATTRIBUTE): Use just ATTR_NONNULL_##FA instead of
ATTR_NOTHROW_NONNULL_##FA.
(DEF_FORMAT_ATTRIBUTE_NOTHROW, DEF_FORMAT_ATTRIBUTE_BOTH): New macros.
(ATTR_FORMAT_PRINTF_NOTHROW_2_0, ATTR_PRINTF_NOTHROW_2_3,
ATTR_FORMAT_PRINTF_NOTHROW_3_0, ATTR_FORMAT_PRINTF_NOTHROW_3_4,
ATTR_FORMAT_PRINTF_NOTHROW_4_0, ATTR_PRINTF_NOTHROW_4_5,
ATTR_FORMAT_PRINTF_NOTHROW_5_0, ATTR_FORMAT_PRINTF_NOTHROW_5_6,
ATTR_FORMAT_SCANF_NOTHROW_2_0, ATTR_FORMAT_SCANF_NOTHROW_2_3,
ATTR_FORMAT_STRFTIME_NOTHROW_3_0, ATTR_FORMAT_STRFMON_NOTHROW_3_4):
New.
(ATTR_FORMAT_PRINTF_4_0, ATTR_PRINTF_4_5, ATTR_FORMAT_PRINTF_5_0,
ATTR_FORMAT_PRINTF_5_6, ATTR_FORMAT_STRFTIME_3_0,
ATTR_FORMAT_NOTHROW_3_4): Remove.
* builtins.def (snprintf, sprintf, sscanf, vsnprintf, vsprintf,
vsscanf, strfmon, strftime, __snprintf_chk, __sprintf_chk,
__vsnprintf_chk, __vsprintf_chk): Use ATTR_FORMAT_*_NOTHROW_*
instead of ATTR_FORMAT_*_*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128158 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on
hp [Wed, 5 Sep 2007 23:17:50 +0000 (23:17 +0000)]
* config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on
parts re-used for REG_FRAME_RELATED_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128157 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
janis [Wed, 5 Sep 2007 22:16:33 +0000 (22:16 +0000)]
gcc/
* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

gcc/testsuite/
* gcc.target/powerpc/dfp-dd.c: New test.
* gcc.target/powerpc/dfp-td.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128156 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
sayle [Wed, 5 Sep 2007 21:30:04 +0000 (21:30 +0000)]
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
* configure: Regenerate.
* include/std/system_error: Guard.
* testsuite/19_diagnostics/headers/system_error/
types_std_c++0x.cc: Same.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
line numbers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128154 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * init-regs.c (initialize_uninitialized_regs): Call
ian [Wed, 5 Sep 2007 20:55:03 +0000 (20:55 +0000)]
* init-regs.c (initialize_uninitialized_regs): Call
emit_insn_before rather than add_insn_before.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128152 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMove ChangeLog entry to correct ChangeLog file.
jakub [Wed, 5 Sep 2007 20:47:48 +0000 (20:47 +0000)]
Move ChangeLog entry to correct ChangeLog file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128151 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
jakub [Wed, 5 Sep 2007 20:45:27 +0000 (20:45 +0000)]
* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
* tree.h (CALL_EXPR_VA_ARG_PACK): Define.
* tree-inline.h (copy_body_data): Add call_expr field.
* tree-inline.c (expand_call_inline): Initialize call_expr.
(copy_bb): Append anonymous inline fn arguments to arguments
when inlining a CALL_EXPR_VA_ARG_PACK call.
* builtins.c (expand_builtin): Issue an error if
BUILT_IN_VA_ARG_PACK is seen during expand.
(fold_call_expr, fold_builtin_call_array): Don't fold
CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with
__builtin_va_arg_pack () call as last argument.
* gimplify.c (gimplify_call_expr): If last argument to a vararg
function is __builtin_va_arg_pack (), decrease number of call
arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR.
* expr.c (expand_expr_real_1): Issue an error if
CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand.
* tree-pretty-print.c (dump_generic_node): Handle printing
CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs.
* doc/extend.texi (__builtin_va_arg_pack): Document.

* gcc.c-torture/execute/va-arg-pack-1.c: New test.
* gcc.dg/va-arg-pack-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128150 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
doko [Wed, 5 Sep 2007 20:01:54 +0000 (20:01 +0000)]
2007-09-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * configure.host(gnu*): Set use_libgcj_bc to yes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128149 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/tree-ssa/builtin-expect-1.c: New test.
nemet [Wed, 5 Sep 2007 19:56:39 +0000 (19:56 +0000)]
* gcc.dg/tree-ssa/builtin-expect-1.c: New test.
* gcc.dg/tree-ssa/builtin-expect-2.c: New test.
* gcc.dg/tree-ssa/builtin-expect-3.c: New test.
* gcc.dg/tree-ssa/builtin-expect-4.c: New test.
* gcc.dg/tree-ssa/builtin-expect-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128148 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/21513
nemet [Wed, 5 Sep 2007 19:54:29 +0000 (19:54 +0000)]
PR tree-optimization/21513
* builtins.c (build_builtin_expect_predicate): New function.
(fold_builtin_expect): Add argument for expected value.
Distribute __builtin_expect over short-circuiting operations.
Fold nested builtin_expects.
(fold_builtin_2): Adjust call to fold_builtin_expect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128147 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR web/32965
rask [Wed, 5 Sep 2007 19:47:56 +0000 (19:47 +0000)]
PR web/32965
PR tree-optimization/13756
* doc/invoke.texi (Options That Control Optimization): Document
-ftree-dse.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128146 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Wed, 5 Sep 2007 19:10:48 +0000 (19:10 +0000)]
/cp
2007-09-03  Paolo Carlini  <pcarlini@suse.de>

PR c++/30302
* semantics.c (finish_id_expression): Check that path != NULL_TREE
before using TYPE_BINFO on it.
* class.c (finish_struct_anon): Deal correctly with anonymous
structs (vs unions, as GNU extension) in error messages.

/testsuite
2007-09-03  Paolo Carlini  <pcarlini@suse.de>

PR c++/30302
* g++.dg/ext/anon-struct5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128145 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agofix changelog entry
jason [Wed, 5 Sep 2007 18:56:55 +0000 (18:56 +0000)]
fix changelog entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128144 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Pat Haugen <pthaugen@us.ibm.com>
pthaugen [Wed, 5 Sep 2007 18:33:58 +0000 (18:33 +0000)]
2007-09-05  Pat Haugen  <pthaugen@us.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128143 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc/config/i386/cpuid.h: New file.
uros [Wed, 5 Sep 2007 17:43:01 +0000 (17:43 +0000)]
* gcc/config/i386/cpuid.h: New file.
* gcc/config/i386/driver-i386.c: Include cpuid.h.
(describe_cache): Shrink size and line strings to 100 bytes.
(detect_caches_amd): Return "" for unsupported max_ext_level.
Use __cpuid function.
(detect_caches_intel): Return "" for unsupported max_level.
Use __cpuid function.
(host_detect_local_cpu): Change feature flag variables to
unsigned int.  Initialize only extended feature flag variables.
Use __get_cpuid_max to determine max supported cpuid level.
Use __cpuid function to determine supported features.  Fix
calculation of family id.  Remove is_amd and check signature
directly.  Check for Geode signature.  Handle family 4 id.
[PROCESSOR_GENERIC32]: New default for unknown family id. Move
cpu discovery code to other part of the function.
[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
for sub-architecture.
[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
[PROCESSOR_K8]: Add k8-sse3 architecture.
[PROCESSOR_GENERIC64]: Remove.
* gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
* gcc/config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
to check for SSE and FXSAVE support.
* gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
Add -minline-all-stringops.
* gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
(x86_64-*-*): Ditto.

testsuite/ChangeLog:

* gcc.dg/i386-cpuid.h: Remove.
* gcc.target/i386/mmx-check.h: Include cpuid.h.  Use __get_cpuid.
* gcc.target/i386/sse-check.h: Ditto.
* gcc.target/i386/sse2-check.h: Ditto.
* gcc.target/i386/sse3-check.h: Ditto.
* gcc.target/i386/ssse3-check.h: Ditto.
* gcc.target/i386/sse4_1-check.h: Ditto.
* gcc.target/i386/sse4_2-check.h: Ditto.
* gcc.target/i386/sse4a-check.h: Ditto.
* gcc.dg/torture/pr16104-1.c: Ditto.
* gcc.target/i386/mmx-4.c: Do not use NOINLINE.
* gcc.target/i386/sse-6.c: Ditto.
* gcc.target/i386/sse-7.c: Ditto.
* g++.dg/other/i386-1.C: Include cpuid.h.
(main): New function.  Use __get_cpuid to check target fetaures.

libgomp/ChangeLog:

* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
(main): Use __get_cpuid to get i386 target fetaures.
* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
(main): Use __get_cpuid to get x86_64 target fetaures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128141 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/bfin/linux-unwind.h: New file.
jiez [Wed, 5 Sep 2007 16:23:42 +0000 (16:23 +0000)]
* config/bfin/linux-unwind.h: New file.
* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128140 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
lauras [Wed, 5 Sep 2007 15:50:41 +0000 (15:50 +0000)]
2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

* Makefile.in (stmt.o): Add alloc-pool.h dependency.
* stmt.c: Include alloc-pool.h.
(struct case_node): Remove GTY marker.
(add_case_node): New parameter case_node_pool.  Use it for
allocation of r.
(expand_case): New allocation pool case_node_pool.  Initialize it,
pass to add_case_node and free it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128139 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 5 Sep 2007 14:59:03 +0000 (14:59 +0000)]
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/char_length_10.f90: Correct typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128136 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Wed, 5 Sep 2007 14:46:25 +0000 (14:46 +0000)]
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

gcc/testsuite/
* gcc.c-torture/compile/mipscop-1.c: Add nomips16 attributes.
* gcc.c-torture/compile/mipscop-2.c: Likewise.
* gcc.c-torture/compile/mipscop-3.c: Likewise.
* gcc.c-torture/compile/mipscop-4.c: Likewise.
* gcc.dg/torture/mips-hilo-1.c: Likewise.
* gcc.dg/torture/mips-hilo-2.c: Likewise.
* gcc.dg/torture/pr19683-1.c: Likewise.
* gcc.target/mips/madd-3.c: Likewise.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/asm-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/ins-1.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/smartmips-lwxs.c: Likewise.
* gcc.target/mips/smartmips-ror-1.c: Likewise.
* gcc.target/mips/smartmips-ror-2.c: Likewise.
* gcc.target/mips/smartmips-ror-3.c: Likewise.
* gcc.target/mips/smartmips-ror-4.c: Likewise.
* gcc.target/mips/dspr2-MULT.c: Likewise.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
* gcc.target/mips/mips32-dsp-run.c: Likewise.
* gcc.target/mips/mips32-dspr2-type.c: Likewise.
* gcc.target/mips/code-readable-1.c: Add mips16 attributes.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128135 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Wed, 5 Sep 2007 14:40:04 +0000 (14:40 +0000)]
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

Add mips16/nomips16 function attributes and -mflip-mips16 option
for testing mixed-mode compilation.

gcc/

* config/mips/mips.opt (mflip-mips16): New.

* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
(SYMBOL_FLAG_MIPS16_FUNC_P): Define.

* config/mips/mips.c (mips_base_target_flags): New.
(mips_base_mips16): New.
(mips_base_schedule_insns): New.
(mips_base_reorder_blocks_and_partition): New.
(mips_base_align_loops): New.
(mips_base_align_jumps): New.
(mips_base_align_functions): New.
(mips16_flipper): New.
(mips_attribute_table): Add "mips16" and "nomips16" entries.
(TARGET_SET_CURRENT_FUNCTION): Define.
(mips_mips16_type_p, mips_nomips16_type_p): New.
(mips_comp_type_attributes): Check mips16/nomips16 attributes.
(mips_function_ok_for_sibcall): Make it deal with functions with
mips16 attributes.
(mips_init_split_addresses): New, split out from override_options.
(mips_init_relocs): New, split out from override_options.
(was_mips16_p): New.
(mips_set_mips16_mode): New, split out from override_options.
(mips_set_current_function): New.
(override_options):  Add sorry for unsupported mips16/pic
combination.  Remove error for mips16/dsp combination. Save
base option settings.
(mips_file_start): Move mips16 mode setting output from here....
(mips_output_function_prologue): ....to here.
(mips_output_mi_thunk): Check for mips16 function.
(build_mips16_function_stub): Don't set .mips16 here.
(build_mips16_call_stub): Likewise.
(mips_expand_builtin): Error in mips16 mode.
(mips_use_mips16_mode_p): New.
(mips_encode_section_info): Check for mips16 function, and set
SYMBOL_REF_FLAGS accordingly.

* doc/extend.texi (Function Attributes): Document new
mips16/nomips16 attributes.
* doc/invoke.texi (Option Summary): Add -mflip-mips16.
(MIPS Options): Document -mflip-mips16.

gcc/testsuite/
* gcc.target/mips/mips16-attributes.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128134 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Wed, 5 Sep 2007 14:33:48 +0000 (14:33 +0000)]
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.c (mips_legitimize_tls_address): Call sorry
if we encounter TLS address in MIPS16 mode.
(mips_legitimize_const_move):  Check cannot_force_const_mem for
the (const (plus symbol offset)) case; this forces invalid TLS
address in MIPS16 mode to be caught by the above call to sorry.
(override_options): Don't reset targetm.have_tls in MIPS16 mode,
because that now enables emutls, which is not ABI compatible
with native TLS in non-MIPS16 mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128133 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Wed, 5 Sep 2007 14:24:54 +0000 (14:24 +0000)]
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
Add target hook invoked when cfun changes.

* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
* target.h (struct gcc_target): Add set_current_function.
* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
(TARGET_INITIALIZER): Add initializer for set_current_function.
* tree.h (push_struct_function): New.
* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
* function.h: Here.
(set_cfun): Declare.
* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
* function.c:  Here.
(push_function_context_to): Use allocate_struct_function
to create null context, not init_dummy_function_start.  Use set_cfun.
(pop_function_context_from): Use set_cfun.
(in_dummy_function): New.
(invoke_set_current_function_hook): New.
(set_cfun): New.
(push_cfun, pop_cfun): Use set_cfun.
(push_struct_function): New.
(allocate_struct_function): Call invoke_set_current_function_hook
before returning.
(prepare_function_start): Don't set cfun here.  Remove unused
argument; fix all callers.
(init_dummy_function_start): Fiddle with in_dummy_function.  Call
push_struct_function.
(init_function_start): Set cfun here.
(expand_dummy_function_end): Fiddle with in_dummy_function.  Pop cfun.
* omp-low.c (create_omp_child_function): Use push_struct_function
and pop_cfun to save/restore state.
(expand_omp_parallel): Remove unused saved_cfun variable.
* cgraphunit.c (ipa_passes): Use set_cfun.
* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
* dwarf2out.c (dwarf2out_abstract_function): Likewise.
* matrix-reorg.c (transform_allocation_sites): Likewise.
(matrix_reorg): Use set_cfun.
* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
assignment to cfun; use set_cfun for the other.
* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
(dump_function_to_file): Use push_cfun/pop_cfun here.
* c-decl.c (finish_function): Use set_cfun.

gcc/ada/
* trans.c (Compilation_unit_to_gnu): Use set_cfun.
* utils.c (end_subprog_body): Likewise.

gcc/cp/
* decl.c (finish_function): Use set_cfun.
* method.c (use_thunk): Likewise.

gcc/fortran/
* trans-decl.c (build_entry_thunks): Use set_cfun.
(gfc_generate_function_code): Likewise.

gcc/java/
* decl.c (finish_method): Use set_cfun.

gcc/treelang/
* treetree.c (tree_code_create_function_wrapup):  Use set_cfun.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128132 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Sep 2007 14:10:07 +0000 (14:10 +0000)]
2007-09-05  Richard Guenther  <rguenther@suse.de>

* configure.ac (--enable-stage1-checking): If neither --enable-checking
nor --disable-checking is provided also turn on yes and types
checking for stage1.
* configure: Re-generate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128131 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 5 Sep 2007 13:34:25 +0000 (13:34 +0000)]
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31564
* primary.c (gfc_match_rvalue): Make expressions that refer
to derived type parameters that have array references into
variable expressions.  Remove references to use association
from the symbol.

PR fortran/33241
* decl.c (add_init_expr_to_sym): Provide assumed character
length parameters with the length of the initialization
expression, if a constant, or that of the first element of
an array.

2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31564
* gfortran.dg/derived_comp_array_ref_2.f90: New test.

PR fortran/33241
* gfortran.dg/char_length_10.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128130 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2007-09-05 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Wed, 5 Sep 2007 13:23:32 +0000 (13:23 +0000)]
2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>

* regrename.c (rerename_optimize):  Use deferred rescanning and
insert explicit calls to rescan insns when changed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128129 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * optabs.c (libfunc_entry): Change optab to integer.
hubicka [Wed, 5 Sep 2007 10:51:34 +0000 (10:51 +0000)]
* optabs.c (libfunc_entry): Change optab to integer.
(hash_libfunc, convert_optab_libfunc, optab_libfunc,
set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
of pointers for hashing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128128 138bc75d-0d04-0410-961f-82ee72b054a4