gcc.git
15 years ago* compare-debug: Don't fail just because of .eh_frame differences.
Alexandre Oliva [Tue, 2 Jun 2009 08:11:31 +0000 (08:11 +0000)]
* compare-debug: Don't fail just because of .eh_frame differences.

From-SVN: r148079

15 years agocfgexpand.c (gimple_expand_cfg): Discard the source location only for builtins that...
Alexandre Oliva [Tue, 2 Jun 2009 08:10:53 +0000 (08:10 +0000)]
cfgexpand.c (gimple_expand_cfg): Discard the source location only for builtins that are not overridden.

* cfgexpand.c (gimple_expand_cfg): Discard the source location
only for builtins that are not overridden.

From-SVN: r148078

15 years agogengtype.c (adjust_field_rtx_def): Add NOTE_INSN_DELETED_LABEL's label string.
Alexandre Oliva [Tue, 2 Jun 2009 08:09:27 +0000 (08:09 +0000)]
gengtype.c (adjust_field_rtx_def): Add NOTE_INSN_DELETED_LABEL's label string.

* gengtype.c (adjust_field_rtx_def): Add NOTE_INSN_DELETED_LABEL's
label string.

From-SVN: r148077

15 years ago* df-core.c (df_ref_debug): Honor -fdump-noaddr.
Alexandre Oliva [Tue, 2 Jun 2009 08:08:57 +0000 (08:08 +0000)]
* df-core.c (df_ref_debug): Honor -fdump-noaddr.

From-SVN: r148076

15 years ago* combine.c (move_deaths): Compare LUIDs within the same BB only.
Alexandre Oliva [Tue, 2 Jun 2009 08:08:13 +0000 (08:08 +0000)]
* combine.c (move_deaths): Compare LUIDs within the same BB only.

From-SVN: r148075

15 years agocommon.opt (fdump-unnumbered-links): New.
Alexandre Oliva [Tue, 2 Jun 2009 08:07:13 +0000 (08:07 +0000)]
common.opt (fdump-unnumbered-links): New.

* common.opt (fdump-unnumbered-links): New.
* doc/invoke.texi (-fdump-unnumbered-links): Document it.
* print-rtl.c (flag_dump_unnumbered_links): New.
(print_rtx): Test it.

From-SVN: r148074

15 years agoarm.c (arm_get_frame_offsets): Prefer using r3 for padding a push/pop multiple to...
Richard Earnshaw [Tue, 2 Jun 2009 07:47:09 +0000 (07:47 +0000)]
arm.c (arm_get_frame_offsets): Prefer using r3 for padding a push/pop multiple to 8-byte alignment.

* arm.c (arm_get_frame_offsets): Prefer using r3 for padding a
push/pop multiple to 8-byte alignment.

From-SVN: r148072

15 years agoFix nits
Eric Botcazou [Tue, 2 Jun 2009 07:21:27 +0000 (07:21 +0000)]
Fix nits

From-SVN: r148071

15 years agore PR c++/38089 (g++ crash on invalid code)
Simon Martin [Tue, 2 Jun 2009 05:37:17 +0000 (05:37 +0000)]
re PR c++/38089 (g++ crash on invalid code)

gcc/cp/

2009-06-02  Simon Martin  <simartin@users.sourceforge.net>

PR c++/38089
* pt.c (register_specialization): Properly setup DECL_CONTEXT for
specializations in an invalid namespace.

gcc/testsuite/

2009-06-02  Simon Martin  <simartin@users.sourceforge.net>

PR c++/38089
* g++.dg/template/spec36.C: New test.

From-SVN: r148069

15 years agoi386.c (queued_cfa_restores): New static variable.
Jakub Jelinek [Mon, 1 Jun 2009 19:49:57 +0000 (21:49 +0200)]
i386.c (queued_cfa_restores): New static variable.

* config/i386/i386.c (queued_cfa_restores): New static variable.
(ix86_add_cfa_restore_note, ix86_add_queued_cfa_restore_notes): New
functions.
(pro_epilogue_adjust_stack): Call ix86_add_queued_cfa_restore_notes.
(ix86_emit_restore_reg_using_pop): Add RED_OFFSET argument.
Set RTX_FRAME_RELATED_P immediately after adding a REG_CFA_* note.
Call ix86_add_cfa_restore_note instead of adding REG_CFA_OFFSET
note unconditionally.
(ix86_emit_restore_regs_using_mov): Likewise.
(ix86_emit_restore_sse_regs_using_mov): Likewise.
(ix86_emit_restore_regs_using_pop): Add RED_OFFSET argument, pass
it through to ix86_emit_restore_reg_using_pop.
(ix86_emit_leave): Add RED_OFFSET argument.  Call
ix86_add_queued_cfa_restore_notes.  Call ix86_add_cfa_restore_note
instead of adding REG_CFA_OFFSET note unconditionally.
(ix86_expand_epilogue): Compute RED_OFFSET, pass it down to
the above functions.  Call ix86_add_queued_cfa_restore_notes when
needed.

From-SVN: r148067

15 years agodwarf2out.c (dwarf2out_cfi_label): Add FORCE argument...
Jakub Jelinek [Mon, 1 Jun 2009 19:43:24 +0000 (21:43 +0200)]
dwarf2out.c (dwarf2out_cfi_label): Add FORCE argument...

* dwarf2out.c (dwarf2out_cfi_label): Add FORCE argument, if true,
force output of the label even for dwarf2out_do_cfi_asm.
(add_fde_cfi): If -g2 and above and cfi might change CFA,
force creation of CFI label and chain DW_CFA_set_loc jumping to it
for convert_cfa_to_fb_loc_list.  Adjust other dwarf2out_cfi_label
caller.
(dwarf2out_stack_adjust, dwarf2out_frame_debug,
dwarf2out_begin_epilogue, dwarf2out_frame_debug_restore_state): Adjust
dwarf2out_cfi_label callers.
* tree.h (dwarf2out_cfi_label): Adjust prototype.
* config/arm/arm.c (thumb_pushpop, thumb1_output_function_prologue):
Adjust dwarf2out_cfi_label callers.
* config/vax/vax.c (vax_output_function_prologue): Likewise.

From-SVN: r148066

15 years agoi386.h (struct machine_cfa_state, [...]): Guard with ifndef USED_FOR_TARGET instead...
Jakub Jelinek [Mon, 1 Jun 2009 19:41:43 +0000 (21:41 +0200)]
i386.h (struct machine_cfa_state, [...]): Guard with ifndef USED_FOR_TARGET instead of not IN_LIBGCC2 and not in...

* config/i386/i386.h (struct machine_cfa_state,
struct machine_function): Guard with ifndef USED_FOR_TARGET
instead of not IN_LIBGCC2 and not in IN_TARGET_LIBS.

From-SVN: r148065

15 years agoconfigure.ac: Support gold for target arm*-*-*.
Doug Kwan [Mon, 1 Jun 2009 19:41:08 +0000 (19:41 +0000)]
configure.ac: Support gold for target arm*-*-*.

2009-06-01  Doug Kwan  <dougkwan@google.com>

* configure.ac: Support gold for target arm*-*-*.
* configure: Regenerate.

From-SVN: r148064

