platform/upstream/gcc.git
12 years ago[multiple changes]
Arnaud Charlet [Mon, 24 Oct 2011 09:51:42 +0000 (11:51 +0200)]
[multiple changes]

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Earlier): make available globally. If both
nodes have the same sloc, the freeze node that does not come
from source is the later one.
(True_Parent): Make available globally.
(Previous_Instance): Subsidiary of
Insert_Freeze_Node_For_Instance, to check whether the generic
parent of the current instance is declared within a previous
instance in the same unit or declarative  part, in which case the
freeze nodes of both instances must appear in order to prevent
elaboration problems in gigi.
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
freeze point, and the freeze node of a preceding instantiation
must be inserted before it.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* checks.ads, checks.adb: Add handling of Synchronization_Check
* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
atomic sync).
* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
flag Minor code reorganization.
* opt.ads (Warn_On_Atomic_Synchronization): New switch.
* par-prag.adb: Add dummy entries for pragma
Disable/Enable_Atomic_Synchronization.
* sem_prag.adb (Process_Suppress_Unsuppress): Handle
case of Atomic_Synchronization specially (not suppressed
by All_Checks, cannot be set from Source).
(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
entry for pragma Disable/Enable_Atomic_Synchronization
* switch-c.adb: The -gnatp switch does not disable
Atomic_Synchronization Add -gnatep switch to disable
Atomic_Synchronization.
* types.ads: Add entry for Synchronization_Check
* usage.adb: Add line for -gnated switch
* warnsw.adb: Settings for Warn_On_Atomic_Synchronization

From-SVN: r180373

12 years ago[multiple changes]
Arnaud Charlet [Mon, 24 Oct 2011 09:41:42 +0000 (11:41 +0200)]
[multiple changes]

2011-10-24  Geert Bosch  <bosch@adacore.com>

* s-gearop.adb (Back_Substitute): Avoid overflow if matrix
bounds start at Integer'First.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, s-gearop.adb: Minor reformatting

2011-10-24  Robert Dewar  <dewar@adacore.com>

* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings
* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings

From-SVN: r180372

12 years agoavr.c: Break long lines.
Georg-Johann Lay [Mon, 24 Oct 2011 09:39:09 +0000 (09:39 +0000)]
avr.c: Break long lines.

* config/avr/avr.c: Break long lines.
Define target hooks on the fly if applicable.
(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
overridden later.
(targetm): Move definition to end of file.
(avr_can_eliminate): Make static on the fly.
(avr_frame_pointer_required_p): Ditto.
(avr_hard_regno_scratch_ok): Ditto.
(avr_builtin_setjmp_frame_value): Make static on the fly.
Indent according to coding rules.
(avr_case_values_threshold): Ditto.
(avr_attribute_table): Move down.

From-SVN: r180371

12 years ago[multiple changes]
Arnaud Charlet [Mon, 24 Oct 2011 09:28:21 +0000 (11:28 +0200)]
[multiple changes]

2011-10-24  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb (Process_Expression_Variable_Decl): No special
handling for Project_Path unless it is an attribute.

2011-10-24  Javier Miranda  <miranda@adacore.com>

* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
(Install_Hidden_Primitives): New subprogram.
(Restore_Hidden_Primitives): New subprogram.
(Analyze_Formal_Package_Declaration,
Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
Invoke Check_Hidden_Primitives after every call to
Analyze_Associations, and invoke Restore_Hidden_Primitives to
restore their visibility after processing the instantiation.
(Instantiate_Package_Body): Install visible primitives before
analyzing the instantiation and uninstall them to restore their
visibility when the instantiation has been analyzed.
* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
(Remove_Suffix): New subprogram
* sem_ch3.adb (Derive_Subprogram): When handling
a derived subprogram for the instantiation of a formal derived
tagged type, inherit the dispatching attributes from the actual
subprogram (not from the parent type).

From-SVN: r180370

12 years ago[multiple changes]
Arnaud Charlet [Mon, 24 Oct 2011 09:24:35 +0000 (11:24 +0200)]
[multiple changes]

2011-10-24  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Document explicit use of XDECGNAT library.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
update its uses.
(Build_Discriminant_Assignments): Add local variable D_Loc and update
its uses.
(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
Var_Loc and update their uses.
(Build_Record_Init_Proc): Code reformatting.
(Increment_Counter): Add formal parameter Loc.
(Make_Counter): Add formal parameter Loc.

2011-10-24  Eric Botcazou  <ebotcazou@adacore.com>

* sem_disp.adb (Covers_Some_Interface): Fix typo.

2011-10-24  Matthew Heaney  <heaney@adacore.com>

* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority):
Predicate had wrong sense.

2011-10-24  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
Translate arguments in positional notation into pragma argument
association arguments for the generated pragma.

2011-10-24  Arnaud Charlet  <charlet@adacore.com>

* exp_ch5.adb: Fix minor typo.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Is_Visible_Component): Refine predicate for
the case of a component reference in an instance body, when the
enclosing type is private.

From-SVN: r180369

12 years ago2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
Arnaud Charlet [Mon, 24 Oct 2011 09:19:15 +0000 (11:19 +0200)]
2011-10-24  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
driver for getting the project support into gnatelim section.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor correction to documentation on address
clause.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* s-finmas.adb (Attach): Synchronize and call the unprotected version.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Removed.
(Delete_Finalize_Address_Unprotected): New routine.
(Detach): Synchronize and call the unprotected version.
(Detach_Unprotected): Remove locking.
(Finalize): Add various comment on synchronization. Lock the critical
region and call the unprotected versions of routines.
(Finalize_Address): Removed.
(Finalize_Address_Unprotected): New routine.
(Set_Finalize_Address): Synchronize and call
the unprotected version.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Removed.
(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
(Set_Is_Heterogeneous): Add comment on synchronization and
locking.
* s-finmas.ads: Flag Finalization_Started is no longer atomic
because synchronization uses task locking / unlocking.
(Attach): Add comment on usage.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Renamed to
Delete_Finalize_Address_Unprotected.
(Detach): Add comment on usage.
(Detach_Unprotected): New routine.
(Finalize_Address): Renamed to Finalize_Address_Unprotected.
(Set_Finalize_Address): Add comment on usage.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Renamed to
Set_Heterogeneous_Finalize_Address_Unprotected.
* s-stposu.adb (Allocate_Any_Controlled): Add local variable
Allocation_Locked. Add various comments on synchronization. Lock
the critical region and call the unprotected version of
routines.
(Deallocate_Any_Controlled): Add various comments on
synchronization. Lock the critical region and call the unprotected
version of routines.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
are universal and must carry the corresponding type.
* sem_eval.adb (Check_Non_Static_Context): If the type of the
expression is universal real, as may be the case for a fixed point
expression with constant operands in the context of a conversion,
there is nothing to check.
* s-finmas.adb: Minor reformatting

From-SVN: r180368

12 years agore PR tree-optimization/50730 (SLP vectorization confused by unrelated DRs)
Ira Rosen [Mon, 24 Oct 2011 09:16:53 +0000 (09:16 +0000)]
re PR tree-optimization/50730 (SLP vectorization confused by unrelated DRs)

        PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

From-SVN: r180367

12 years agoImplement append([]byte, string...).
Ian Lance Taylor [Mon, 24 Oct 2011 05:00:34 +0000 (05:00 +0000)]
Implement append([]byte, string...).

From-SVN: r180364

12 years agoSome minor fixes to the rewritten syscall library.
Ian Lance Taylor [Mon, 24 Oct 2011 04:57:08 +0000 (04:57 +0000)]
Some minor fixes to the rewritten syscall library.

From-SVN: r180363

12 years agoFix sol2 sparc -mv8 regression.
David S. Miller [Mon, 24 Oct 2011 04:15:46 +0000 (04:15 +0000)]
Fix sol2 sparc -mv8 regression.

* config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
cpu adjustment.
* config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
append -mcpu=v9 when -mv8plus is given.

From-SVN: r180362

12 years agoRename is_open_array_type to is_slice_type.
Ian Lance Taylor [Mon, 24 Oct 2011 04:06:44 +0000 (04:06 +0000)]
Rename is_open_array_type to is_slice_type.

From-SVN: r180361

12 years agoAdd support for sparc VIS3 fp<-->int moves.
David S. Miller [Mon, 24 Oct 2011 03:51:47 +0000 (03:51 +0000)]
Add support for sparc VIS3 fp<-->int moves.

* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
between float and non-float regs when VIS3.
* config/sparc/sparc.c (eligible_for_restore_insn): We can't
use a restore when the source is a float register.
(sparc_split_regreg_legitimate): When VIS3 allow moves between
float and integer regs.
(sparc_register_move_cost): Adjust to account for VIS3 moves.
(sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
integer reg to a class containing EXTRA_FP_REGS, constrain to
FP_REGS.
(sparc_secondary_reload): On 32-bit with VIS3 when moving between
float and integer regs we sometimes need a FP_REGS class
intermediate move to satisfy the reload.  When this happens
specify an extra cost of 2.
(*movsi_insn): Rename to have "_novis3" suffix and add !VIS3
guard.
(*movdi_insn_sp32_v9): Likewise.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp32_v9): Likewise.
(*movdf_insn_sp64): Likewise.
(*zero_extendsidi2_insn_sp64): Likewise.
(*sign_extendsidi2_insn): Likewise.
(*movsi_insn_vis3): New insn.
(*movdi_insn_sp32_v9_vis3): New insn.
(*movdi_insn_sp64_vis3): New insn.
(*movsf_insn_vis3): New insn.
(*movdf_insn_sp32_v9_vis3): New insn.
(*movdf_insn_sp64_vis3): New insn.
(*zero_extendsidi2_insn_sp64_vis3): New insn.
(*sign_extendsidi2_insn_vis3): New insn.
(TFmode reg/reg split): Make sure both REG operands are float.
(*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
easy constant to integer reg alternatives.
(*mov<VM64:mode>_insn_sp64): Likewise.
(*mov<VM64:mode>_insn_sp32_novis3): Likewise.
(*mov<VM32:mode>_insn_vis3): New insn.
(*mov<VM64:mode>_insn_sp64_vis3): New insn.
(*mov<VM64:mode>_insn_sp32_vis3): New insn.
(VM64 reg<-->reg split): New spliiter for 32-bit.

From-SVN: r180360

12 years agore PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)
Jonathan Wakely [Mon, 24 Oct 2011 00:19:56 +0000 (00:19 +0000)]
re PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)

PR libstdc++/50834
* doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.

From-SVN: r180359

12 years agoDaily bump.
GCC Administrator [Mon, 24 Oct 2011 00:17:20 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r180358

12 years agoFactor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.
David S. Miller [Sun, 23 Oct 2011 22:34:07 +0000 (22:34 +0000)]
Factor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.

* config/sparc/sparc.c (sparc_split_regreg_legitimate): New
function.
* config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
Declare it.
* config/sparc/sparc.md (DImode reg/reg split): Use it.
(DFmode reg/reg split): Likewise.

From-SVN: r180354

12 years agosimplify.c (simplify_transformation_to_array): Fix memory leak.
Steven G. Kargl [Sun, 23 Oct 2011 22:30:00 +0000 (22:30 +0000)]
simplify.c (simplify_transformation_to_array): Fix memory leak.

2011-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>

    * simplify.c (simplify_transformation_to_array): Fix memory leak.

From-SVN: r180353

12 years agoAdd missing fzero/fone cases to DImode move on 32-bit v9 sparc.
David S. Miller [Sun, 23 Oct 2011 22:21:51 +0000 (22:21 +0000)]
Add missing fzero/fone cases to DImode move on 32-bit v9 sparc.

* config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
generating fzero and fone instructions.
(DImode const_int --> reg splitter): Only trigger for integer regs.

From-SVN: r180352

12 years agoFix sparc so that reload doesn't try to load non-trivial vector consts directly.
David S. Miller [Sun, 23 Oct 2011 21:51:16 +0000 (21:51 +0000)]
Fix sparc so that reload doesn't try to load non-trivial vector consts directly.

* config/sparc/predicates.md (input_operand): Disallow vector
constants other than 0 and -1.
* config/sparc/sparc.c (sparc_preferred_reload_class): Return
NO_REGS for vector constants other than 0 and -1.

From-SVN: r180351

12 years agoUse a macro instead of a constant to test for sparc integer regnos.
David S. Miller [Sun, 23 Oct 2011 21:50:56 +0000 (21:50 +0000)]
Use a macro instead of a constant to test for sparc integer regnos.

* config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
SPARC_INT_REG_P): Define.
(HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
(REGNO_OK_FOR_INDEX_P): Likewise.
* config/sparc/sparc.c (gen_df_reg): Likewise.
(eligible_for_return_delay): Likewise.
(eligible_for_sibcall_delay): Likewise.
(sparc_legitimate_address_p): Likewise.
(emit_save_or_restore_regs): Likewise.
(registers_ok_for_ldd_peep): Likewise.
* config/spac/sparc.md (DI mode splitters): Likewise.
(SF mode const splitters): Likewise.
(DF mode splitters): Likewise.
(32-bit DI mode logical op splitters): Likewise.

From-SVN: r180350

12 years agore PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001...
Paolo Carlini [Sun, 23 Oct 2011 21:15:08 +0000 (21:15 +0000)]
re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)

/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180349

12 years agore PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001...
Paolo Carlini [Sun, 23 Oct 2011 20:59:43 +0000 (20:59 +0000)]
re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)

/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50841
Revert:
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180348

12 years ago* gcc-interface/decl.c (create_concat_name): Add explicit cast.
Eric Botcazou [Sun, 23 Oct 2011 20:21:06 +0000 (20:21 +0000)]
* gcc-interface/decl.c (create_concat_name): Add explicit cast.

From-SVN: r180347

12 years agosse.md (avx2_lshl<mode>3): Remove insn pattern.
Uros Bizjak [Sun, 23 Oct 2011 19:48:41 +0000 (21:48 +0200)]
sse.md (avx2_lshl<mode>3): Remove insn pattern.

* config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
(VI248_256): Remove mode iterator.
* config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
instead of gen_avx2_lshlv4di3.
(bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.

From-SVN: r180346

12 years agoImplement new syscall package.
Ian Lance Taylor [Sun, 23 Oct 2011 19:04:37 +0000 (19:04 +0000)]
Implement new syscall package.

Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

From-SVN: r180345

12 years agosse.md (sseintprefix): Rename from gthrfirstp.
Uros Bizjak [Sun, 23 Oct 2011 18:43:11 +0000 (20:43 +0200)]
sse.md (sseintprefix): Rename from gthrfirstp.

* config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
*avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator.  Use sseintprefix mode attribute.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
*avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator.  Use sseintprefix mode attribute.
(*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
attributes.
(*avx2_gatherdi<mode>): Ditto.
(*avx2_gatherdi<mode>256): Ditto.
(VI48_AVX2): Remove mode iterator.
(gthrlastfp): Remove mode attribute.

From-SVN: r180344

12 years agore PR c++/50810 (c++0x-compat does not warn about narrowing conversions)
Paolo Carlini [Sun, 23 Oct 2011 18:34:45 +0000 (18:34 +0000)]
re PR c++/50810 (c++0x-compat does not warn about narrowing conversions)

/c-family
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.

/cp
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.

/testsuite
2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.

2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.

From-SVN: r180343

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Sun, 23 Oct 2011 16:06:40 +0000 (16:06 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-10-23  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763.c: New test.

From-SVN: r180342

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Sun, 23 Oct 2011 16:06:32 +0000 (16:06 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-10-23  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored out
of ...
(same_succ_flush_bbs): Use same_succ_flush_bb.
(purge_bbs): Remove argument.  Remove calls to same_succ_flush_bbs,
release_last_vdef and delete_basic_block.
(unlink_virtual_phi): New function.
(update_vuses): Add and use vuse1_phi_args argument.  Set var to
SSA_NAME_VAR of vuse1 or vuse2, and use var.  Handle case that def_stmt2
is NULL.  Use phi result as phi arg in case vuse1 or vuse2 is NULL_TREE.
Replace uses of vuse1 if vuse2 is NULL_TREE.  Fix code to limit
replacement of uses.  Propagate phi argument for phis with a single
argument.
(replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
Set vuse1_phi_args if vuse1 is a phi defined in bb1.  Add vuse1_phi_args
as argument to call to update_vuses.  Call release_last_vdef,
same_succ_flush_bb, delete_basic_block.  Update CDI_DOMINATORS info.
(tail_merge_optimize): Remove argument in call to purge_bbs.  Remove
call to free_dominance_info.  Only call calculate_dominance_info once.

From-SVN: r180341

12 years agore PR tree-optimization/44683 (Optimization bug with copysign builtin)
Eric Botcazou [Sun, 23 Oct 2011 15:57:09 +0000 (15:57 +0000)]
re PR tree-optimization/44683 (Optimization bug with copysign builtin)

* fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.

PR tree-optimization/44683
* tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
we can be sure that there are no signed zeros involved.

From-SVN: r180340

12 years ago* ipa-inline.c (estimate_badness): Scale up and handle overflows.
Jan Hubicka [Sun, 23 Oct 2011 14:30:24 +0000 (16:30 +0200)]
* ipa-inline.c (estimate_badness): Scale up and handle overflows.

From-SVN: r180336

12 years agore PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx...
Uros Bizjak [Sun, 23 Oct 2011 14:18:08 +0000 (16:18 +0200)]
re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256)

PR target/50788
* config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>):
Remove (match_dup 0).
(*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
(*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
(*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.

testsuite/ChangeLog:

2011-10-23  Uros Bizjak  <ubizjak@gmail.com>

PR target/50788
* testsuite/gcc.target/i386/pr50788.c: New test.

From-SVN: r180335

12 years agore PR tree-optimization/50819 (missed SLP vectorization)
Ira Rosen [Sun, 23 Oct 2011 12:13:49 +0000 (12:13 +0000)]
re PR tree-optimization/50819 (missed SLP vectorization)

        PR tree-optimization/50819
        * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
        the last argument.
        * tree-vect-loop.c (vect_analyze_loop_2): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
        Remove the last argument.  Check load-after-store dependence
        for unknown dependencies in basic blocks.
        (vect_analyze_data_ref_dependences): Update call to
        vect_analyze_data_ref_dependences.
        * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix
        typo.
        * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies):
        Remove.
        (vect_slp_analyze_bb_1): Update call to
        vect_analyze_data_ref_dependences.  Don't call
        vect_bb_vectorizable_with_dependencies.

From-SVN: r180334

12 years agoDaily bump.
GCC Administrator [Sun, 23 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180333

12 years agore PR libstdc++/50196 ([C++0x] std::thread not available under macos)
Jonathan Wakely [Sat, 22 Oct 2011 21:31:24 +0000 (21:31 +0000)]
re PR libstdc++/50196 ([C++0x] std::thread not available under macos)

PR libstdc++/50196
* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
* configure: Regenerate.
* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Use dg-require-gthreads-timed instead of dg-require-gthreads.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r180329

12 years agoFix cpp_peek_token behaviour (PR bootstrap/50778)
Dodji Seketeli [Sat, 22 Oct 2011 17:49:18 +0000 (17:49 +0000)]
Fix cpp_peek_token behaviour (PR bootstrap/50778)

libcpp/

* include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
context to act upon.
* lex.c (_cpp_remaining_tokens_num_in_context): Likewise.  Update
comment.
(cpp_token_from_context_at): Likewise.
(cpp_peek_token): Use the context to peek tokens from.

From-SVN: r180328

12 years agoUpdate Go library to r60.3 release.
Ian Lance Taylor [Sat, 22 Oct 2011 16:19:46 +0000 (16:19 +0000)]
Update Go library to r60.3 release.

From-SVN: r180327

12 years agoRemove unused functions from sparc backend.
David S. Miller [Sat, 22 Oct 2011 08:01:58 +0000 (08:01 +0000)]
Remove unused functions from sparc backend.

* config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
* config/sparc/sparc-protos.h (short_branch, reg_unused_after):
Get rid of declarations.

From-SVN: r180325

12 years agoMake sparc's "struct processor_costs" private to sparc.c
David S. Miller [Sat, 22 Oct 2011 07:30:12 +0000 (07:30 +0000)]
Make sparc's "struct processor_costs" private to sparc.c

* config/sparc/sparc.h (sparc_costs): Remove extern decl.
(struct processor_costs): Move from here..
* config/sparc/sparc.c (struct processor_costs): To here.
(sparc_costs): Mark static.

From-SVN: r180324

12 years agoConvert sparc over to TARGET_SECONDARY_RELOAD.
David S. Miller [Sat, 22 Oct 2011 07:05:32 +0000 (07:05 +0000)]
Convert sparc over to TARGET_SECONDARY_RELOAD.

gcc/

* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
* config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
(sparc_secondary_reload): New function.

From-SVN: r180323

12 years agoobstack.h [!GNUC] (obstack_free): Avoid cast to int.
DJ Delorie [Sat, 22 Oct 2011 01:35:29 +0000 (21:35 -0400)]
obstack.h [!GNUC] (obstack_free): Avoid cast to int.

* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++

From-SVN: r180321

12 years agoDaily bump.
GCC Administrator [Sat, 22 Oct 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r180320

12 years agore PR fortran/50821 (3 new GCC HEAD@180266 regressions)
Steven G. Kargl [Fri, 21 Oct 2011 22:48:39 +0000 (22:48 +0000)]
re PR fortran/50821 (3 new GCC HEAD@180266 regressions)

2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/50821
* check.c (gfc_check_ishftc): Check args are constant before
extracting the integer.

From-SVN: r180316

12 years agoc6x.c (c6x_asm_emit_except_personality, [...]): New functions.
Paul Brook [Fri, 21 Oct 2011 21:04:13 +0000 (21:04 +0000)]
c6x.c (c6x_asm_emit_except_personality, [...]): New functions.

* config/c6x/c6x.c (c6x_asm_emit_except_personality,
c6x_asm_init_sections): New functions.
(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS):
Define.

From-SVN: r180314

12 years ago* unwind-arm-common.inc: Handle ID3/4 unwinding data.
Paul Brook [Fri, 21 Oct 2011 21:00:11 +0000 (21:00 +0000)]
* unwind-arm-common.inc: Handle ID3/4 unwinding data.

From-SVN: r180313

12 years agore PR c++/45385 (missing -Wconversion for method calls)
Paolo Carlini [Fri, 21 Oct 2011 20:01:31 +0000 (20:01 +0000)]
re PR c++/45385 (missing -Wconversion for method calls)

/cp
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* init.c (build_vec_init): Early return error_mark_node if
maxindex is -1.

/c-family
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* c-common.c (conversion_warning): Remove code looking for
artificial operands.

/testsuite
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45385
* g++.dg/warn/Wconversion4.C: New.

From-SVN: r180312

12 years agore PR target/50813 (gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target)
Jakub Jelinek [Fri, 21 Oct 2011 19:32:20 +0000 (21:32 +0200)]
re PR target/50813 (gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target)

PR target/50813
* config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
V4DImode and V8SImode for !TARGET_AVX2.

* gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
from element other than first and reverse permutation.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.

From-SVN: r180311

12 years agore PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302)
Bernd Schmidt [Fri, 21 Oct 2011 18:38:44 +0000 (18:38 +0000)]
re PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302)

PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote
REG_DEP_CONTROL to REG_DEP_ANTI.

From-SVN: r180310

12 years agore PR c++/31423 (Improve upon "invalid use of member (did you forget the '&' ?)")
Paolo Carlini [Fri, 21 Oct 2011 18:18:55 +0000 (18:18 +0000)]
re PR c++/31423 (Improve upon "invalid use of member (did you forget the '&' ?)")

/cp
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31423
* typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
for invalid use of member function.

/testsuite
2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31423
* g++.dg/parse/error43.C: New.
* g++.dg/parse/error44.C: Likewise.

From-SVN: r180309

12 years agoavr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X instead of X to avr_legitimize_r...
Georg-Johann Lay [Fri, 21 Oct 2011 15:46:32 +0000 (15:46 +0000)]
avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X instead of X to avr_legitimize_reload_address.

* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
instead of X to avr_legitimize_reload_address.
* config/avr/avr-protos.h (avr_legitimize_reload_address): Change
first argument's type from rtx to rtx*.
* config/avr/avr.c (avr_legitimize_reload_address): Ditto.
Pass PX to push_reload instead of &X.  Change log messages for
better distinction.

From-SVN: r180308

12 years agore PR translation/47064 (params.def: Translatable string compilatoin (vs. compilation))
Roland Stigge [Fri, 21 Oct 2011 14:55:42 +0000 (14:55 +0000)]
re PR translation/47064 (params.def: Translatable string compilatoin (vs. compilation))

2011-10-21  Roland Stigge  <stigge@antcom.de>

PR translation/47064
* params.def: Fix typo "compilatoin" -> "compilation".

From-SVN: r180307

12 years ago* ChangeLog: Add missing PR reference.
Uros Bizjak [Fri, 21 Oct 2011 14:34:51 +0000 (16:34 +0200)]
* ChangeLog: Add missing PR reference.

From-SVN: r180305

12 years agore PR driver/50740 (CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified...
H.J. Lu [Fri, 21 Oct 2011 14:32:32 +0000 (16:32 +0200)]
re PR driver/50740 (CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf)

PR target/50740
* config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
if max_level allows that.

testsuite/ChangeLog:

PR target/50740
* gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
* gcc.target/i386/bmi2-check.h: Ditto.

From-SVN: r180304

12 years agoreg-notes.def (DEP_CONTROL): New.
Bernd Schmidt [Fri, 21 Oct 2011 13:35:44 +0000 (13:35 +0000)]
reg-notes.def (DEP_CONTROL): New.

* reg-notes.def (DEP_CONTROL): New.
* sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
not doing speculation.
* rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
record_hard_reg_uses_1, record_hard_reg_uses): New functions.
* function.c (record_hard_reg_sets, record_hard_reg_uses,
record_hard_reg_uses_1): Remove; move to rtlanal.c.
* lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
* haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
(MUST_RECOMPUTE_SPEC_P): New macro.
(real_insn_for_shadow): New function.
(cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
toggle_cancelled_flags): New static functions.
(schedule_insn): Relax an assert to only check for empty hard back
dependencies.  Skip cancelled dependencies.  Call
check_clobbered_conditions.
(copy_insn_list): Remove function, renamed moved to lists.c.
(save_backtrack_point): Use new spelling copy_INSN_LIST.
(unschedule_insns_until): Ensure TODO_SPEC is reset properly.
(restore_last_backtrack_point): Likewise.  Call toggle_cancelled_flags.
(estimate_insn_tick): Ignore cancelled dependencies.
(haifa_speculate_insn): Move declaration.
(try_ready): Move code into recompute_todo_spec and call it.  Tweak
some asserts.  Ensure predicated patterns are restored if necessary.
Dump DEP_CONTROL flag.
(haifa_change_pattern): Merge with sched_change_pattern.
(sched_change_pattern): Remove function.
* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove.  All
uses changed to simply not test NON_FLUSH_JUMP_P.
(ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
REG_DEP_CONTROL.
(dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
(reg_pending_control_uses, control_dependency_cache): New static
variables.
(sched_get_reverse_condition_uncached): New function.
(sd_find_dep_between): Remove pointless assert.  Look in
control_dependency_cache.
(ask_dependency_caches, set_dependency_caches, sd_delete_dep,
extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
and control_dependency_cache.
(sd_unresolve_dep): Use dep_spec_p.
(add_dependence): Now a wrapper around add_dependence_1, handling
REG_DEP_CONTROL specially.
(flush_pending_lists): Clear pending_jump_insns.
(sched_analyze_1): Handle pending_jump_insns like a memory flush.
(sched_analyze_2): Unconditionally add to pending memory flushes,
keep previous behaviour but apply it to pending_jump_insns instead.
(sched_analyze_insn): Defer adding jump reg dependencies using
reg_pending_control_uses; add them to the control_uses list.  Handle
pending_jump_insns and control_uses when adding dependence lists.
(deps_analyze_insn): Update INSN_COND_DEPS.
(deps_analyze_insn): Add jumps to pending_jump_insns rather than
last_pending_memory_flush.
(init_deps): Initialize pending_jump_insns.
(free_deps): Free control_uses.
(remove_from_deps): Remove from pending_jump_insns.
(init_deps_global): Allocate reg_pending_control_uses).
(finish_deps_global): Free it.
(add_dependence_1): Renamed from add_dependence.  Handle
REG_DEP_CONTROL.
* rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
(copy_INSN_LIST, concat_INSN_LIST): Declare.
* sched-int.h (struct deps_reg): Add control_uses.
(struct deps_desc): Add pending_jump_insns.
(struct _haifa_deps_insn_data): Add cond_deps.
(struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
(INSN_COND_DEPS, PREDICATED_PAT): New macros.
(BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
(DEP_CONTROL): New macro.
(DEP_TYPES): Include it.
(HARD_DEP): Adjust definition.
(DEP_CANCELLED): New macro.
(enum SCHED_FLAGS): Add DO_PREDICATION.
(sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
* sched-rgn.c (concat_INSN_LIST): Remove function.
(deps_join): Handle pending_jump_insns.
(free_pending_lists): Likewise.
* config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
schedule.

From-SVN: r180302

12 years agore PR c++/50811 ([C++0x] G++ rejects class-virt-specifier if class-head-name includes...
Ville Voutilainen [Fri, 21 Oct 2011 13:31:21 +0000 (16:31 +0300)]
re PR c++/50811 ([C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier)

PR c++/50811
* parser.c (cp_parser_class_head): Parse virt-specifiers
regardless of whether an id is present

From-SVN: r180301

12 years agoFix gnat.dg testing with linker plugin check
Rainer Orth [Fri, 21 Oct 2011 12:53:09 +0000 (12:53 +0000)]
Fix gnat.dg testing with linker plugin check

* lib/gcc-dg.exp (GCC_UNDER_TEST): Set before calling
check_linker_plugin_available.

From-SVN: r180300

12 years agore PR target/50820 ([avr] Use EIND consistently)
Georg-Johann Lay [Fri, 21 Oct 2011 12:48:04 +0000 (12:48 +0000)]
re PR target/50820 ([avr] Use EIND consistently)

PR target/50820
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.

From-SVN: r180299

12 years agoc6x.md (attr "op_pattern"): New.
Bernd Schmidt [Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)]
c6x.md (attr "op_pattern"): New.

* config/c6x/c6x.md (attr "op_pattern"): New.
(load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
* config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
Likewise.
* config/c6x/c6x-mult.md: Regenerate.
* config/c6x/c6x.c: Include "regrename.h".
(unit_req_table): New typedef.
(unit_reqs): Use it for the declaration.
(unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
get_unit_operand_masks, try_rename_operands, reshuffle_units): New
static functions.
(count_unit_reqs): New arg reqs.  All callers changed.  Use
get_unit_reqs, and don't merge here.
(res_mii): New arg reqs.  All callers changed.  Rewrite to use a loop
using unit_req_factor.
(hwloop_optimize): Call reshuffle_units.  Call merge_unit_reqs after
count_unit_reqs.
(c6x_reorg): Add reg notes problem, and call df_analyze.
* Makefile.in ($(out_object_file)): Depend on regrename.h.

From-SVN: r180296

12 years agobranch-cost1.c: New test.
Kai Tietz [Fri, 21 Oct 2011 11:50:42 +0000 (13:50 +0200)]
branch-cost1.c: New test.

        * gcc.target/i386/branch-cost1.c: New test.
        * gcc.target/i386/branch-cost2.c: New test.
        * gcc.target/i386/branch-cost3.c: New test.
        * gcc.target/i386/branch-cost4.c: New test.

        * fold-const.c (simple_operand_p_2): Handle integral
        casts from boolean-operands.

From-SVN: r180295

12 years agoFix several ChangeLog errors.
Rainer Orth [Fri, 21 Oct 2011 11:41:15 +0000 (11:41 +0000)]
Fix several ChangeLog errors.

From-SVN: r180294

12 years agocgraph.c (dump_cgraph_node): Dump alias flag.
Jan Hubicka [Fri, 21 Oct 2011 11:04:20 +0000 (13:04 +0200)]
cgraph.c (dump_cgraph_node): Dump alias flag.

* cgraph.c (dump_cgraph_node): Dump alias flag.
* cgraphunit.c (handle_alias_pairs): Handle weakrefs with no destination.
(get_alias_symbol): New function.
(output_weakrefs): Output also weakrefs with no destinatoin.
(lto_output_node): Output weakref alias flag when at function boundary.

From-SVN: r180292

12 years agore PR target/50809 (driver-arm.c:55:11: error: anonymous type with no linkage used...
Andrew Stubbs [Fri, 21 Oct 2011 10:31:48 +0000 (10:31 +0000)]
re PR target/50809 (driver-arm.c:55:11: error: anonymous type with no linkage used to declare variable '<anonymous struct> vendors []' with linkage [-Werror])

2011-10-21  Andrew Stubbs  <ams@codesourcery.com>

PR target/50809

gcc/
* config/arm/driver-arm.c (vendors): Make static.

From-SVN: r180289

12 years agoi386.c (ix86_emit_swdivsf): Force b into register.
Uros Bizjak [Fri, 21 Oct 2011 07:30:24 +0000 (09:30 +0200)]
i386.c (ix86_emit_swdivsf): Force b into register.

* config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
(ix86_emit_swsqrtsf): Force a into register.

From-SVN: r180287

12 years agoregcprop.c (copyprop_hardreg_forward_1): Update recog_data after validate_change...
Mike Stump [Fri, 21 Oct 2011 02:14:32 +0000 (02:14 +0000)]
regcprop.c (copyprop_hardreg_forward_1): Update recog_data after validate_change wipes it out.

* regcprop.c (copyprop_hardreg_forward_1): Update recog_data
after validate_change wipes it out.

From-SVN: r180284

12 years agospu.md ("vec_permv16qi"): Reduce selector modulo 32 before using the shufb instruction.
Ulrich Weigand [Fri, 21 Oct 2011 01:27:36 +0000 (01:27 +0000)]
spu.md ("vec_permv16qi"): Reduce selector modulo 32 before using the shufb instruction.

* config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
before using the shufb instruction.

From-SVN: r180283

12 years agoDaily bump.
GCC Administrator [Fri, 21 Oct 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r180282

12 years agovect-120.c: Add vect_floatint_cvt requirement.
Steve Ellcey [Thu, 20 Oct 2011 21:29:20 +0000 (21:29 +0000)]
vect-120.c: Add vect_floatint_cvt requirement.

2011-10-20  Steve Ellcey  <sje@cup.hp.com>

* gcc.dg/vect/vect-120.c: Add vect_floatint_cvt requirement.

From-SVN: r180278

12 years agore PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
Steve Ellcey [Thu, 20 Oct 2011 21:26:01 +0000 (21:26 +0000)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))

2011-10-20  Steve Ellcey  <sje@cup.hp.com>

PR testsuite/50722
* gcc.dg/pr49994-3.c: Skip on HP-UX.

From-SVN: r180277

12 years agopr46940_0.c (ASMNAME, [...]): Define.
Joseph Myers [Thu, 20 Oct 2011 21:09:48 +0000 (22:09 +0100)]
pr46940_0.c (ASMNAME, [...]): Define.

* gcc.dg/lto/pr46940_0.c (ASMNAME, ASMNAME2, STRING): Define.
(_moz_foo, EXT__foo): Use ASMNAME.

From-SVN: r180276

12 years agolto.exp (lto-execute): Use .exe suffix for test executable names.
Joseph Myers [Thu, 20 Oct 2011 20:39:36 +0000 (21:39 +0100)]
lto.exp (lto-execute): Use .exe suffix for test executable names.

* lib/lto.exp (lto-execute): Use .exe suffix for test executable
names.

From-SVN: r180272

12 years agoFix operands order in BMI2 patterns.
Kirill Yukhin [Thu, 20 Oct 2011 20:37:32 +0000 (20:37 +0000)]
Fix operands order in BMI2 patterns.

gcc/

2011-10-20  Kirill Yukhin  <kirill.yukhin@intel.com>

PR target/50766
* config/i386/i386.md (bmi_bextr_<mode>): Update register/
memory operand order.
(bmi2_bzhi_<mode>3): Ditto.
(bmi2_pdep_<mode>3): Ditto.
(bmi2_pext_<mode>3): Ditto.

gcc/testsuite/

2011-10-20  Kirill Yukhin  <kirill.yukhin@intel.com>

PR target/50766
* gcc.target/i386/pr50766.c: New test.

From-SVN: r180271

12 years agotarget.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
Richard Henderson [Thu, 20 Oct 2011 20:10:05 +0000 (13:10 -0700)]
target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.

* target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
* optabs.c (can_vec_perm_expr_p): Update to match.
(expand_vec_perm_expr): Likewise.
* config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
* doc/tm.texi.in: Likewise.

From-SVN: r180270

12 years agoChange Atom align_loops_max_skip to 15.
Sergey Ostanevich [Thu, 20 Oct 2011 19:29:52 +0000 (19:29 +0000)]
Change Atom align_loops_max_skip to 15.

2011-10-20  Sergey Ostanevich  <sergos.gnu@gmail.com>

PR target/50572
* config/i386/i386.c (processor_target_table): Change Atom
align_loops_max_skip to 15.

From-SVN: r180268

12 years agore PR c++/41449 (Partial aggregate initialization not cleaned up on exception)
Jason Merrill [Thu, 20 Oct 2011 19:13:51 +0000 (15:13 -0400)]
re PR c++/41449 (Partial aggregate initialization not cleaned up on exception)

PR c++/41449
* typeck2.c (split_nonconstant_init_1): Handle EH cleanup of
initialized subobjects.

From-SVN: r180267

12 years agoRemove TARGET_VECTORIZE_BUILTIN_VEC_PERM.
Richard Henderson [Thu, 20 Oct 2011 19:07:41 +0000 (12:07 -0700)]
Remove TARGET_VECTORIZE_BUILTIN_VEC_PERM.

From-SVN: r180266

12 years agoishft_3.f90: Update test.
Steven G. Kargl [Thu, 20 Oct 2011 18:07:10 +0000 (18:07 +0000)]
ishft_3.f90: Update test.

2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/ishft_3.f90:  Update test.

2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

* check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
(gfc_check_ishftc):  Check |shift| <= bit_size(i) and check
that size is positive.

From-SVN: r180264

12 years agore PR fortran/50524 (*** glibc detected *** invalid free() pointer on illegal code...
Steven G. Kargl [Thu, 20 Oct 2011 17:15:06 +0000 (17:15 +0000)]
re PR fortran/50524 (*** glibc detected *** invalid free() pointer on illegal code  (r178939))

2011-10-15  Steven G. Kargl  <kargl@gcc.gcu.org>

PR fortran/50524
* resolve.c (resolve_ref): Check return value of resolve_substring().

2011-10-15  Steven G. Kargl  <kargl@gcc.gcu.org>

PR fortran/50524
* gfortran.dg/substring_integer_index.f90: New test.

From-SVN: r180262

12 years ago2011-10-16 Steven G. Kargl<kargl@gcc.gnu.org>
Steven G. Kargl [Thu, 20 Oct 2011 17:04:53 +0000 (17:04 +0000)]
2011-10-16  Steven G. Kargl<kargl@gcc.gnu.org>

* io.c (match_dt_format): Match a user-defined operator or a kind
type prefixed string.

2011-10-16  Steven G. Kargl<kargl@gcc.gnu.org>

* gfortran.dg/format_string.f: New test.

From-SVN: r180261

12 years agoFix building ggc-zone.c
Dodji Seketeli [Thu, 20 Oct 2011 15:22:17 +0000 (15:22 +0000)]
Fix building ggc-zone.c

* ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
ggc_alloced_size_order_for_request into ggc_round_alloc_size like
it was done in ggc-page.c.

From-SVN: r180258

12 years agoipa-sra-2.c: Add dg-require-effective-target non_strict_align.
Uros Bizjak [Thu, 20 Oct 2011 15:20:34 +0000 (17:20 +0200)]
ipa-sra-2.c: Add dg-require-effective-target non_strict_align.

       * gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target
       non_strict_align.
       * gcc.dg/ipa/ipa-sra-6.c: Ditto.

From-SVN: r180257

12 years agore PR target/47989 (-mrecip causes 482.sphinx3, 464.h264ref and 481.wrf to miscompare)
Uros Bizjak [Thu, 20 Oct 2011 15:13:30 +0000 (17:13 +0200)]
re PR target/47989 (-mrecip causes 482.sphinx3, 464.h264ref and 481.wrf to miscompare)

PR target/47989
* config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
* config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
* doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
implements vectorized single float division and vectorized sqrtf(x)
with reciprocal sequence with additional Newton-Raphson step with
-ffast-math.

From-SVN: r180256

12 years agoexception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
Paul Brook [Thu, 20 Oct 2011 13:57:21 +0000 (13:57 +0000)]
exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.

2011-10-17  Paul Brook  <paul@codesourcery.com>
            Matthias Klose  <doko@ubuntu.com>

        * exception.c (parse_lsda_header): hardcode ttype_encoding for older
        ARM EABI toolchains.
        (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r180255

12 years agoexception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
Paul Brook [Thu, 20 Oct 2011 13:56:12 +0000 (13:56 +0000)]
exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.

2011-10-17  Paul Brook  <paul@codesourcery.com>

        * exception.cc (parse_lsda_header): hardcode ttype_encoding for older
        ARM EABI toolchains.
        (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.

From-SVN: r180254

12 years agopr40906-1.c, [...]: Do not use -mno-accumulate-outgoing-args.
Joseph Myers [Thu, 20 Oct 2011 13:04:34 +0000 (14:04 +0100)]
pr40906-1.c, [...]: Do not use -mno-accumulate-outgoing-args.

* gcc.target/i386/pr40906-1.c, gcc.target/i386/pr40906-2.c,
gcc.target/i386/pr46226.c: Do not use
-mno-accumulate-outgoing-args.

From-SVN: r180252

12 years agoval-prof-7.c: Declare bzero instead of including <strings.h>.
Joseph Myers [Thu, 20 Oct 2011 13:03:56 +0000 (14:03 +0100)]
val-prof-7.c: Declare bzero instead of including <strings.h>.

* gcc.dg/tree-prof/val-prof-7.c: Declare bzero instead of
including <strings.h>.

From-SVN: r180251

12 years agoUse @smallexample instead of @quotation in cppopts.texi
Dodji Seketeli [Thu, 20 Oct 2011 12:36:55 +0000 (12:36 +0000)]
Use @smallexample instead of @quotation in cppopts.texi

gcc/
PR other/50659
* doc/cppopts.texi: Use @smallexample/@end smallexample in
documentation for -fdebug-cpp instead of @quotation/@end quotation
that is not supported by contrib/texi2pod.pl.

From-SVN: r180250

12 years agoipa-inline.c (inline_small_functions): Always update all calles after inlining.
Jan Hubicka [Thu, 20 Oct 2011 12:18:56 +0000 (14:18 +0200)]
ipa-inline.c (inline_small_functions): Always update all calles after inlining.

* ipa-inline.c (inline_small_functions): Always update all calles after
inlining.

From-SVN: r180249

12 years agolto.c (node_cmp, [...]): New functions.
Jan Hubicka [Thu, 20 Oct 2011 11:49:31 +0000 (13:49 +0200)]
lto.c (node_cmp, [...]): New functions.

* lto.c (node_cmp, varpool_node_cmp): New functions.
(lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
(cmp_partitions): Rename to ...
(cmp_partitions_size): ... this one.
(cmp_partitions_order): New function.
(lto_wpa_write_files): Sort partitions by order when
-fno-toplevel-reorder is used.

From-SVN: r180248

12 years agore PR bootstrap/50709 (stage3 bootstrap comparison failure with --disable-checking...
Jan Hubicka [Thu, 20 Oct 2011 11:46:08 +0000 (13:46 +0200)]
re PR bootstrap/50709 (stage3 bootstrap comparison failure with --disable-checking config option)

PR bootstrap/50709
* ipa-inline.c (inline_small_functions): Fix checking code to not make
effect on fibheap stability.

From-SVN: r180247

12 years agoMake-lang.in (GNATLIBFLAGS, [...]): Reintroduce.
Eric Botcazou [Thu, 20 Oct 2011 11:33:35 +0000 (11:33 +0000)]
Make-lang.in (GNATLIBFLAGS, [...]): Reintroduce.

* gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
TRACE): Reintroduce.
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.

From-SVN: r180246

12 years agolto.exp (lto_init): Test slib lto and no-liker-plugin path.
Jan Hubicka [Thu, 20 Oct 2011 11:33:07 +0000 (13:33 +0200)]
lto.exp (lto_init): Test slib lto and no-liker-plugin path.

* lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
* lto/c-torture.exp: Likewise.
* execute/bultins/strstr-asm.c: Force fat LTO.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-3.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/920507-1.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* g++.dg/torture/pr34850.C: Likewise.

From-SVN: r180245

12 years agot-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
Maxim Kuvyrkov [Thu, 20 Oct 2011 11:29:56 +0000 (11:29 +0000)]
t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.

gcc/
* config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.

From-SVN: r180244

12 years agotrans.c (lhs_or_actual_p): New predicate.
Eric Botcazou [Thu, 20 Oct 2011 11:03:54 +0000 (11:03 +0000)]
trans.c (lhs_or_actual_p): New predicate.

* gcc-interface/trans.c (lhs_or_actual_p): New predicate.
(unchecked_conversion_nop): Use it.
(gnat_to_gnu): Likewise.

From-SVN: r180243

12 years agoback_end.adb (Call_Back_End): Pass the maximum logical line number instead of the...
Eric Botcazou [Thu, 20 Oct 2011 10:56:08 +0000 (10:56 +0000)]
back_end.adb (Call_Back_End): Pass the maximum logical line number instead of the maximum physical line...

* back_end.adb (Call_Back_End): Pass the maximum logical line number
instead of the maximum physical line number to gigi.
* gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.

From-SVN: r180242

12 years agore PR target/50106 ([ARM] Wrong code with -march=armv5t -mthumb -Os)
Ramana Radhakrishnan [Thu, 20 Oct 2011 09:07:30 +0000 (09:07 +0000)]
re PR target/50106 ([ARM] Wrong code with -march=armv5t -mthumb -Os)

2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

       PR target/50106
       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
reg size from 1-3.

From-SVN: r180240

12 years agoFix thinko in _cpp_remaining_tokens_num_in_context
Dodji Seketeli [Thu, 20 Oct 2011 08:49:29 +0000 (08:49 +0000)]
Fix thinko in _cpp_remaining_tokens_num_in_context

libcpp/

* lex.c (_cpp_remaining_tokens_num_in_context): Fix computation of
number of tokens.

From-SVN: r180239

12 years agotree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR and rotates to the set of expen...
Richard Guenther [Thu, 20 Oct 2011 07:57:48 +0000 (07:57 +0000)]
tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR and rotates to the set of expensive operations.

2011-10-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
and rotates to the set of expensive operations.

From-SVN: r180237

12 years agoFix minor issues
Eric Botcazou [Thu, 20 Oct 2011 06:18:09 +0000 (06:18 +0000)]
Fix minor issues

From-SVN: r180236

12 years agoUse can_create_pseudo_p() in the sparc backend.
David S. Miller [Thu, 20 Oct 2011 04:16:45 +0000 (04:16 +0000)]
Use can_create_pseudo_p() in the sparc backend.

gcc/

* config/sparc/sparc.c (sparc_expand_move): Use
can_create_pseudo_p.
(sparc_emit_set_const32): Likewise.
(sparc_emit_set_const64_longway): Likewise.
(sparc_emit_set_const64): Likewise.
(sparc_legitimize_pic_address): Likewise.
(memory_ok_for_ldd): Likewise.

From-SVN: r180235

12 years agoprofile.c (compute_branch_probabilities): Compute and dump the overlap between the...
Dehao Chen [Thu, 20 Oct 2011 00:39:12 +0000 (00:39 +0000)]
profile.c (compute_branch_probabilities): Compute and dump the overlap between the static estimation and the...

2011-10-20  Dehao Chen  <dehao@google.com>

* profile.c (compute_branch_probabilities): Compute and dump the
overlap between the static estimation and the instrumentation profile.
(OVERLAP_BASE): New macro.
(compute_frequency_overlap): New function

From-SVN: r180233

12 years agoDaily bump.
GCC Administrator [Thu, 20 Oct 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180232