15 years agore PR other/40024 (trunk/gcc-4.3/gcc: * emutls.c (emutls_destroy): Don' t fall out...
Jakub Jelinek [Mon, 1 Jun 2009 18:03:26 +0000 (20:03 +0200)]
re PR other/40024 (trunk/gcc-4.3/gcc: * emutls.c (emutls_destroy): Don' t fall out of the array bound.)

PR other/40024
* emutls.c (__emutls_get_address): Change arr->size to mean number
of allocated arr->data entries instead of # of slots + 1.

From-SVN: r148061

15 years agore PR middle-end/40316 (Revision 147995 breaks gcc.target/i386/lea.c)
Jakub Jelinek [Mon, 1 Jun 2009 17:13:04 +0000 (19:13 +0200)]
re PR middle-end/40316 (Revision 147995 breaks gcc.target/i386/lea.c)

PR middle-end/40316
* recog.c (peep2_reinit_state): New function.
(peephole2_init_state): Use it at the end of a basic block and also
when seeing a RTX_FRAME_RELATED_P insn.

From-SVN: r148055

15 years agoia64.md (floatdirf2, [...]): New.
Steve Ellcey [Mon, 1 Jun 2009 16:46:42 +0000 (16:46 +0000)]
ia64.md (floatdirf2, [...]): New.

2009-06-01  Steve Ellcey  <sje@cup.hp.com>

* ia64.md (floatdirf2, fix_truncrfdi, floatunsdirf,
fixuns_truncrfdi2): New.
(fix_truncxfdi2_alts, fixuns_truncxfdi2_alts,
*nmaddsf4_alts, *nmadddf4_alts, *nmadddf4_truncsf_alts,
*mulxf3_alts, *mulxf3_truncsf_alts, *mulxf3_truncdf_alts,
*maddxf4_alts, *maddxf4_alts_truncsf, *maddxf4_alts_truncdf,
*nmaddxf4_alts, *nmaddxf4_truncsf_alts, *nmaddxf4_truncdf_alts,
*recip_approx): Remove.
(divsi3 modsi3, udivsi3, umodsi3, divsi3_internal, divdi3,
moddi3, udivdi3, umoddi3, divdi3_internal_lat, divdi3_internal_thr,
divsf3, sqrtsf2, divdf3, sqrtdf2, divxf3, sqrtxf2): Modify and
move to div.md.
* div.md (fix_truncrfdi2_alts, fixuns_truncrfdi2_alt,
setf_exp_rf): New.

From-SVN: r148054

15 years agoattribs.c (register_attribute): Use CONST_CAST.
Ian Lance Taylor [Mon, 1 Jun 2009 16:35:01 +0000 (16:35 +0000)]
attribs.c (register_attribute): Use CONST_CAST.

./: * attribs.c (register_attribute): Use CONST_CAST.
* collect2.c (main): Use CONST_CAST2.
(scan_prog_file): Likewise.
* gcc.c (process_command, main): Likewise.
* toplev.c (toplev_main): Likewise.

* c-typeck.c (handle_warn_cast_qual): New static function,
partially broken out of build_c_cast.
(build_c_cast): Call handle_warn_cast_qual.
* doc/invoke.texi (Warning Options): Document new effect of
-Wcast-qual.
./java: * jcf-io.c (find_class): Use CONST_CAST.
./testsuite: * gcc.dg/cast-qual-3.c: New testcase.
* g++.dg/warn/Wcast-qual2.C: New testcase.

From-SVN: r148053

15 years agodiagnostic.c (diagnostic_build_prefix): Always print columns.
Aldy Hernandez [Mon, 1 Jun 2009 16:09:33 +0000 (16:09 +0000)]
diagnostic.c (diagnostic_build_prefix): Always print columns.

gcc/
* diagnostic.c (diagnostic_build_prefix): Always print columns.
(diagnostic_report_current_module): Print columns.
* common.opt (flag_show_column): Enable by default.
gcc/testsuite/
* lib/gcc-dg.exp (dg-bogus): Override dg-bogus.
(process-message): Expect column numbers.
* gcc.dg/va-arg-2.c: Use line 0 to indicate no column.
* gcc.dg/pch/counter-2.c: Same.
* gcc.dg/pch/valid-2.c: Same.
* gcc.dg/pch/warn-1.c: Same.
* gcc.dg/pch/valid-1.c: Same.
* gcc.dg/cpp/include2a.c: Handle lack of columns.
* gcc.dg/cpp/syshdr.c: Same.
* gcc.dg/cpp/19940712-1.c: Same.
* gcc.dg/cpp/missing-header-1.c: Same.
* gcc.dg/cpp/unc4.c: Remove -fno-show-column.
* gcc.dg/cpp/tr-warn3.c: Same.
* gcc.dg/cpp/pr29612-2.c: Same.
* gcc.dg/cpp/tr-warn4.c: Same.
* gcc.dg/cpp/Wtrigraphs.c: Same.
* gcc.dg/cpp/poison.c: Same.
* gcc.dg/cpp/arith-3.c: Same.
* gcc.dg/cpp/sysmac2.c: Same.
* gcc.dg/cpp/cpp.exp: Same.
* gcc.dg/cpp/tr-warn5.c: Same.
* gcc.dg/cpp/include2.c: Same.
* gcc.dg/cpp/Wmissingdirs.c: Same.
* gcc.dg/cpp/Wmissingdirs.c: Same.
* gcc.dg/cpp/tr-warn6.c: Same.
* gcc.dg/cpp/Wtrigraphs-2.c: Same.
* gcc.dg/cpp/macspace1.c: Same.
* gcc.dg/cpp/escape-2.c: Same.
* gcc.dg/cpp/assert2.c: Same.
* gcc.dg/cpp/undef2.c: Same.
* gcc.dg/cpp/macspace2.c: Same.
* gcc.dg/cpp/tr-warn1.c: Same.
* gcc.dg/cpp/extratokens2.c: Same.
* gcc.dg/cpp/strify2.c: Same.
* gcc.dg/cpp/Wsignprom.c: Same.
* gcc.dg/cpp/redef2.c: Same.
* gcc.dg/cpp/trad/trad.exp: Same.
* gcc.dg/cpp/arith-1.c: Same.
* gcc.dg/cpp/extratokens.c: Same.
* gcc.dg/cpp/if-mpar.c: Same.
gcc/cp/
* error.c (print_instantiation_partial_context): Print column
numbers.
libcpp/
* include/line-map.h (LAST_SOURCE_COLUMN): New.

From-SVN: r148052

15 years agocpp-id-data.h: Add extern "C".
Ian Lance Taylor [Mon, 1 Jun 2009 15:37:03 +0000 (15:37 +0000)]
cpp-id-data.h: Add extern "C".

* include/cpp-id-data.h: Add extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.

From-SVN: r148051

15 years agoutils.c (convert): When converting to the packable version of the type...
Olivier Hainque [Mon, 1 Jun 2009 15:27:59 +0000 (15:27 +0000)]
utils.c (convert): When converting to the packable version of the type...

ada/
* gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
on the result if at least one of the input fields couldn't be output
as a static constant any more.

testsuite/
* gnat.dg/nested_float_packed.ads: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r148049

15 years agoAdd missing blanks after dots in entry.
Olivier Hainque [Mon, 1 Jun 2009 15:25:19 +0000 (15:25 +0000)]
Add missing blanks after dots in entry.

From-SVN: r148048

15 years agoalias.c (find_base_term): Check for NULL term before returning.
Luis Machado [Mon, 1 Jun 2009 15:20:20 +0000 (15:20 +0000)]
alias.c (find_base_term): Check for NULL term before returning.

2009-06-01  Luis Machado  <luisgpm@br.ibm.com>

* alias.c (find_base_term): Check for NULL term before returning.

From-SVN: r148047

15 years agoRevert due to PR40320:
Maxim Kuvyrkov [Mon, 1 Jun 2009 14:45:18 +0000 (14:45 +0000)]
Revert due to PR40320:

2009-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
* calls.c (emit_library_call_value_1): Don't force_operand for move
and push insns.

From-SVN: r148046

15 years agotree.h (CONSTRUCTOR_BITFIELD_P): True if NODE...
Olivier Hainque [Mon, 1 Jun 2009 14:42:56 +0000 (14:42 +0000)]
tree.h (CONSTRUCTOR_BITFIELD_P): True if NODE...

* tree.h (CONSTRUCTOR_BITFIELD_P): True if NODE, a FIELD_DECL, is
to be processed as a bitfield for constructor output purposes.
* output.h (initializer_constant_valid_for_bitfield_p): Declare
new function.
* varasm.c (oc_local_state): New type, output_constructor
local state to support communication with helpers.
(oc_outer_state): New type, output_constructor outer state of
relevance in recursive calls.
(output_constructor_array_range): New output_constructor helper,
extracted code for an array range element.
(output_constructor_regular_field): New output_constructor helper,
extracted code for an element that is not a bitfield.
(output_constructor_bitfield): New output_constructor helper,
extracted code for a bitfield element.  Accept an OUTER state
argument for recursive processing.  Recurse on record or array
CONSTRUCTOR values, possibly past noop conversions.
(initializer_constant_valid_for_bitfield_p): New predicate. Whether
VALUE is a valid constant-valued expression for use in a static
bit-field initializer.
(output_constructor): Rework to use helpers. Accept and honor an
OUTER state argument for recursive calls. Return total size. Be
prepared for nested constructors initializing bitfields.
(output_constant): Feed OUTER in calls to output_constructor.

ada/
* gcc-interface/utils2.c (gnat_build_constructor): Factor
out code. Use initializer_constant_valid_for_bitfield_p and
CONSTRUCTOR_BITFIELD_P for bit-fields.

testsuite/
* gnat.dg/oconst[1-6].ad[bs]: New tests. Also support for ...
* gnat.dg/test_oconst.adb: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r148045

15 years agocalls.c (emit_library_call_value_1): Don't force_operand for move and push insns.
Maxim Kuvyrkov [Mon, 1 Jun 2009 11:18:29 +0000 (11:18 +0000)]
calls.c (emit_library_call_value_1): Don't force_operand for move and push insns.

* calls.c (emit_library_call_value_1): Don't force_operand for move
and push insns.

From-SVN: r148039

15 years ago* doc/invoke.texi (IA-64 Options): Fix typo.
Nick Clifton [Mon, 1 Jun 2009 09:01:10 +0000 (09:01 +0000)]
* doc/invoke.texi (IA-64 Options): Fix typo.

From-SVN: r148037

15 years agore PR tree-optimization/39129 (The meaning of 'BB' in "too many BBs in loop")
Ira Rosen [Mon, 1 Jun 2009 08:15:01 +0000 (08:15 +0000)]
re PR tree-optimization/39129 (The meaning of 'BB' in "too many BBs in loop")

PR tree-optimization/39129
* tree-vect-loop-manip.c (conservative_cost_threshold): Change the
printed message.
(vect_do_peeling_for_loop_bound): Use
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
(vect_loop_versioning): Likewise.
(vect_create_cond_for_alias_checks): Fix indentation.
* tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the
macros.
(LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT): Define.
(LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Likewise.
* tree-vect-loop.c (vect_analyze_loop_form): Change "too many BBs" to
"control flow in loop".
(vect_estimate_min_profitable_iters): Use
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
(vect_create_data_ref_ptr): Don't mention array dimension in printing.
* tree-vect-stmts.c (vectorizable_store): Replace the check that the
statement belongs to a group of strided accesses with the exact code
check.
(vectorizable_load): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Spell out "basic block".
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.

From-SVN: r148036

15 years agore PR fortran/40309 (gfortran does not support static c/d-tors.)
Tobias Burnus [Mon, 1 Jun 2009 07:00:35 +0000 (09:00 +0200)]
re PR fortran/40309 (gfortran does not support static c/d-tors.)

2009-06-01  Tobias Burnus  <burnus@net-b.de>

       PR fortran/40309
       * trans-decl.c (gfc_sym_identifier): Use "MAIN__" for PROGRAM "main".
       (create_main_function): Set main_identifier_node.

From-SVN: r148035

15 years agoansidecl.h: Add extern "C" when compiling with C++.
Ian Lance Taylor [Mon, 1 Jun 2009 05:47:20 +0000 (05:47 +0000)]
ansidecl.h: Add extern "C" when compiling with C++.

* ansidecl.h: Add extern "C" when compiling with C++.  Treat C++
the way we treat an ISO C compiler.  Don't define inline as a
macdro when compiling with C++.
* dyn-string.h: Add header guard DYN_STRING_H.  Add extern "C"
when compiling with C++.
* fibheap.h: Add extern "C" when compiling with C++.

From-SVN: r148032

15 years agodecContext.h: Add extern "C" if compiling with C++.
Ian Lance Taylor [Mon, 1 Jun 2009 05:28:42 +0000 (05:28 +0000)]
decContext.h: Add extern "C" if compiling with C++.

* decContext.h: Add extern "C" if compiling with C++.
* decDPD.h: Likewise.
* decNumber.h: Likewise.
* dpd/decimal32.h: Likewise.
* dpd/decimal64.h: Likewise.
* dpd/decimal128.h: Likewise.

From-SVN: r148030

15 years agofreebsd-stdint.h: New file.
Gerald Pfeifer [Mon, 1 Jun 2009 03:03:37 +0000 (03:03 +0000)]
freebsd-stdint.h: New file.

* config/freebsd-stdint.h: New file.
* config.gcc (*-*-freebsd): Set use_gcc_stdint=wrap.
Add freebsd-stdint.h to tm_file.

From-SVN: r148027

15 years agothumb2.md (thumb2_zero_extendhidi2): New insn and split.
Richard Earnshaw [Mon, 1 Jun 2009 00:23:52 +0000 (00:23 +0000)]
thumb2.md (thumb2_zero_extendhidi2): New insn and split.

* arm/thumb2.md (thumb2_zero_extendhidi2): New insn and split.
(thumb2_extendhidi2): Likewise.

From-SVN: r148026

15 years agoDaily bump.
GCC Administrator [Mon, 1 Jun 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148025

15 years agoregstat.c (regstat_n_sets_and_refs): Remove duplicate definition.
Ian Lance Taylor [Sun, 31 May 2009 23:11:51 +0000 (23:11 +0000)]
regstat.c (regstat_n_sets_and_refs): Remove duplicate definition.

* regstat.c (regstat_n_sets_and_refs): Remove duplicate
definition.

From-SVN: r148021

15 years agoMakefile.in (except.o): Depent upon gt-except.h, not gt-$(EXCEPT_H).
Ian Lance Taylor [Sun, 31 May 2009 22:34:00 +0000 (22:34 +0000)]
Makefile.in (except.o): Depent upon gt-except.h, not gt-$(EXCEPT_H).

* Makefile.in (except.o): Depent upon gt-except.h, not
gt-$(EXCEPT_H).
(ipa-cp.o): Depend upon $(FIBHEAP_H) and $(PARAMS_H).
(ipa-reference.o): Depend upon gt-ipa-reference.h.

From-SVN: r148020

15 years agotree-pretty-print.c (print_call_name): Take the callee, not the call itself.
Jason Merrill [Sun, 31 May 2009 22:01:38 +0000 (18:01 -0400)]
tree-pretty-print.c (print_call_name): Take the callee, not the call itself.

* tree-pretty-print.c (print_call_name): Take the callee, not the
call itself.  Make non-static.  Use dump_function_name for
functions.
(dump_generic_node): Adjust.
* diagnostic.h: Declare print_call_name.
* gimple-pretty-print.c (dump_gimple_call): Use it.

From-SVN: r148019

15 years agosh.md (ashldi3_std): New define_expand.
Kaz Kojima [Sun, 31 May 2009 21:48:01 +0000 (21:48 +0000)]
sh.md (ashldi3_std): New define_expand.

* config/sh/sh.md (ashldi3_std): New define_expand.
(ashldi3): Use it.

From-SVN: r148018

15 years agore PR target/40313 (SH: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2689)
Kaz Kojima [Sun, 31 May 2009 21:45:18 +0000 (21:45 +0000)]
re PR target/40313 (SH: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2689)

PR target/40313
* config/sh/sh.c: Include debug.h.
(sh_expand_epilogue): Emit a blockage insn before the frame
pointer adjustment also when dwarf2out_do_frame returns true.

From-SVN: r148017

15 years agoggcplug.c: moved comment.
Basile Starynkevitch [Sun, 31 May 2009 14:59:41 +0000 (14:59 +0000)]
ggcplug.c: moved comment.

2009-05-31  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/testsuite/gcc.dg/plugin/ggcplug.c: moved comment.
(plugin_init): fixed typo, declared i, returned 0 at end.

[also moved an entry from gcc/ChangeLog to gcc/testsuite/ChangeLog]

From-SVN: r148015

15 years agothumb2.md (thumb2_extendsidi2): Add a split sub-pattern.
Richard Earnshaw [Sun, 31 May 2009 14:09:12 +0000 (14:09 +0000)]
thumb2.md (thumb2_extendsidi2): Add a split sub-pattern.

* arm/thumb2.md (thumb2_extendsidi2): Add a split sub-pattern.
(thumb2_extendqidi2): New pattern.

From-SVN: r148014

15 years agotree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't mark phis for...
Ira Rosen [Sun, 31 May 2009 10:43:38 +0000 (10:43 +0000)]
tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't mark phis for renaming.

* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
mark phis for renaming.
* tree-vectorizer.c (vect_memsyms_to_rename): Remove.
(vectorize_loops): Don't allocate and free vect_memsyms_to_rename.
Call mark_sym_for_renaming.
* tree-vectorizer.h (vect_memsyms_to_rename): Remove.
* tree-vect-loop.c (vect_transform_loop): Remove vect_memsyms_to_rename
initialization and a call to mark_set_for_renaming.

From-SVN: r148013

15 years agore PR middle-end/40304 (Revision 147995 breaks stack unwind)
Jakub Jelinek [Sun, 31 May 2009 09:36:17 +0000 (11:36 +0200)]
re PR middle-end/40304 (Revision 147995 breaks stack unwind)

PR middle-end/40304
* config/i386/i386.c (pro_epilogue_adjust_stack): Mark insns
frame related even if !set_cfa && style < 0.

From-SVN: r148011

15 years agore PR testsuite/40244 (Revision 147829 caused extra failures)
Ira Rosen [Sun, 31 May 2009 06:55:37 +0000 (06:55 +0000)]
re PR testsuite/40244 (Revision 147829 caused extra failures)

PR testsuite/40244
* gcc.dg/vect/bb-slp-4.c: Change the number of data accesses to 2.
* gcc.dg/vect/bb-slp-10.c: Change the store misalignment to 1.

From-SVN: r148010

15 years agoDaily bump.
GCC Administrator [Sun, 31 May 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148009

15 years agoReformat.
H.J. Lu [Sat, 30 May 2009 13:35:32 +0000 (06:35 -0700)]
Reformat.

From-SVN: r148003

15 years agomingw-tls.c: New file.
Kai Tietz [Sat, 30 May 2009 09:05:56 +0000 (09:05 +0000)]
mingw-tls.c: New file.

2009-05-30  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/mingw-tls.c: New file.
        * config/i386/t-gthr-win32 (LIB2FUNCS_EXTRA): Add
        mingw-tls.c file.
        * gthr-win32.h (MINGW32_SUPPORTS_MT_EH): Define
        it for targets defining _WIN32 but not __CYGWIN__.

From-SVN: r148000

15 years agosnprintf.c: Doc fix.
Eli Zaretskii [Sat, 30 May 2009 05:17:14 +0000 (05:17 +0000)]
snprintf.c: Doc fix.

* snprintf.c: Doc fix.

* vsnprintf.c: Doc fix.

From-SVN: r147998

15 years agoMakefile.def: Add MPC support and dependencies.
Kaveh R. Ghazi [Sat, 30 May 2009 00:43:36 +0000 (00:43 +0000)]
Makefile.def: Add MPC support and dependencies.

* Makefile.def: Add MPC support and dependencies.
* configure.ac: Likewise.  Reorganize GMP/MPFR checks.

* Makefile.in, configure: Regenerate.

gcc:
* configure.ac: Add MPC support.

* config.in, configure: Regenerate.

From-SVN: r147996

15 years agocfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK.
Richard Henderson [Sat, 30 May 2009 00:33:46 +0000 (17:33 -0700)]
cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK.

* cfgcleanup.c (try_crossjump_to_edge): Only skip past
NOTE_INSN_BASIC_BLOCK.
* cfglayout.c (duplicate_insn_chain): Copy epilogue insn marks.
Duplicate NOTE_INSN_EPILOGUE_BEG notes.
* cfgrtl.c (can_delete_note_p): Allow NOTE_INSN_EPILOGUE_BEG
to be deleted.
* dwarf2out.c (struct cfa_loc): Change indirect field to bitfield,
add in_use field.
(add_cfi): Disable check redefining cfa away from drap.
(lookup_cfa_1): Add remember argument; handle remember/restore.
(lookup_cfa): Pass remember argument.
(cfa_remember): New.
(compute_barrier_args_size_1): Remove sibcall check.
(dwarf2out_frame_debug_def_cfa): New.
(dwarf2out_frame_debug_adjust_cfa): New.
(dwarf2out_frame_debug_cfa_offset): New.
(dwarf2out_frame_debug_cfa_register): New.
(dwarf2out_frame_debug_cfa_restore): New.
(dwarf2out_frame_debug): Handle REG_CFA_* notes.
(dwarf2out_begin_epilogue): New.
(dwarf2out_frame_debug_restore_state): New.
(dw_cfi_oprnd1_desc): Handle DW_CFA_remember_state,
DW_CFA_restore_state.
(output_cfi_directive): Likewise.
(convert_cfa_to_fb_loc_list): Likewise.
(dw_cfi_oprnd1_desc): Handle DW_CFA_restore.
* dwarf2out.h: Update.
* emit-rtl.c (try_split): Don't split RTX_FRAME_RELATED_P.
(copy_insn_1): Early out for null.
* final.c (final_scan_insn): Call dwarf2out_begin_epilogue
and dwarf2out_frame_debug_restore_state.
* function.c (prologue, epilogue, sibcall_epilogue): Remove.
(prologue_insn_hash, epilogue_insn_hash): New.
(free_after_compilation): Adjust freeing accordingly.
(record_insns): Create hash table if needed; push insns into
hash instead of array.
(maybe_copy_epilogue_insn): New.
(contains): Search hash table instead of array.
(sibcall_epilogue_contains): Remove.
(thread_prologue_and_epilogue_insns): Split eh_return insns
and mark them as epilogues.
(reposition_prologue_and_epilogue_notes): Rewrite epilogue
scanning in terms of basic blocks.
* insn-notes.def (CFA_RESTORE_STATE): New.
* jump.c (returnjump_p_1): Accept EH_RETURN.
(eh_returnjump_p_1, eh_returnjump_p): New.
* reg-notes.def (CFA_DEF_CFA, CFA_ADJUST_CFA, CFA_OFFSET,
CFA_REGISTER, CFA_RESTORE): New.
* rtl.def (EH_RETURN): New.
* rtl.h (eh_returnjump_p, maybe_copy_epilogue_insn): Declare.

* config/bfin/bfin.md (UNSPEC_VOLATILE_EH_RETURN): Remove.
(eh_return_internal): Use eh_return rtx; split w/ epilogue.

* config/i386/i386.c (gen_push): Update cfa state.
(pro_epilogue_adjust_stack): Add set_cfa argument.  When true,
add a CFA_ADJUST_CFA note.
(ix86_dwarf_handle_frame_unspec): Remove.
(ix86_expand_prologue): Update cfa state.
(ix86_emit_restore_reg_using_pop): New.
(ix86_emit_restore_regs_using_pop): New.
(ix86_emit_leave): New.
(ix86_emit_restore_regs_using_mov): Add CFA_RESTORE notes.
(ix86_expand_epilogue): Add notes for unwinding the epilogue.
* config/i386/i386.h (struct machine_cfa_state): New.
(ix86_cfa_state): New.
* config/i386/i386.md (UNSPEC_EH_RETURN): Remove.
(eh_return_internal): Merge from eh_return_<mode>,
use eh_return rtx, split w/ epilogue.

From-SVN: r147995

15 years agoDaily bump.
GCC Administrator [Sat, 30 May 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147994

15 years agobuiltins.c (validate_gimple_arglist): Don't use va_arg with enum type.
Ian Lance Taylor [Fri, 29 May 2009 22:45:54 +0000 (22:45 +0000)]
builtins.c (validate_gimple_arglist): Don't use va_arg with enum type.

./: * builtins.c (validate_gimple_arglist): Don't use va_arg with
enum type.
* calls.c (emit_library_call_value_1): Likewise.

* c-typeck.c (c_build_va_arg): New function.
* c-tree.h (c_build_va_arg): Declare.
* c-parser.c (c_parser_postfix_expression): Call c_build_va_arg
instead of build_va_arg.
cp/:
* error.c (cp_printer): Don't use va_arg with enum type.
testsuite/:
* gcc.dg/Wcxx-compat-11.c: New testcase.

From-SVN: r147989

15 years agoinclhack.def (solaris_int_const): New fix.
Eric Botcazou [Fri, 29 May 2009 22:07:30 +0000 (22:07 +0000)]
inclhack.def (solaris_int_const): New fix.

* inclhack.def (solaris_int_const): New fix.
(solaris_int_limits_1): Likewise.
(solaris_int_limits_2): Likewise.
* fixincl.x: Regenerate.
* tests/base/sys/int_const.h: New file.
* tests/base/sys/int_limits.h: Likewise.

From-SVN: r147988

15 years agore PR fortran/40019 (LEADZ and TRAILZ give wrong results)
Francois-Xavier Coudert [Fri, 29 May 2009 21:27:54 +0000 (21:27 +0000)]
re PR fortran/40019 (LEADZ and TRAILZ give wrong results)

2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * trans-types.c (gfc_build_uint_type): Make nonstatic.
        * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New
        * prototypes.
        * trans-types.h (gfc_build_uint_type): Add prototype.
        * trans-decl.c (gfc_build_intrinsic_function_decls): Build
        gfor_fndecl_clz128 and gfor_fndecl_ctz128.
        * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
        gfc_conv_intrinsic_trailz): Call the right builtins or library
        functions, and cast arguments to unsigned types first.
        * simplify.c (gfc_simplify_leadz): Deal with negative arguments.

2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * intrinsics/bit_intrinsics.c: New file.
        * gfortran.map (GFORTRAN_1.2): New list.
        * Makefile.am: Add intrinsics/bit_intrinsics.c.
        * Makefile.in: Regenerate.

2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * gfortran.dg/leadz_trailz_1.f90: New test.
        * gfortran.dg/leadz_trailz_2.f90: New test.

From-SVN: r147987

15 years agoFix PR40190; use localtime_r, gmtime_r, add fallback implementations
Janne Blomqvist [Fri, 29 May 2009 20:56:20 +0000 (23:56 +0300)]
Fix PR40190; use localtime_r, gmtime_r, add fallback implementations

From-SVN: r147985

15 years agopex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
Kai Tietz [Fri, 29 May 2009 20:20:40 +0000 (20:20 +0000)]
pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.

2009-05-29  Kai Tietz  <kai.tietz@onevision.com>

        * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.

From-SVN: r147984

15 years agotree-ssa-loop-ivopts.c (strip_offset_1): New case.
Eric Botcazou [Fri, 29 May 2009 19:25:04 +0000 (19:25 +0000)]
tree-ssa-loop-ivopts.c (strip_offset_1): New case.

* tree-ssa-loop-ivopts.c (strip_offset_1) <MULT_EXPR>: New case.
(force_expr_to_var_cost) <NEGATE_EXPR>: Likewise.
(ptr_difference_cost): Use affine combinations to compute it.
(difference_cost): Likewise.
(get_computation_cost_at): Compute more accurate cost for addresses
if the ratio is a multiplier allowed in addresses.
For non-addresses, consider that an additional offset or symbol is
added only once.

From-SVN: r147983

15 years agoi386.c (ix86_decompose_address): Avoid useless 0 displacement.
Jakub Jelinek [Fri, 29 May 2009 17:00:35 +0000 (19:00 +0200)]
i386.c (ix86_decompose_address): Avoid useless 0 displacement.

* config/i386/i386.c (ix86_decompose_address): Avoid useless
0 displacement.  Add 0 displacement if base is %[er]bp or %r13.

From-SVN: r147982

15 years agoi386.md (prefix_data16, prefix_rep): Set to 0 for TYPE_SSE{MULADD,4ARG,IADD1,CVT1...
Jakub Jelinek [Fri, 29 May 2009 16:59:31 +0000 (18:59 +0200)]
i386.md (prefix_data16, prefix_rep): Set to 0 for TYPE_SSE{MULADD,4ARG,IADD1,CVT1} by default.

* config/i386/i386.md (prefix_data16, prefix_rep): Set to 0 for
TYPE_SSE{MULADD,4ARG,IADD1,CVT1} by default.
(prefix_rex): For UNIT_MMX don't imply the prefix by default
if MODE_DI.
(prefix_extra): Default to 2 for TYPE_SSE{MULADD,4ARG} and
to 1 for TYPE_SSE{IADD1,CVT1}.
(prefix_vex_imm8): Removed.
(length_vex): Only pass 1 as second argument to
ix86_attr_length_vex_default if prefix_extra is 0.
(modrm): For TYPE_INCDEC only set to 0 if not TARGET_64BIT.
(length): For prefix vex computation use length_immediate
attribute instead of prefix_vex_imm8.
(cmpqi_ext_3_insn, cmpqi_ext_3_insn_rex64,
addqi_ext_1, addqi_ext_1_rex64, *testqi_ext_0, andqi_ext_0,
*andqi_ext_0_cc, *iorqi_ext_0, *xorqi_ext_0, *xorqi_cc_ext_1,
*xorqi_cc_ext_1_rex64): Override modrm attribute to 1.
(extendsidi2_rex64, extendhidi2, extendqidi2, extendhisi2,
*extendhisi2_zext, extendqihi2, extendqisi2, *extendqisi2_zext): Emit
a space in between the operands.
(*anddi_1_rex64, *andsi_1): Likewise.  Override prefix_rex to 1
if one operand is 0xff and the other one si, di, bp or sp.
(*andhi_1): Override prefix_rex to 1 if one operand is 0xff and the
other one si, di, bp or sp.
(*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Add mode attribute.
(*ffssi_1, *ffsdi_1, ctzsi2, ctzdi2): Add
type and mode attributes.
(*bsr, *bsr_rex64, *bsrhi): Add type attribute.
(*cmpfp_i_mixed, *cmpfp_iu_mixed): For TYPE_SSECOMI, clear
prefix_rep attribute and set prefix_data16 attribute iff MODE_DF.
(*cmpfp_i_sse, *cmpfp_iu_sse): Clear prefix_rep attribute and set
prefix_data16 attribute iff MODE_DF.
(*movsi_1): For TYPE_SSEMOV MODE_SI set prefix_data16 attribute.
(fix_trunc<mode>di_sse): Set prefix_rex attribute.
(*adddi_4_rex64, *addsi_4): Use const128_operand instead of
constm128_operand in length_immediate computation.
(*addhi_4): Likewise.  Fix mode attribute to MODE_HI.
(anddi_1_rex64): Use movzbl/movzwl instead of movzbq/movzwq.
(*avx_ashlti3, sse2_ashlti3, *avx_lshrti3, sse2_lshrti3): Set
length_immediate attribute to 1.
(x86_fnstsw_1, x86_fnstcw_1, x86_fldcw_1): Fix length attribute.
(*movdi_1_rex64): Override prefix_rex or prefix_data16 attributes
for certain alternatives.
(*movdf_nointeger, *movdf_integer_rex64, *movdf_integer): Override
prefix_data16 attribute if MODE_V1DF.
(*avx_setcc<mode>, *sse_setcc<mode>, *sse5_setcc<mode>): Set
length_immediate to 1.
(set_got_rex64, set_rip_rex64): Remove length attribute, set
length_address to 4, set mode attribute to MODE_DI.
(set_got_offset_rex64): Likewise.  Set length_immediate to 0.
(fxam<mode>2_i387): Set length attribute to 4.
(*prefetch_sse, *prefetch_sse_rex, *prefetch_3dnow,
*prefetch_3dnow_rex): Override length_address attribute.
(sse4_2_crc32<mode>): Override prefix_data16 and prefix_rex
attributes.
* config/i386/predicates.md (ext_QIreg_nomode_operand): New predicate.
(constm128_operand): Removed.
* config/i386/i386.c (memory_address_length): For
disp && !index && !base in 64-bit mode account for SIB byte if
print_operand_address can't optimize disp32 into disp32(%rip)
and UNSPEC doesn't imply (%rip) addressing.  Add 1 to length
for fs: or gs: segment.
(ix86_attr_length_immediate_default): When checking if shortform
is possible, truncate immediate to the length of the non-shortened
immediate.
(ix86_attr_length_address_default): Ignore MEM_P operands
with X constraint.
(ix86_attr_length_vex_default): Only check for DImode on
GENERAL_REG_P operands.
* config/i386/sse.md (<sse>_comi, <sse>_ucomi): Clear
prefix_rep attribute, set prefix_data16 attribute iff MODE_DF.
(sse_cvttps2pi): Clear prefix_rep attribute.
(sse2_cvttps2dq, *sse2_cvtpd2dq, sse2_cvtps2pd): Clear prefix_data16
attribute.
(*sse2_cvttpd2dq): Don't clear prefix_rep attribute.
(*avx_ashr<mode>3, ashr<mode>3, *avx_lshr<mode>3, lshr<mode>3,
*avx_ashl<mode>3, ashl<mode>3): Set length_immediate attribute to 1
iff operand 2 is const_int_operand.
(*vec_dupv4si, avx_shufpd256_1, *avx_shufpd_<mode>,
sse2_shufpd_<mode>): Set length_immediate attribute to 1.
(sse2_pshufd_1): Likewise.  Set prefix attribute to maybe_vex
instead of vex.
(sse2_pshuflw_1, sse2_pshufhw_1): Set length_immediate to 1 and clear
prefix_data16.
(sse2_unpckhpd, sse2_unpcklpd, sse2_storehpd, *vec_concatv2df): Set
prefix_data16 attribute for movlpd and movhpd instructions.
(sse2_loadhpd, sse2_loadlpd, sse2_movsd): Likewise.  Override
length_immediate for shufpd instruction.
(sse2_movntsi, sse3_lddqu): Clear prefix_data16 attribute.
(avx_cmpp<avxmodesuffixf2c><mode>3,
avx_cmps<ssemodesuffixf2c><mode>3, *avx_maskcmp<mode>3,
<sse>_maskcmp<mode>3, <sse>_vmmaskcmp<mode>3,
avx_shufps256_1, *avx_shufps_<mode>, sse_shufps_<mode>,
*vec_dupv4sf_avx, *vec_dupv4sf): Set
length_immediate attribute to 1.
(*avx_cvtsi2ssq, *avx_cvtsi2sdq): Set length_vex attribute to 4.
(sse_cvtsi2ssq, sse2_cvtsi2sdq): Set prefix_rex attribute to 1.
(sse2_cvtpi2pd, sse_loadlps, sse2_storelpd): Override
prefix_data16 attribute for the first alternative to 1.
(*avx_loadlps): Override length_immediate for the first alternative.
(*vec_concatv2sf_avx): Override length_immediate and prefix_extra
attributes for second alternative.
(*vec_concatv2sf_sse4_1): Override length_immediate and
prefix_data16 attributes for second alternative.
(*vec_setv4sf_avx, *avx_insertps, vec_extract_lo_<mode>,
vec_extract_hi_<mode>, vec_extract_lo_v16hi,
vec_extract_hi_v16hi, vec_extract_lo_v32qi,
vec_extract_hi_v32qi): Set prefix_extra and length_immediate to 1.
(*vec_setv4sf_sse4_1, sse4_1_insertps, *sse4_1_extractps): Set
prefix_data16 and length_immediate to 1.
(*avx_mulv2siv2di3, *avx_mulv4si3, sse4_2_gtv2di3): Set prefix_extra
to 1.
(*avx_<code><mode>3, *avx_eq<mode>3, *avx_gt<mode>3): Set
prefix_extra attribute for variants that don't have 0f prefix
alone.
(*avx_pinsr<ssevecsize>): Likewise.  Set length_immediate to 1.
(*sse4_1_pinsrb, *sse2_pinsrw, *sse4_1_pinsrd, *sse4_1_pextrb,
*sse4_1_pextrb_memory, *sse2_pextrw, *sse4_1_pextrw_memory,
*sse4_1_pextrd): Set length_immediate to 1.
(*sse4_1_pinsrd): Likewise.  Set prefix_extra to 1.
(*sse4_1_pinsrq, *sse4_1_pextrq): Set prefix_rex and length_immediate
to 1.
(*vec_extractv2di_1_rex64_avx, *vec_extractv2di_1_rex64,
*vec_extractv2di_1_avx, *vec_extractv2di_1_sse2): Override
length_immediate to 1 for second alternative.
(*vec_concatv2si_avx, *vec_concatv2di_rex64_avx): Override
prefix_extra and length_immediate attributes for the first
alternative.
(vec_concatv2si_sse4_1): Override length_immediate to 1 for the
first alternative.
(*vec_concatv2di_rex64_sse4_1): Likewise.  Override prefix_rex
to 1 for the first and third alternative.
(*vec_concatv2di_rex64_sse): Override prefix_rex to 1 for the second
alternative.
(*sse2_maskmovdqu, *sse2_maskmovdqu_rex64): Override length_vex
attribute.
(*sse_sfence, sse2_mfence, sse2_lfence): Override length_address
attribute to 0.
(*avx_phaddwv8hi3, *avx_phadddv4si3, *avx_phaddswv8hi3,
*avx_phsubwv8hi3, *avx_phsubdv4si3, *avx_phsubswv8hi,
*avx_pmaddubsw128, *avx_pmulhrswv8hi3, *avx_pshufbv16qi3,
*avx_psign<mode>3): Set prefix_extra attribute to 1.
(ssse3_phaddwv4hi3, ssse3_phadddv2si3, ssse3_phaddswv4hi3,
ssse3_phsubwv4hi3, ssse3_phsubdv2si3, ssse3_phsubswv4hi3,
ssse3_pmaddubsw, *ssse3_pmulhrswv4hi, ssse3_pshufbv8qi3,
ssse3_psign<mode>3): Override prefix_rex attribute.
(*avx_palignrti): Override prefix_extra and length_immediate
to 1.
(ssse3_palignrti): Override length_immediate to 1.
(ssse3_palignrdi): Override length_immediate to 1, override
prefix_rex attribute.
(abs<mode>2): Override prefix_rep to 0, override prefix_rex
attribute.
(sse4a_extrqi): Override length_immediate to 2.
(sse4a_insertqi): Likewise.  Override prefix_data16 to 0.
(sse4a_insertq): Override prefix_data16 to 0.
(avx_blendp<avxmodesuffixf2c><avxmodesuffix>,
avx_blendvp<avxmodesuffixf2c><avxmodesuffix>,
avx_dpp<avxmodesuffixf2c><avxmodesuffix>, *avx_mpsadbw,
*avx_pblendvb, *avx_pblendw, avx_roundp<avxmodesuffixf2c>256,
avx_rounds<avxmodesuffixf2c>256): Override prefix_extra
and length_immediate to 1.
(sse4_1_blendp<ssemodesuffixf2c>, sse4_1_dpp<ssemodesuffixf2c>,
sse4_2_pcmpestr, sse4_2_pcmpestri, sse4_2_pcmpestrm,
sse4_2_pcmpestr_cconly, sse4_2_pcmpistr, sse4_2_pcmpistri,
sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Override prefix_data16
and length_immediate to 1.
(sse4_1_blendvp<ssemodesuffixf2c>): Override prefix_data16 to 1.
(sse4_1_mpsadbw, sse4_1_pblendw): Override length_immediate to 1.
(*avx_packusdw, avx_vtestp<avxmodesuffixf2c><avxmodesuffix>,
avx_ptest256): Override prefix_extra to 1.
(sse4_1_roundp<ssemodesuffixf2c>, sse4_1_rounds<ssemodesuffixf2c>):
Override prefix_data16 and length_immediate to 1.
(sse5_pperm_zero_v16qi_v8hi, sse5_pperm_sign_v16qi_v8hi,
sse5_pperm_zero_v8hi_v4si, sse5_pperm_sign_v8hi_v4si,
sse5_pperm_zero_v4si_v2di, sse5_pperm_sign_v4si_v2di,
sse5_vrotl<mode>3, sse5_ashl<mode>3, sse5_lshl<mode>3): Override
prefix_data16 to 0 and prefix_extra to 2.
(sse5_rotl<mode>3, sse5_rotr<mode>3): Override length_immediate to 1.
(sse5_frcz<mode>2, sse5_vmfrcz<mode>2): Don't override prefix_extra
attribute.
(*sse5_vmmaskcmp<mode>3, sse5_com_tf<mode>3,
sse5_maskcmp<mode>3, sse5_maskcmp<mode>3, sse5_maskcmp_uns<mode>3):
Override prefix_data16 and prefix_rep to 0, length_immediate to 1
and prefix_extra to 2.
(sse5_maskcmp_uns2<mode>3, sse5_pcom_tf<mode>3): Override
prefix_data16 to 0, length_immediate to 1 and prefix_extra to 2.
(*avx_aesenc, *avx_aesenclast, *avx_aesdec, *avx_aesdeclast,
avx_vpermilvar<mode>3,
avx_vbroadcasts<avxmodesuffixf2c><avxmodesuffix>,
avx_vbroadcastss256, avx_vbroadcastf128_p<avxmodesuffixf2c>256,
avx_maskloadp<avxmodesuffixf2c><avxmodesuffix>,
avx_maskstorep<avxmodesuffixf2c><avxmodesuffix>):
Override prefix_extra to 1.
(aeskeygenassist, pclmulqdq): Override length_immediate to 1.
(*vpclmulqdq, avx_vpermil<mode>, avx_vperm2f128<mode>3,
vec_set_lo_<mode>, vec_set_hi_<mode>, vec_set_lo_v16hi,
vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Override
prefix_extra and length_immediate to 1.
(*avx_vzeroall, avx_vzeroupper, avx_vzeroupper_rex64): Override
modrm to 0.
(*vec_concat<mode>_avx): Override prefix_extra and length_immediate
to 1 for the first alternative.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Override
prefix_rep, prefix_data16 and/or prefix_rex attributes in certain
cases.
(*mov<mode>_internal_avx, *movv2sf_internal_rex64,
*movv2sf_internal_avx, *movv2sf_internal): Override
prefix_rep attribute for certain alternatives.
(*mov<mode>_internal): Override prefix_rep or prefix_data16
attributes for certain alternatives.
(*movv2sf_internal_rex64_avx): Override prefix_rep and length_vex
attributes for certain alternatives.
(*mmx_addv2sf3, *mmx_subv2sf3, *mmx_mulv2sf3,
*mmx_<code>v2sf3_finite, *mmx_<code>v2sf3, mmx_rcpv2sf2,
mmx_rcpit1v2sf3, mmx_rcpit2v2sf3, mmx_rsqrtv2sf2, mmx_rsqit1v2sf3,
mmx_haddv2sf3, mmx_hsubv2sf3, mmx_addsubv2sf3,
*mmx_eqv2sf3, mmx_gtv2sf3, mmx_gev2sf3, mmx_pf2id, mmx_pf2iw,
mmx_pi2fw, mmx_floatv2si2, mmx_pswapdv2sf2, *mmx_pmulhrwv4hi3,
mmx_pswapdv2si2): Set prefix_extra attribute to 1.
(mmx_ashr<mode>3, mmx_lshr<mode>3, mmx_ashl<mode>3): Set
length_immediate to 1 if operand 2 is const_int_operand.
(*mmx_pinsrw, mmx_pextrw, mmx_pshufw_1, *vec_dupv4hi,
*vec_extractv2si_1): Set length_immediate
attribute to 1.
(*mmx_uavgv8qi3): Override prefix_extra attribute to 1 if
using old 3DNOW insn rather than SSE/3DNOW_A.
(mmx_emms, mmx_femms): Clear modrm attribute.

From-SVN: r147981

15 years agotree-sra.c: New implementation of SRA.
Martin Jambor [Fri, 29 May 2009 16:47:31 +0000 (18:47 +0200)]
tree-sra.c: New implementation of SRA.

2009-05-29  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c:  New implementation of SRA.

* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): Removed.
(PARAM_SRA_MAX_STRUCTURE_COUNT): Removed.
(PARAM_SRA_FIELD_STRUCTURE_RATIO): Removed.
* params.h (SRA_MAX_STRUCTURE_SIZE): Removed.
(SRA_MAX_STRUCTURE_COUNT): Removed.
(SRA_FIELD_STRUCTURE_RATIO): Removed.
* doc/invoke.texi (sra-max-structure-size): Removed.
(sra-field-structure-ratio): Removed.

* testsuite/gfortran.dg/pr25923.f90: XFAIL warning expectation.
* testsuite/gcc.dg/tree-ssa/ssa-fre-7.c: Compile with -fno-tree-sra.
* testsuite/gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
* testsuite/gcc.dg/memcpy-1.c: Removed param sra-max-structure-size.
* testsuite/gcc.dg/tree-ssa/sra-2.c: Likewise.
* testsuite/gcc.dg/tree-ssa/sra-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/sra-1.c: Likewise.
* testsuite/gcc.dg/tree-ssa/sra-4.c: Changed comment.
* testsuite/gcc.dg/tree-ssa/sra-5.c: New file.
* testsuite/gcc.dg/tree-ssa/sra-6.c: New file.
* testsuite/gcc.c-torture/compile/sra-1.c: New file.

From-SVN: r147980

15 years agore PR middle-end/40291 (ICE on unprototyped memcmp with long long last argument)
Jakub Jelinek [Fri, 29 May 2009 15:38:20 +0000 (17:38 +0200)]
re PR middle-end/40291 (ICE on unprototyped memcmp with long long last argument)

PR middle-end/40291
* builtins.c (expand_builtin_memcmp): Convert len to sizetype
before expansion.

* gcc.c-torture/compile/pr40291.c: New test.

From-SVN: r147978

15 years agore PR rtl-optimization/40101 (200.sixtrack ICEs in get_seqno_by_preds, at sel-sched...
Andrey Belevantsev [Fri, 29 May 2009 15:33:17 +0000 (19:33 +0400)]
re PR rtl-optimization/40101 (200.sixtrack ICEs in get_seqno_by_preds, at sel-sched-ir.c:3752)

        PR rtl-optimization/40101
        * sel-sched-ir.c (get_seqno_by_preds): Allow returning negative
        seqno.  Adjust comment.
        * sel-sched.c (find_seqno_for_bookkeeping): Assert that when
        inserting bookkeeping before a jump, the jump is not scheduled.
        When no positive seqno found, provide a value.  Add comment.

From-SVN: r147977

15 years agotree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first...
Richard Guenther [Fri, 29 May 2009 13:31:47 +0000 (13:31 +0000)]
tree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first component.

2009-05-29  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (nonaliasing_component_refs_p): Remove
short-cutting on the first component.

From-SVN: r147976

15 years agore PR middle-end/39958 (OMP tasking creates invalid gimple)
Jakub Jelinek [Fri, 29 May 2009 13:14:53 +0000 (15:14 +0200)]
re PR middle-end/39958 (OMP tasking creates invalid gimple)

PR middle-end/39958
* omp-low.c (scan_omp_1_op): Call remap_type on TREE_TYPE
for trees other than decls/types.

From-SVN: r147975

15 years agotree-ssa-operands.c (get_expr_operands): Do not handle INDIRECT_REFs in the handled...
Richard Guenther [Fri, 29 May 2009 09:49:42 +0000 (09:49 +0000)]
tree-ssa-operands.c (get_expr_operands): Do not handle INDIRECT_REFs in the handled-component case.

2009-05-29  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.c (get_expr_operands): Do not handle
INDIRECT_REFs in the handled-component case.  Remove
unused get_ref_base_and_extent case.
* tree-dfa.c (get_ref_base_and_extent): Avoid calling
tree_low_cst and host_integerp where possible.
* tree-ssa-structalias.c (equiv_class_label_eq): Check hash
codes for equivalence.
* dce.c (find_call_stack_args): Avoid redundant bitmap queries.

From-SVN: r147973

15 years agoconfig.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file...
David Billinghurst [Fri, 29 May 2009 07:49:26 +0000 (07:49 +0000)]
config.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file for...

2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

* config.host: Add i386/${host_address}/t-fprules-softfp and
t-softfp to tmake_file for i[34567]86-*-cygwin*.

2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

* config.gcc: Add i386/t-fprules-softfp and soft-fp/t-softfp
to tmake_file for i[34567]86-*-cygwin*.

From-SVN: r147972

15 years agore PR target/40017 (stdbool.h/altivec.h)
Jakub Jelinek [Fri, 29 May 2009 07:06:35 +0000 (09:06 +0200)]
re PR target/40017 (stdbool.h/altivec.h)

PR target/40017
* config/rs6000/rs6000-c.c (_Bool_keyword): New variable.
(altivec_categorize_keyword, init_vector_keywords,
rs6000_cpu_cpp_builtins): Define _Bool as conditional macro
similar to bool.

* gcc.target/powerpc/altivec-types-1.c: Don't expect error for
__vector _Bool.
* gcc.target/powerpc/altivec-30.c: New test.
* gcc.target/powerpc/altivec-31.c: New test.

From-SVN: r147970

15 years agotree.c (handle_dll_attribute): Check if node is of kind FUNCTION_DECL for DECL_DECLAR...
Kai Tietz [Fri, 29 May 2009 06:01:02 +0000 (06:01 +0000)]
tree.c (handle_dll_attribute): Check if node is of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.

2009-05-29  Kai Tietz  <kai.tietz@onevision.com>

        * tree.c (handle_dll_attribute): Check if node is
        of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.

From-SVN: r147969

15 years agofibheap.c (fibheap_replace_key_data): Make sure we don't early out when forcing the...
Michael Matz [Fri, 29 May 2009 02:55:25 +0000 (02:55 +0000)]
fibheap.c (fibheap_replace_key_data): Make sure we don't early out when forcing the minimum.

        * fibheap.c (fibheap_replace_key_data): Make sure we don't early
        out when forcing the minimum.
        (fibheap_delete_node): Assert that we managed to force the minimum.

From-SVN: r147968

15 years agoDaily bump.
GCC Administrator [Fri, 29 May 2009 00:16:38 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147965

15 years agothumb2.md (thumb2_zero_extendsidi2): Add a split component.
Richard Earnshaw [Thu, 28 May 2009 23:13:32 +0000 (23:13 +0000)]
thumb2.md (thumb2_zero_extendsidi2): Add a split component.

* config/arm/thumb2.md (thumb2_zero_extendsidi2): Add a split
component.
(thumb2_zero_extendqidi2): Likewise.

From-SVN: r147962

15 years agosh.c (sh_expand_t_scc): Use gen_xorsi3_movrt instead of gen_movrt.
Kaz Kojima [Thu, 28 May 2009 21:59:39 +0000 (21:59 +0000)]
sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt instead of gen_movrt.

* config/sh/sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt
instead of gen_movrt.
* config/sh/sh.md (movrt): Remove.

From-SVN: r147961

15 years ago2009-05-28 Steve Ellcey <sje@cup.hp.com>
Steve Ellcey [Thu, 28 May 2009 20:06:49 +0000 (20:06 +0000)]
2009-05-28  Steve Ellcey  <sje@cup.hp.com>

* doc/invoke.texi (IA-64 Options)
Add -msdata, -mfused-madd, -mno-inline-float-divide,
-mno-inline-int-divide, -mno-inline-sqrt, -msched-spec-ldc,
-msched-spec-control-ldc, -msched-prefer-non-data-spec-insns,
-msched-prefer-non-control-spec-insns,
-msched-stop-bits-after-every-cycle,
-msched-count-spec-in-critical-path,
-msel-sched-dont-check-control-spec, -msched-fp-mem-deps-zero-cost
-msched-max-memory-insns-hard-limit, -msched-max-memory-insns
Remove -mt, -pthread, -msched-ldc, -mno-sched-control-ldc,
and -msched-spec-verbose.

From-SVN: r147960

15 years agoMakefile.in, [...]: New files.
Tom Tromey [Thu, 28 May 2009 17:14:18 +0000 (17:14 +0000)]
Makefile.in, [...]: New files.

2009-05-28  Tom Tromey  <tromey@redhat.com>
    Phil Muldoon  <pmuldoon@redhat.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* python/Makefile.in, , python/libstdcxx/__init__.py,
python/libstdcxx/v6/__init__.py, python/libstdcxx/v6/printers.py,
python/hook.in, python/Makefile.am: New files.
* configure, Makefile.in: Rebuild.
* acinclude.m4 (glibcxx_SUBDIRS): Add python.
* Makefile.am (SUBDIRS): Add python.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
Co-Authored-By: Phil Muldoon <pmuldoon@redhat.com>
From-SVN: r147958

15 years agolib1funcs.asm (__clear_cache): Define if L_clear_cache.
Joseph Myers [Thu, 28 May 2009 16:26:23 +0000 (17:26 +0100)]
lib1funcs.asm (__clear_cache): Define if L_clear_cache.

* config/arm/lib1funcs.asm (__clear_cache): Define if
L_clear_cache.
* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define to give an
error if used.
* config/arm/t-linux-eabi (LIB1ASMFUNCS): Add _clear_cache.

From-SVN: r147956

15 years agotree-ssa-alias.c (ao_ref_init): New function.
Richard Guenther [Thu, 28 May 2009 13:24:16 +0000 (13:24 +0000)]
tree-ssa-alias.c (ao_ref_init): New function.

2009-05-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (ao_ref_init): New function.
(ao_ref_base): Likewise.
(ao_ref_base_alias_set): Likewise.
(ao_ref_alias_set): Likewise.
(refs_may_alias_p_1): Change signature.
(refs_may_alias_p): Adjust.
(refs_anti_dependent_p): Likewise.
(refs_output_dependent_p): Likewise.
(call_may_clobber_ref_p_1): Change signature.
(call_may_clobber_ref_p): Adjust.
(stmt_may_clobber_ref_p_1): New function split out from ...
(stmt_may_clobber_ref_p): ... here.
(maybe_skip_until): Adjust signature.
(get_continuation_for_phi): Likewise.
(walk_non_aliased_vuses): Likewise.
* tree-ssa-alias.h (struct ao_ref_s): New structure type.
(ao_ref_init): Declare.
(ao_ref_base): Likewise.
(ao_ref_alias_set): Likewise.
(stmt_may_clobber_ref_p_1): Likewise.
(walk_non_aliased_vuses): Adjust.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): New function.
(get_ref_from_reference_ops): remove.
(vn_reference_lookup_2): Adjust signature.
(vn_reference_lookup_3): Do not re-build trees.  Handle unions.
(vn_reference_lookup_pieces): Adjust signature, do not re-build
trees.
(vn_reference_lookup): Adjust.
(vn_reference_insert): Likewise.
(vn_reference_insert_pieces): Adjust signature.
(visit_reference_op_call): Adjust.
* tree-ssa-pre.c (get_expr_type): Simplify.
(phi_translate_1): Adjust.
(compute_avail): Likewise.
(translate_vuse_through_block): Do not re-build trees.
(value_dies_in_block_x): Likewise.
* tree-ssa-sccvn.h (struct vn_reference_s): Add type and alias-set
fields.
(vn_reference_lookup_pieces): Adjust declaration.
(vn_reference_insert_pieces): Likewise.

* gcc.dg/tree-ssa/ssa-fre-26.c: New testcase.
* gcc.c-torture/execute/20090527-1.c: Likewise.

From-SVN: r147953

15 years agotree-ssa-copy.c (replace_exp_1): Move op for warning-free use with checking disabled.
Benjamin Kosnik [Thu, 28 May 2009 12:28:38 +0000 (12:28 +0000)]
tree-ssa-copy.c (replace_exp_1): Move op for warning-free use with checking disabled.

2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

        * tree-ssa-copy.c (replace_exp_1): Move op for warning-free use
        with checking disabled.

From-SVN: r147952

15 years agoFix for PR c++/PR39754
Dodji Seketeli [Thu, 28 May 2009 11:24:18 +0000 (11:24 +0000)]
Fix for PR c++/PR39754

gcc/cp/ChangeLog:
    PR c++/39754
    * cp-tree.h (canonical_type_variant): Remove this function declaration.
    (strip_typedefs): New function declaration.
    * tree.c (strip_typedefs): New function definition.
    (canonical_type_variant): Remove function definition.
    * cvt.c (convert_from_reference): No need to use
    canonical_type_variant.
    * typeck.c (cp_build_indirect_ref): Likewise.
    * error.c (dump_template_bindings): Use strip_typedefs instead of
    canonical_type_variant.
    * pt.c (convert_template_argument, unify): Likewise.
    * mangle.c (canonicalize_for_substitution): Don't use
    canonical_type_variant.

gcc/testsuite/ChangeLog:
    PR c++/39754
    * g++.dg/template/canon-type-1.C: New test.
    * g++.dg/template/canon-type-2.C: Likewise.
    * g++.dg/template/canon-type-3.C: Likewise.
    * g++.dg/template/canon-type-4.C: Likewise.
    * g++.dg/template/canon-type-5.C: Likewise.
    * g++.dg/template/canon-type-6.C: Likewise.
    * g++.dg/template/canon-type-7.C: Likewise.

From-SVN: r147951

15 years agore PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated...
Dave Korn [Thu, 28 May 2009 10:48:35 +0000 (10:48 +0000)]
re PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated with -O3)

gcc/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>

PR target/37216

* configure.ac (HAVE_GAS_ALIGNED_COMM):  Add autoconf test and
macro definition for support of three-operand format aligned
.comm directive in assembler on cygwin/pe/mingw target OS.
* configure:  Regenerate.
* config.in:  Regenerate.

* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common):  Use
aligned form of .comm directive if -mpe-aligned-commons is in effect.
* config/i386/cygming.opt (-mpe-aligned-commons):  Add new option.

* doc/invoke.texi (-mpe-aligned-commons):  Document new target option.
* doc/tm.texi (ASM_OUTPUT_COMMON):  Document zero size commons.

gcc/testsuite/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>
            Uros Bizjak  <ubizjak@gmail.com>
            Danny Smith  <dansmister@gmail.com>

PR target/37216

* lib/target-supports.exp (check_effective_target_pe_aligned_commons):
New function.
* gcc.target/i386/pr37216.c:  New test source file.
* gcc.dg/compat/struct-layout-1_generate.c (dg_options[]):  No longer
use -fno-common for testing Cygwin and MinGW targets.

Co-Authored-By: Danny Smith <dansmister@gmail.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r147950

15 years agopacked6.C (size_t): Use __extension__ and __SIZE_TYPE__.
Kai Tietz [Thu, 28 May 2009 09:38:48 +0000 (09:38 +0000)]
packed6.C (size_t): Use __extension__ and __SIZE_TYPE__.

2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

*  g++.dg/ext/packed6.C (size_t): Use __extension__ and
__SIZE_TYPE__.
* g++.dg/opt/memcpy1.C (size_t): Likewise.
* g++.dg/pr37742.C (size_t): Likewise.
* g++.dg/torture/pr34850.C (size_t): Likewise.
* g++.dg/torture/20070621-1.C (ptrdiff_t): Use __extension__ and
_PTRDIFF_TYPE__.
* g++.dg/torture/pr34222.C (ptrdiff_t): Likewise.
* g++.dg/tree-ssa/pr22444.C (ptrdiff_t): Likewise.
(size_t): Use __extension__ and __SIZE_TYPE__.

From-SVN: r147949

15 years ago20000211-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
Kai Tietz [Thu, 28 May 2009 09:30:01 +0000 (09:30 +0000)]
20000211-1.c (size_t): Typedef size_t via __SIZE_TYPE__.

2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.c-torture/compile/20000211-1.c (size_t): Typedef size_t via
__SIZE_TYPE__.
        * gcc.c-torture/compile/20010328-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030320-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030405-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030902-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20060202-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20080613-1.c (size_t): Likewise,
        * gcc.c-torture/compile/920428-2.c (size_t): Likewise,
        * gcc.c-torture/compile/980329-1.c (size_t): Likewise,
        * gcc.c-torture/compile/980816-1.c (size_t): Likewise,
        * gcc.c-torture/compile/pr32584.c (size_t): Likewise,
        * (__ssize_t): Likewise.
        * gcc.c-torture/compile/pr33173.c (size_t): Likewise,
        * gcc.c-torture/compile/pr33382.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34334.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34688.c (size_t): Likewise,
        * gcc.c-torture/compile/pr35043.c (size_t): Likewise,
        * gcc.c-torture/compile/pr37669.c (size_t): Likewise,
        * gcc.dg/20050629-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
        * gcc.dg/pr33667.c (size_t): Likewise.
        * gcc.dg/prefetch-loop-arrays-1.c (size_t): Likewise.
        * gcc.dg/torture/pr39204.c (size_t): Likewise.
        * gcc.dg/tree-ssa/20041122-1.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr36908.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr38250.c (size_t): Likewise.
        * gcc.dg/tree-ssa/ssa-dse-10.c (size_t): Likewise.

From-SVN: r147947

15 years agore PR tree-optimization/40254 (SPEC2006 403.gcc miscompares)
Ira Rosen [Thu, 28 May 2009 09:02:53 +0000 (09:02 +0000)]
re PR tree-optimization/40254 (SPEC2006 403.gcc miscompares)

PR tree-optimization/40254
* tree-data-ref.c (dr_analyze_innermost): Take POFFSET into account
in analysis of basic blocks.

From-SVN: r147945

15 years agore PR middle-end/33699 (missing optimization on const addr area store)
Adam Nemet [Thu, 28 May 2009 07:42:52 +0000 (07:42 +0000)]
re PR middle-end/33699 (missing optimization on const addr area store)

PR middle-end/33699
* target.h (struct gcc_target): Fix indentation.  Add
const_anchor.
* target-def.h (TARGET_CONST_ANCHOR): New macro.
(TARGET_INITIALIZER): Use it.
* cse.c (CHEAPER): Move it up to the other macros.
(insert): Rename this ...
(insert_with_costs): ... to this.  Add cost parameters.  Update
function comment.
(insert): New function.  Call insert_with_costs.
(compute_const_anchors, insert_const_anchor, insert_const_anchors,
find_reg_offset_for_const, try_const_anchors): New functions.
(cse_insn): Call try_const_anchors.  Adjust cost of src_related
when using a const-anchor.  Call insert_const_anchors.
* config/mips/mips.c (mips_set_mips16_mode): Set
targetm.const_anchor.
* doc/tm.texi (Misc): Document TARGET_CONST_ANCHOR.

testsuite/
* gcc.target/mips/const-anchor-1.c: New test.
* gcc.target/mips/const-anchor-2.c: New test.

From-SVN: r147944

15 years agoFix typo in ChangeLog entry date.
Olivier Hainque [Thu, 28 May 2009 07:35:29 +0000 (07:35 +0000)]
Fix typo in ChangeLog entry date.

From-SVN: r147943

15 years agotree-inline.c (remap_decls): Enable nonlocalized variables when not optimizing.
Alexandre Oliva [Thu, 28 May 2009 06:52:07 +0000 (06:52 +0000)]
tree-inline.c (remap_decls): Enable nonlocalized variables when not optimizing.

* tree-inline.c (remap_decls): Enable nonlocalized variables
when not optimizing.

From-SVN: r147941

15 years agotree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Alexandre Oliva [Thu, 28 May 2009 06:49:37 +0000 (06:49 +0000)]
tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.

* tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Simplify other tests involving optimize.

From-SVN: r147939

15 years agoDaily bump.
GCC Administrator [Thu, 28 May 2009 00:17:23 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r147938

15 years agotestsuite_allocator.h (check_new, [...]): Move to ...
Benjamin Kosnik [Thu, 28 May 2009 00:17:00 +0000 (00:17 +0000)]
testsuite_allocator.h (check_new, [...]): Move to ...

2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/util/testsuite_allocator.h (check_new, check_delete): Move
to ...
* testsuite/util/replacement_memory_operators.h: ...here. New.
* testsuite/util/testsuite_hooks.h (counter): To object_counter.
* testsuite/util/testsuite_hooks.cc: Same.

* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Use
replacement_memory_operators.h.
* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
* testsuite/ext/mt_allocator/check_delete.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-6.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-8.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
* testsuite/ext/mt_allocator/check_new.cc: Same.
* testsuite/ext/debug_allocator/check_delete.cc: Same.
* testsuite/ext/debug_allocator/check_new.cc: Same.
* testsuite/ext/new_allocator/deallocate_global.cc: Same.
* testsuite/ext/new_allocator/check_delete.cc: Same.
* testsuite/ext/new_allocator/check_new.cc: Same.
* testsuite/ext/new_allocator/deallocate_local.cc: Same.
* testsuite/ext/throw_allocator/deallocate_global.cc: Same.
* testsuite/ext/throw_allocator/check_delete.cc: Same.
* testsuite/ext/throw_allocator/check_new.cc: Same.
* testsuite/ext/throw_allocator/deallocate_local.cc: Same.
* testsuite/ext/malloc_allocator/deallocate_global.cc: Same.
* testsuite/ext/malloc_allocator/check_delete.cc: Same.
* testsuite/ext/malloc_allocator/check_new.cc: Same.
* testsuite/ext/malloc_allocator/deallocate_local.cc: Same.
* testsuite/ext/pool_allocator/check_delete.cc: Same.
* testsuite/ext/pool_allocator/check_new.cc: Same.
* testsuite/ext/bitmap_allocator/check_delete.cc: Same.
* testsuite/ext/bitmap_allocator/check_new.cc: Same.
* testsuite/ext/array_allocator/check_delete.cc: Same.
* testsuite/ext/array_allocator/check_new.cc: Same.
* testsuite/23_containers/deque/cons/1.cc: Same.
* testsuite/23_containers/deque/cons/2.cc: Same.

From-SVN: r147937

15 years agounwind-dw2.c (_Unwind_DebugHook): New function.
Tom Tromey [Wed, 27 May 2009 23:12:21 +0000 (23:12 +0000)]
unwind-dw2.c (_Unwind_DebugHook): New function.

* unwind-dw2.c (_Unwind_DebugHook): New function.
(uw_install_context): Call _Unwind_DebugHook.

From-SVN: r147934

15 years agocall.c (implicit_conversion): Handle conversion from initializer-list to scalar.
Jason Merrill [Wed, 27 May 2009 22:23:41 +0000 (18:23 -0400)]
call.c (implicit_conversion): Handle conversion from initializer-list to scalar.

* call.c (implicit_conversion): Handle conversion from
initializer-list to scalar.
(convert_like_real): Likewise.  Avoid crashing on list
initialization with bad conversions.
(can_convert): Use LOOKUP_EXPLICIT.
(can_convert_arg_bad): Add flags parm.
* cp-tree.h: Adjust.
* typeck.c (convert_for_assignment): Pass flags.

From-SVN: r147933

15 years agoinitializer_list: Format.
Benjamin Kosnik [Wed, 27 May 2009 21:17:49 +0000 (21:17 +0000)]
initializer_list: Format.

2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

* libsupc++/initializer_list: Format.
* testsuite/18_support/initializer_list/requirements/typedefs.cc: New.
* testsuite/18_support/initializer_list/requirements/
explicit_instantiation.cc: New.

From-SVN: r147931

15 years agore PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)
Benjamin Kosnik [Wed, 27 May 2009 20:32:30 +0000 (20:32 +0000)]
re PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)

2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/40273
* include/tr1_impl/functional: Add explicit cast.
* testsuite/20_util/function/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/function/null_pointer_comparisons.cc: New.

From-SVN: r147930

15 years agoDon't link to or test existence of libgfortranbegin
Janne Blomqvist [Wed, 27 May 2009 20:02:02 +0000 (23:02 +0300)]
Don't link to or test existence of libgfortranbegin

From-SVN: r147929

15 years agosystem.h (CONST_CAST2): Use C++ const_cast when compiled as C++
Tom Tromey [Wed, 27 May 2009 19:53:03 +0000 (19:53 +0000)]
system.h (CONST_CAST2): Use C++ const_cast when compiled as C++

gcc/ChangeLog
* system.h (CONST_CAST2): Use C++ const_cast when compiled as C++

From-SVN: r147928

15 years agoMakefile.in (LINKER, [...]): Define.
Ian Lance Taylor [Wed, 27 May 2009 19:51:15 +0000 (19:51 +0000)]
Makefile.in (LINKER, [...]): Define.

./: * Makefile.in (LINKER, LINKER_FLAGS): Define.
(LINKER_FOR_BUILD, BUILD_LINKERFLAGS): Define.
(ALL_LINKERFLAGS): Define.
(xgcc$(exeext)): Change $(COMPILER) to $(LINKER).
(cpp$(exeext), cc1-dummy$(exeext), cc1$(exeext)): Likewise.
(collect2$(exeext), mips-tfile, mips-tdump): Likewise.
(gcov$(exeext), gcov-dump$(exeext)): Likewise.
(build/gen%$(build_exeext)): Change $(COMPILER_FOR_BUILD) to
$(LINKER_FOR_BUILD).
(build/gcov-iov$(build_exeext)): Likewise.
cp/:
* Make-lang.in (g++$(exeext)): Change $(COMPILER) to $(LINKER).
(cc1plus-dummy$(exeext), cc1plus$(exeext)): Likewise.
fortran/:
* Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to
$(LINKER).
(f951$(exeext)): Likewise.
java/:
* Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
$(LINKER).
(jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
objc/:
* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1obj$(exeext)): Likewise.
objcp/:
* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1objplus$(exeext)): Likewise.

From-SVN: r147927

15 years agore PR fortran/40270 (Revision 147883 caused many Fortran regressions)
Tobias Burnus [Wed, 27 May 2009 19:49:22 +0000 (21:49 +0200)]
re PR fortran/40270 (Revision 147883 caused many Fortran regressions)

2009-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40270
        * trans-decl.c (create_main_function): Mark MAIN__ and
        argc/argv as TREE_USED and push/pop function_decl context
        if needed.

From-SVN: r147926

15 years agogcse.c (target.h): Include.
Julian Brown [Wed, 27 May 2009 18:47:26 +0000 (18:47 +0000)]
gcse.c (target.h): Include.

gcc/
* gcse.c (target.h): Include.
(can_assign_to_reg_without_clobbers_p): Check that the target allows
copy of argument to a pseudo register.

From-SVN: r147925

15 years agotree-ssa-live.c (dump_scope_block): Document arguments.
Diego Novillo [Wed, 27 May 2009 17:55:59 +0000 (13:55 -0400)]
tree-ssa-live.c (dump_scope_block): Document arguments.

* tree-ssa-live.c (dump_scope_block): Document arguments.
(dump_scope_blocks): Document.
(debug_scope_blocks): New.
* tree-flow.h (debug_scope_blocks): Declare.

From-SVN: r147923

15 years ago* doc/contrib.texi (Contributors): add myself to the list.
Denis Chertykov [Wed, 27 May 2009 17:12:24 +0000 (17:12 +0000)]
* doc/contrib.texi (Contributors): add myself to the list.

From-SVN: r147920

15 years agoChange scan-tree-dump-times patterns due to frontend changes
Janne Blomqvist [Wed, 27 May 2009 16:55:44 +0000 (19:55 +0300)]
Change scan-tree-dump-times patterns due to frontend changes

From-SVN: r147919

15 years ago(Synchronize with addition made to binutils sources):
Rafael Avila de Espindola [Wed, 27 May 2009 16:31:26 +0000 (16:31 +0000)]
(Synchronize with addition made to binutils sources):

        * plugins.m4: New.

From-SVN: r147918