platform/upstream/gcc.git
10 years ago[AArch64] Fix SYMBOL_REF symbol classification.
Marcus Shawcroft [Thu, 6 Feb 2014 10:17:18 +0000 (10:17 +0000)]
[AArch64] Fix SYMBOL_REF symbol classification.

The symbol classification logic in correctly classifies all
SYMBOL_REF's as SYMBOL_FORCE_TO_MEM, the intention of the code is to
catch only the large memory model case.

From-SVN: r207544

10 years ago2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
Arnaud Charlet [Thu, 6 Feb 2014 10:13:42 +0000 (11:13 +0100)]
2014-02-06  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
gnatelim.

2014-02-06  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_rm.texi (Pragma Optimize_Alignment): Document the effect
of the pragma on individual objects.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Node29 is now used as BIP_Initialization_Call.
(BIP_Initialization_Call): New routine.
(Set_BIP_Initialization_Call): New routine.
(Write_Field29_Name): Add an entry for constants and variables.
* einfo.ads Add new attribute BIP_Initialization_Call and update
its usage in nodes.
(BIP_Initialization_Call): New routine along with pragma Inline.
(Set_BIP_Initialization_Call): New routine along with pragma Inline.
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
Add local declaration Res_Decl. Capture the build-in-place
initialization call when the related object declaration has
created a transient block.
* exp_ch7.adb (Process_Transient_Objects): Add local variable
Fin_Insrt. Recognize a scenario where an object declaration acts
as a transient context and is initialized by a build-in-place
function call.

From-SVN: r207543

10 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Feb 2014 10:11:07 +0000 (11:11 +0100)]
[multiple changes]

2014-02-06  Pascal Obry  <obry@adacore.com>

* prj-util.adb (For_Interface_Sources): Fix handling of required
bodies for aggregate libs.

2014-02-06  Robert Dewar  <dewar@adacore.com>

* nlists.ads: Minor comment clarifications.

2014-02-06  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
if gnatd.V set.
* opt.ads (Modify_Tree_For_C): New flag.
* output.ads, output.adb (Last_Char): New function.

2014-02-06  Pascal Obry  <obry@adacore.com>

* projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add
share/gpr for cross-builds.

From-SVN: r207542

10 years agoFix pr59597.c test to work with PIC variants too
Ian Bolton [Thu, 6 Feb 2014 10:10:41 +0000 (10:10 +0000)]
Fix pr59597.c test to work with PIC variants too

From-SVN: r207541

10 years agoexp_util.ads, [...]: Minor reformatting and code clean ups.
Robert Dewar [Thu, 6 Feb 2014 10:08:16 +0000 (10:08 +0000)]
exp_util.ads, [...]: Minor reformatting and code clean ups.

2014-02-06  Robert Dewar  <dewar@adacore.com>

* exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb:
Minor reformatting and code clean ups.

From-SVN: r207540

10 years agoaarch64-cores.def (cortex-a53): Specify CRC32 and crypto support.
Kyrylo Tkachov [Thu, 6 Feb 2014 10:08:12 +0000 (10:08 +0000)]
aarch64-cores.def (cortex-a53): Specify CRC32 and crypto support.

2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
and crypto support.
(cortex-a57): Likewise.
(cortex-a57.cortex-a53): Likewise.

From-SVN: r207539

10 years agoprj-util.adb (For_Interface_Sources): Skip non compilable languages.
Pascal Obry [Thu, 6 Feb 2014 10:06:38 +0000 (10:06 +0000)]
prj-util.adb (For_Interface_Sources): Skip non compilable languages.

2014-02-06  Pascal Obry  <obry@adacore.com>

* prj-util.adb (For_Interface_Sources): Skip non compilable languages.
* prj.ads: Minor typo fix in comment.

From-SVN: r207538

10 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Feb 2014 10:04:39 +0000 (11:04 +0100)]
[multiple changes]

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add
local variable Expr. Flag clauses with extra parenthesis as this
is not allowed by the syntax of the pragma. Code reformatting.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize
variables. Rename variabme Tnn to Temp. Do not create a temporary
if assertions are disabled. Find enclosing routine _Postconditions
and insert the temporary that captures the value of the prefix
before the routine.
* exp_ch6.adb (Build_Postconditions_Procedure):
Insert the generated _Postconditions routine
before the first source declaration of the related
subprogram.
(Insert_After_Last_Declaration): Removed.
(Insert_Before_First_Source_Declaration): New routine.

2014-02-06  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb, exp_util.ads (Within_Internal_Subprogram):
Utility to determine whether current expansion is for the body
of a predefined primitive operation.
(Make_Predicate_Check): Use Within_Internal_Subpgram
* checks.adb (Apply_Predicate_Check): Use
Within_Internal_Subprogram
* sem_ch13.adb (Freeze_Entity_Checks): Ditto.

2014-02-06  Pascal Obry  <obry@adacore.com>

* prj.ads, prj-util.adb: Minor reformatting.

From-SVN: r207537

10 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Feb 2014 09:58:37 +0000 (10:58 +0100)]
[multiple changes]

2014-02-06  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item):
Take into account the Split_PPC flag to ensure that conjuncts
in a composite postcondition aspect are tested in source order.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal
use of SPARK_Mode.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag
illegal use of SPARK_Mode.
(Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode.
* sem_prag.adb (Analyze_Pragma): Code reformatting.
* sem_util.adb Add with and use clause for Aspects.
(Check_SPARK_Mode_In_Generic): New routine.
* sem_util.ads (Check_SPARK_Mode_In_Generic): New routine.

2014-02-06  Thomas Quinot  <quinot@adacore.com>

* a-calend.adb (Formatting_Operations.Split): Ensure that
Time_Error is raised for invalid time values.

From-SVN: r207536

10 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Feb 2014 09:56:29 +0000 (10:56 +0100)]
[multiple changes]

2014-02-06  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb (Analyze_Pragma): Rewrite as a null statement
in GNATprove_Mode.

2014-02-06  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag.
* exp_ch3.adb (Build_Dcheck_Function): Set
Is_Discriminant_Check_Function.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Is_Subprogram_Call): Inspect
the original tree in certain cases where a construct has been
factored out and replaced by a reference to a temporary.

2014-02-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Process_Full_View): Fix typo in the order of
parameters when propagating predicate function to full view.
(Find_Type_Of_Object): Freeze base type of object type to catch
premature use of discriminated private type without a full view.

From-SVN: r207535

10 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Feb 2014 09:53:00 +0000 (10:53 +0100)]
[multiple changes]

2014-02-06  Robert Dewar  <dewar@adacore.com>

* sprint.adb: Minor reformatting.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Process_Transient_Object): Add local variable
Temp_Ins. When the transient object is initialized by an
aggregate, the hook must capture the object after the last
component assignment takes place.
* exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to
routine Is_Subprogram_Call.
(Is_Subprogram_Call): Inspect an
aggregate that has been heavily expanded for subprogram calls.
(Process_Transient_Objects): Add local variables Expr, Ptr_Id
and Temp_Ins.  Remove the nested declare block and adjust the
indentation. When the transient object is initialized by an
aggregate, the hook must capture the object after the last
component assignment takes place.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Global_Item): Detect illegal uses of
external states with enabled properties that do not match the
global mode.
(Property_Error): New routine.
* sem_res.adb (Property_Error): New routine.
(Resolve_Actuals): Detect illegal uses of external variables with
enabled properties in procedure calls that do not match the mode of
the corresponding formal parameter.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Has_Enabled_Property): Rename
formal parameter Prop_Nam to Property. Update the comment on usage
and all occurrences in the body. Add local variable Prop_Nam. When
inspecting a property with an expression, the property name
appears as the first choice of the component association.

From-SVN: r207534

10 years agoarm.c (arm_vector_alignment_reachable): Check unaligned_access.
Yury Gribov [Thu, 6 Feb 2014 09:48:15 +0000 (09:48 +0000)]
arm.c (arm_vector_alignment_reachable): Check unaligned_access.

2014-02-06  Yury Gribov  <y.gribov@samsung.com>
    Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/
* config/arm/arm.c (arm_vector_alignment_reachable): Check
unaligned_access.
* config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.

testsuite/
* gcc.target/arm/vect-noalign.c: New file.

Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>
From-SVN: r207533

10 years agotree-cfg.c (gimple_duplicate_sese_region): Fix ordering of set_loop_copy and initiali...
Richard Biener [Thu, 6 Feb 2014 09:41:44 +0000 (09:41 +0000)]
tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of set_loop_copy and initialize_original_copy_tables.

2014-02-06  Richard Biener  <rguenther@suse.de>

* tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
set_loop_copy and initialize_original_copy_tables.

From-SVN: r207532

10 years ago[AArch64] Shift right pattern fix
Alex Velenko [Thu, 6 Feb 2014 09:27:57 +0000 (09:27 +0000)]
[AArch64] Shift right pattern fix

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_ashr_simddi): Change QI to SI.

From-SVN: r207531

10 years agore PR middle-end/60013 (Build of 176.gcc from CPU2000 loops in cc1 starting with...
Jan Hubicka [Thu, 6 Feb 2014 07:39:24 +0000 (08:39 +0100)]
re PR middle-end/60013 (Build of 176.gcc from CPU2000 loops in cc1 starting with r207231)

PR middle-end/60013
* ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
of the dataflow.
* gcc.dg/pr60013.c: New testcase.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r207529

10 years agoDaily bump.
GCC Administrator [Thu, 6 Feb 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207528

10 years agors6000.c (altivec_expand_vec_perm_const): Change CODE_FOR_altivec_vpku[hw]um to CODE_...
Bill Schmidt [Wed, 5 Feb 2014 23:54:57 +0000 (23:54 +0000)]
rs6000.c (altivec_expand_vec_perm_const): Change CODE_FOR_altivec_vpku[hw]um to CODE_FOR_altivec_vpku[hw]um_direct.

2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
CODE_FOR_altivec_vpku[hw]um to
CODE_FOR_altivec_vpku[hw]um_direct.
* config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
(vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
UNSPEC_VUNPACK_LO_SIGN_DIRECT.

From-SVN: r207525

10 years agore PR c/53123 (Double return statement in c-omp.c source file)
Marek Polacek [Wed, 5 Feb 2014 21:06:56 +0000 (21:06 +0000)]
re PR c/53123 (Double return statement in c-omp.c source file)

PR c/53123
c-family/
* c-omp.c (c_finish_omp_atomic): Remove unreachable return
statement.

From-SVN: r207524

10 years ago* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
Jan Hubicka [Wed, 5 Feb 2014 20:42:37 +0000 (20:42 +0000)]
* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.

From-SVN: r207523

10 years agoaltivec.md (altivec_vsum2sws): Adjust code generation for -maltivec=be.
Bill Schmidt [Wed, 5 Feb 2014 20:15:57 +0000 (20:15 +0000)]
altivec.md (altivec_vsum2sws): Adjust code generation for -maltivec=be.

gcc:

2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
generation for -maltivec=be.
(altivec_vsumsws): Simplify redundant test.

gcc/testsuite:

2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/sum2s.c: New.
* gcc.dg/vmx/sum2s-be-order.c: New.

From-SVN: r207521

10 years agoaltivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
Bill Schmidt [Wed, 5 Feb 2014 20:07:51 +0000 (20:07 +0000)]
altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.

gcc:

2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
(UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
(UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
(mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
gen_altivec_vpkuwum.
(altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
BYTES_BIG_ENDIAN.
(altivec_vpks<VI_char>ss): Likewise.
(altivec_vpks<VI_char>us): Likewise.
(altivec_vpku<VI_char>us): Likewise.
(altivec_vpku<VI_char>um): Likewise.
(altivec_vpku<VI_char>um_direct): New (copy of
altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
internal use).
(altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
target is little endian and -maltivec=be is not specified.
(*altivec_vupkhs<VU_char>_direct): New (copy of
altivec_vupkhs<VU_char> that always emits vupkhs*, for internal
use).
(altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
target is little endian and -maltivec=be is not specified.
(*altivec_vupkls<VU_char>_direct): New (copy of
altivec_vupkls<VU_char> that always emits vupkls*, for internal
use).
(altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
little endian and -maltivec=be is not specified.
(altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
little endian and -maltivec=be is not specified.

gcc/testsuite:

2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/pack.c: New.
* gcc.dg/vmx/pack-be-order.c: New.
* gcc.dg/vmx/unpack.c: New.
* gcc.dg/vmx/unpack-be-order.c: New.

From-SVN: r207520

10 years agocatch_exc.cc: Disable test for -O1.
Balaji V. Iyer [Wed, 5 Feb 2014 19:46:33 +0000 (11:46 -0800)]
catch_exc.cc: Disable test for -O1.

2014-02-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * g++.dg/cilk-plus/CK/catch_exc.cc: Disable test for -O1.
        * c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.

From-SVN: r207519

10 years agore PR debug/52727 (internal compiler error at dwarf2cfi.c2:685)
Richard Henderson [Wed, 5 Feb 2014 18:42:19 +0000 (10:42 -0800)]
re PR debug/52727 (internal compiler error at dwarf2cfi.c2:685)

PR debug/52727

        * combine-stack-adj.c: Revert r206943.
        * sched-int.h (struct deps_desc): Add last_args_size.
        * sched-deps.c (init_deps): Initialize it.
        (sched_analyze_insn): Add OUTPUT dependencies between insns that
        contain REG_ARGS_SIZE notes.

From-SVN: r207518

10 years agolto-cgraph.c (asm_nodes_output): Make global.
Jan Hubicka [Wed, 5 Feb 2014 17:22:08 +0000 (17:22 +0000)]
lto-cgraph.c (asm_nodes_output): Make global.

* lto-cgraph.c (asm_nodes_output): Make global.
* lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
* gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
parameter
(driver_handle_option): Handle OPT_fwpa.

From-SVN: r207516

10 years agolto-cgraph.c (asm_nodes_output): Make global.
Jan Hubicka [Wed, 5 Feb 2014 17:21:07 +0000 (18:21 +0100)]
lto-cgraph.c (asm_nodes_output): Make global.

* lto-cgraph.c (asm_nodes_output): Make global.
* lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
* gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
parameter
(driver_handle_option): Handle OPT_fwpa.

* lto.c (lto_parallelism): New static var.
(do_stream_out, wait_for_child, stream_out): New static functions.
(lto_wpa_write_files): Add support for parallel streaming.
(do_whole_program_analysis): Set parallelism.
* lang.opt (fwpa): Add parameter.
* lto-lang.c (lto_handle_option): Handle flag_wpa.
(lto_init): Update use of flag_wpa.
* lto-streamer.h (asm_nodes_output): Declare.

From-SVN: r207515

10 years agoFix gcc.target/i386/avx512f-vrndscaless-2.c on Solaris 9/x86
Rainer Orth [Wed, 5 Feb 2014 16:36:13 +0000 (16:36 +0000)]
Fix gcc.target/i386/avx512f-vrndscaless-2.c on Solaris 9/x86

* gcc.target/i386/avx512f-vrndscaless-2.c (compute_rndscaless):
Use __builtin_floorf, __builtin_ceilf.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c (floorf): Remove
declaration.
(TEST): Use __builtin_floorf.
* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.

From-SVN: r207514

10 years agore PR ipa/59947 (Segmentation fault with #pragma GCC optimize ("O2"), ICE in get_odr_...
Jakub Jelinek [Wed, 5 Feb 2014 15:34:25 +0000 (16:34 +0100)]
re PR ipa/59947 (Segmentation fault with #pragma GCC optimize ("O2"), ICE in get_odr_type)

PR ipa/59947
* ipa-devirt.c (possible_polymorphic_call_targets): Fix
a comment typo and formatting issue.  If odr_hash hasn't been
created, return vNULL and set *completep to false.

* g++.dg/opt/pr59947.C: New test.

From-SVN: r207512

10 years agore PR c++/58703 (ICE with invalid types in OpenMP declare reduction clause)
Jakub Jelinek [Wed, 5 Feb 2014 15:32:01 +0000 (16:32 +0100)]
re PR c++/58703 (ICE with invalid types in OpenMP declare reduction clause)

PR c++/58703
* parser.c (cp_parser_omp_declare_reduction): Save and free
declarator_obstack.

* c-c++-common/gomp/pr58703.c: New test.

From-SVN: r207511

10 years agolto.h (lto_global_var_decls): Remove.
Richard Biener [Wed, 5 Feb 2014 15:23:36 +0000 (15:23 +0000)]
lto.h (lto_global_var_decls): Remove.

2014-02-05  Richard Biener  <rguenther@suse.de>

lto/
* lto.h (lto_global_var_decls): Remove.
* lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
(lto_write_globals): Do nothing in WPA stage, gather globals from
the varpool here ...
* lto.c (lto_main): ... not here.
(materialize_cgraph): Do not call rest_of_decl_compilation
on the empty lto_global_var_decls vector.
(lto_global_var_decls): Remove.

From-SVN: r207510

10 years agore PR target/60076 (gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC)
Richard Biener [Wed, 5 Feb 2014 15:14:56 +0000 (15:14 +0000)]
re PR target/60076 (gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC)

2014-02-05  Richard Biener  <rguenther@suse.de>

PR testsuite/60076
* gcc.dg/vect/pr60012.c: Require vect_extract_even_odd and
avoid using unsigned long long.

From-SVN: r207509

10 years agoconfig.host: Include t-floattodi also for s390x.
Andreas Krebbel [Wed, 5 Feb 2014 15:02:50 +0000 (15:02 +0000)]
config.host: Include t-floattodi also for s390x.

2014-02-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config.host: Include t-floattodi also for s390x.
* config/s390/32/_fixdfdi.c: Omit in 64 bit mode.
* config/s390/32/_fixsfdi.c: Likewise.
* config/s390/32/_fixtfdi.c: Likewise.
* config/s390/32/_fixunsdfdi.c: Likewise.
* config/s390/32/_fixunssfdi.c: Likewise.
* config/s390/32/_fixunstfdi.c: Likewise.

From-SVN: r207507

10 years agore PR middle-end/57499 (ICE when noreturn destructor returns after throw with -O)
Jakub Jelinek [Wed, 5 Feb 2014 14:34:30 +0000 (15:34 +0100)]
re PR middle-end/57499 (ICE when noreturn destructor returns after throw with -O)

PR middle-end/57499
* tree-eh.c (cleanup_empty_eh): Bail out on totally empty
bb with no successors.

* g++.dg/torture/pr57499.C: New test.

From-SVN: r207504

10 years ago[ARM Documentation] Clarify -mcpu, -mtune, -march
James Greenhalgh [Wed, 5 Feb 2014 11:42:50 +0000 (11:42 +0000)]
[ARM Documentation] Clarify -mcpu, -mtune, -march

gcc/

PR target/59718
* doc/invoke.texi (-march=): Clarify documentation for ARM.
(-mtune=): Likewise.
(-mcpu=): Likewise.

From-SVN: r207501

10 years agotree-vect-loop.c (vect_analyze_loop_2): Be more informative when not vectorizing...
Richard Biener [Wed, 5 Feb 2014 10:28:26 +0000 (10:28 +0000)]
tree-vect-loop.c (vect_analyze_loop_2): Be more informative when not vectorizing because of too many alias checks.

2014-02-05  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_loop_2): Be more informative
when not vectorizing because of too many alias checks.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.

From-SVN: r207499

10 years agomn10300.c (mn10300_hard_regno_mode_ok): Do not accept extended registers in any mode...
Nick Clifton [Wed, 5 Feb 2014 09:47:59 +0000 (09:47 +0000)]
mn10300.c (mn10300_hard_regno_mode_ok): Do not accept extended registers in any mode when compiling for the MN10300.

* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
accept extended registers in any mode when compiling for the
MN10300.

From-SVN: r207498

10 years agore PR sanitizer/59600 (no_sanitize_address mishandled when function is inlined)
Yury Gribov [Wed, 5 Feb 2014 05:22:29 +0000 (05:22 +0000)]
re PR sanitizer/59600 (no_sanitize_address mishandled when function is inlined)

PR sanitizer/59600

gcc/
* cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
* ipa-inline.c (report_inline_failed_reason): Handle mismatched
sanitization attributes.
(can_inline_edge_p): Likewise.
(sanitize_attrs_match_for_inline_p): New function.

gcc/testsuite/
* gcc.dg/asan/nosanitize-and-inline.c: : New test.

From-SVN: r207497

10 years agoipa-prop.c (detect_type_change): Shor circuit testing of type changes on THIS pointer.
Jan Hubicka [Wed, 5 Feb 2014 00:52:53 +0000 (01:52 +0100)]
ipa-prop.c (detect_type_change): Shor circuit testing of type changes on THIS pointer.

* ipa-prop.c (detect_type_change): Shor circuit testing of
type changes on THIS pointer.

* g++.dg/ipa/devirrt-22.C: Fix template.

From-SVN: r207495

10 years agore PR target/59777 (Incorrect expansion of TLS arguments in a call)
John David Anglin [Wed, 5 Feb 2014 00:43:56 +0000 (00:43 +0000)]
re PR target/59777 (Incorrect expansion of TLS arguments in a call)

PR target/59777
* config/pa/pa.c (legitimize_tls_address): Return original address
if not passed a SYMBOL_REF rtx.
(hppa_legitimize_address): Call legitimize_tls_address for all TLS
addresses.
(pa_emit_move_sequence): Simplify TLS source operands.
(pa_legitimate_constant_p): Reject all TLS constants.
* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
(CONSTANT_ADDRESS_P): Reject TLS CONST addresses.

From-SVN: r207493

10 years agoDaily bump.
GCC Administrator [Wed, 5 Feb 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207492

10 years agoipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY groups when we...
Jan Hubicka [Tue, 4 Feb 2014 23:26:36 +0000 (00:26 +0100)]
ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY groups when we know they are controlled by LTO.

* ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
groups when we know they are controlled by LTO.
* varasm.c (default_binds_local_p_1): If object is in other partition,
it will be resolved locally.

* lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
needs duplicating, not generic COMDAT.

From-SVN: r207489

10 years agohost-linux.c (linux_gt_pch_use_address): Don't use SSIZE_MAX because it is not always...
Bernd Edlinger [Tue, 4 Feb 2014 21:08:29 +0000 (21:08 +0000)]
host-linux.c (linux_gt_pch_use_address): Don't use SSIZE_MAX because it is not always defined.

2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc/config/host-linux.c (linux_gt_pch_use_address): Don't
        use SSIZE_MAX because it is not always defined.

From-SVN: r207488

10 years agore PR bootstrap/59913 ([4.9 Regresion] bootstrap failure on arm-linux-gnueabihf)
Vladimir Makarov [Tue, 4 Feb 2014 18:56:59 +0000 (18:56 +0000)]
re PR bootstrap/59913 ([4.9 Regresion] bootstrap failure on arm-linux-gnueabihf)

2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/59913
* lra-constraints.c (need_for_split_p): Use more 3 reloads as
threshold for pseudo splitting.
(update_ebb_live_info): Process call argument hard registers and
hard registers from insn definition too.
(max_small_class_regs_num): New constant.
(inherit_in_ebb): Update live hard regs through EBBs.  Update
reloads_num only for small register classes.  Don't split for
outputs of jumps.

From-SVN: r207485

10 years agore PR c/60036 (Spurious signedness conversion warning with relational operator)
Marek Polacek [Tue, 4 Feb 2014 18:05:29 +0000 (18:05 +0000)]
re PR c/60036 (Spurious signedness conversion warning with relational operator)

PR c/60036
c-family/
* c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
SAVE_EXPR.
testsuite/
* gcc.dg/pr60036.c: New test.

From-SVN: r207481

10 years agore PR ipa/60058 (internal compiler error: Segmentation fault)
Markus Trippelsdorf [Tue, 4 Feb 2014 17:25:38 +0000 (17:25 +0000)]
re PR ipa/60058 (internal compiler error: Segmentation fault)

PR ipa/60058
* ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
is non-null.
* g++.dg/torture/pr60058.C: New testcase.

From-SVN: r207478

10 years ago* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
Jan Hubicka [Tue, 4 Feb 2014 17:16:09 +0000 (17:16 +0000)]
* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.

From-SVN: r207477

10 years ago* gdbinit.in (pel): Define.
Marek Polacek [Tue, 4 Feb 2014 15:34:24 +0000 (15:34 +0000)]
* gdbinit.in (pel): Define.

From-SVN: r207474

10 years agoinvoke.texi (fstrict-volatile-bitfields): Clarify current behavior.
Bernd Edlinger [Tue, 4 Feb 2014 15:18:34 +0000 (15:18 +0000)]
invoke.texi (fstrict-volatile-bitfields): Clarify current behavior.

2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
        behavior.

From-SVN: r207473

10 years ago* g++.dg/tsan/default_options.C: Invert check.
Max Ostapenko [Tue, 4 Feb 2014 15:03:41 +0000 (17:03 +0200)]
* g++.dg/tsan/default_options.C: Invert check.

From-SVN: r207472

10 years agore PR lto/59723 (ICE: in lto_output_tree, at lto-streamer-out.c:1390 when compiling...
Richard Biener [Tue, 4 Feb 2014 14:53:24 +0000 (14:53 +0000)]
re PR lto/59723 (ICE: in lto_output_tree, at lto-streamer-out.c:1390 when compiling some Fortran tests with -flto)

2014-02-04  Richard Biener  <rguenther@suse.de>

PR lto/59723
* lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
in function context local.
(lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
* lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
similar to LTO_imported_decl_ref.

lto/
* lto.c (mentions_vars_p): Handle NAMELIST_DECL.
(lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.

From-SVN: r207471

10 years agoexp_ch5.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 4 Feb 2014 14:52:05 +0000 (14:52 +0000)]
exp_ch5.adb, [...]: Minor reformatting.

2014-02-04  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting.

From-SVN: r207470

10 years ago[multiple changes]
Arnaud Charlet [Tue, 4 Feb 2014 14:49:39 +0000 (15:49 +0100)]
[multiple changes]

2014-02-04  Gary Dismukes  <dismukes@adacore.com>

* sem_aggr.adb: Change "runtime" to "run time" in warning message,
for consistency with other messages.

2014-02-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb  (Expand_Iterator_Loop):  For a container element
iterator, indicate that the element is a constant if the container
type does not have a variable indexing aspect.
* sem_ch8.adb (Analyze_Object_Renaming): If the entity is already
marked as constant, do not reset its Ekind, to ensure that
container elements in an element loop are not modified if the
container (e.g. a hashed set) only has a constant indexing aspect.

2014-02-04  Arnaud Charlet  <charlet@adacore.com>

* g-souinf.ads: Subprograms in this unit are actually not pure.
* freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics.
* einfo.ads (Is_Pure): Update doc to match implementation.

From-SVN: r207469

10 years ago[multiple changes]
Arnaud Charlet [Tue, 4 Feb 2014 14:32:37 +0000 (15:32 +0100)]
[multiple changes]

2014-02-04  Gary Dismukes  <dismukes@adacore.com>

* exp_ch13.adb: Minor spelling fix.

2014-02-04  Robert Dewar  <dewar@adacore.com>

* opt.ads: Minor comment update.

2014-02-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite
instead of Replace.

2014-02-04  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings
on null expressions if component type is non-null, when the
corresponding association covers an empty range of index values.

From-SVN: r207468

10 years ago[multiple changes]
Arnaud Charlet [Tue, 4 Feb 2014 14:28:24 +0000 (15:28 +0100)]
[multiple changes]

2014-02-04  Robert Dewar  <dewar@adacore.com>

* sinfo.ads: Further comments on N_Expression_With_Actions node.

2014-02-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
variables Out_Items and Ref_Global. Remove local constant
Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7
and D8. Remove the useless collection of global items as this
was a leftover from an earlier version of the routine. Move
several routines out to avoid deep nesting and indentation.
(Inputs_Match): Add formal parameter Dep_Clause. Rename formal
parameter Do_Checks to Post_Errors. Update the comment on usage.
(Is_Matching_Input): Renamed to Input_Match. Add formal parameters
Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks
to Post_Errors. Update the comment on usage. Account for the
case where a self referential state may have a null input_list.
(Is_Self_Referential): New routine.

2014-02-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the
entity renames an expression, as in the case of an object of
an unconstrained type initialized by a function call, defer the
rewriting of the expression to the expander.
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
'Alignment): If the entity renames an expression, introduce
temporary to capture value, and rewrite original declaration to
use temporary.

From-SVN: r207467

10 years ago[multiple changes]
Arnaud Charlet [Tue, 4 Feb 2014 14:25:46 +0000 (15:25 +0100)]
[multiple changes]

2014-02-04  Gary Dismukes  <dismukes@adacore.com>

* g-comlin.adb: Minor typo fix.

2014-02-04  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_All): Types derived from a formal
access_to_classwide type do not have a finalization master.

2014-02-04  Robert Dewar  <dewar@adacore.com>

* sprint.adb: Minor reformatting.

2014-02-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
cases where Actions is a null list.
* sinfo.ads (N_Expression_With_Actions): Actions can be
temporarily empty during semantic analysis, but must be non-empty
in the final expanded tree.

From-SVN: r207466

10 years agore PR tree-optimization/60002 (ICE: SIGSEGV in skip_artificial_parms_for() with ...
Jakub Jelinek [Tue, 4 Feb 2014 13:38:13 +0000 (14:38 +0100)]
re PR tree-optimization/60002 (ICE: SIGSEGV in skip_artificial_parms_for() with -O2 -fcompare-debug -fdeclone-ctor-dtor -fipa-cp-clone)

PR tree-optimization/60002
* cgraphclones.c (build_function_decl_skip_args): Clear
DECL_LANG_SPECIFIC.

* g++.dg/opt/pr60002.C: New test.

From-SVN: r207465

10 years agore PR tree-optimization/60023 (ICE: verify_gimple failed: dead STMT in EH table with...
Jakub Jelinek [Tue, 4 Feb 2014 13:08:00 +0000 (14:08 +0100)]
re PR tree-optimization/60023 (ICE: verify_gimple failed: dead STMT in EH table with -O3 -fnon-call-exceptions -mavx2)

PR tree-optimization/60023
* tree-if-conv.c (predicate_mem_writes): Pass true instead of
false to gsi_replace.
* tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
has been in some EH region and vec_stmt could throw, add
vec_stmt into the same EH region.
* tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
has no lhs, ignore it.
* internal-fn.c (expand_MASK_LOAD): Likewise.

* g++.dg/vect/pr60023.cc: New test.

From-SVN: r207464

10 years agore PR ipa/60026 (ICE at -O3 on valid code (with the optimize pragma) on x86_64-linux...
Jakub Jelinek [Tue, 4 Feb 2014 13:04:37 +0000 (14:04 +0100)]
re PR ipa/60026 (ICE at -O3 on valid code (with the optimize pragma) on x86_64-linux-gnu)

PR ipa/60026
* tree-inline.c (copy_forbidden): Fail for
__attribute__((optimize (0))) functions.

* c-c++-common/torture/pr60026.c: New test.

From-SVN: r207463

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Jakub Jelinek [Tue, 4 Feb 2014 12:31:30 +0000 (13:31 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)

PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.
(expand_simd_clones): Don't subtract clone_info->inbranch
from simd_clone_struct_alloc argument.

From-SVN: r207462

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Jakub Jelinek [Tue, 4 Feb 2014 12:19:32 +0000 (13:19 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)

PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.

From-SVN: r207461

10 years agore PR rtl-optimization/57915 (ICE in set_address_disp, at rtlanal.c:5537)
Jakub Jelinek [Tue, 4 Feb 2014 12:14:52 +0000 (13:14 +0100)]
re PR rtl-optimization/57915 (ICE in set_address_disp, at rtlanal.c:5537)

PR rtl-optimization/57915
* recog.c (simplify_while_replacing): If all unary/binary/relational
operation arguments are constant, attempt to simplify those.

* gcc.target/i386/pr57915.c: New test.

From-SVN: r207460

10 years agore PR sanitizer/60055 (Invalid binding of __tsan_default_options)
Jakub Jelinek [Tue, 4 Feb 2014 10:46:22 +0000 (11:46 +0100)]
re PR sanitizer/60055 (Invalid binding of __tsan_default_options)

PR sanitizer/60055
* tsan/tsan_flags.cc (__tsan_default_options): Add
SANITIZER_INTERFACE_ATTRIBUTE.  Backport from upstream r200747.
* tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise.

From-SVN: r207459

10 years agoFix g++.dg/init/dso_handle2.C on Solaris
Rainer Orth [Tue, 4 Feb 2014 10:22:23 +0000 (10:22 +0000)]
Fix g++.dg/init/dso_handle2.C on Solaris

* g++.dg/init/dso_handle2.C: Compile with -fuse-cxa-atexit.

From-SVN: r207458

10 years ago* gcc.target/arm/ftest-armv7a-thumb.c: Change aramv7-a to armv7-a.
Renlin Li [Tue, 4 Feb 2014 10:05:30 +0000 (10:05 +0000)]
* gcc.target/arm/ftest-armv7a-thumb.c: Change aramv7-a to armv7-a.

From-SVN: r207457

10 years agore PR middle-end/59261 (FAIL: gcc.dg/vect/bb-slp-26.c -flto -ffat-lto-objects (intern...
Jakub Jelinek [Tue, 4 Feb 2014 09:36:18 +0000 (10:36 +0100)]
re PR middle-end/59261 (FAIL: gcc.dg/vect/bb-slp-26.c -flto -ffat-lto-objects (internal compiler error))

PR middle-end/59261
* expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.

* gcc.dg/pr59261.c: New test.

From-SVN: r207456

10 years agore PR tree-optimization/60012 (Vectorizer generates unnecessary loop versioning for...
Richard Biener [Tue, 4 Feb 2014 09:34:58 +0000 (09:34 +0000)]
re PR tree-optimization/60012 (Vectorizer generates unnecessary loop versioning for alias)

2014-02-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/60012
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
TBAA disambiguation to all DDRs.

* gcc.dg/vect/pr60012.c: New testcase.

From-SVN: r207455

10 years agoEnsure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
Rainer Orth [Tue, 4 Feb 2014 09:31:38 +0000 (09:31 +0000)]
Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)

gcc:
PR target/59788
* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
(LINK_SPEC): Use it for -shared, -shared-libgcc.

libgcc:
PR target/59788
* config/t-slibgcc-sld (libgcc-unwind.map): New target.
(install-libgcc-unwind-map-forbuild): New target.
(all): Depend on install-libgcc-unwind-map-forbuild.
(install-libgcc-unwind-map): New target.
(install): Depend on install-libgcc-unwind-map.

gcc/testsuite:
PR target/59788
* g++.dg/eh/unwind-direct.C: New test.

toplevel:
PR target/59788
* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
*solaris2*.

From-SVN: r207454

10 years agotsan-dg.exp (tsan_init): Set trivial testcase timeout value to 20s.
Uros Bizjak [Tue, 4 Feb 2014 09:08:38 +0000 (10:08 +0100)]
tsan-dg.exp (tsan_init): Set trivial testcase timeout value to 20s.

* lib/tsan-dg.exp (tsan_init): Set trivial testcase
timeout value to 20s.

From-SVN: r207453

10 years agore PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size...
Jakub Jelinek [Tue, 4 Feb 2014 07:37:44 +0000 (08:37 +0100)]
re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10)

PR sanitizer/60038
* sanitizer_common/sanitizer_linux_libcdep.cc: Include
sanitizer_atomic.h and unistd.h.
(kThreadDescriptorSize): Made static, remove initializer and const,
change type to atomic_uintptr_t.
(ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to
query glibc version, compute kThreadDescriptorSize depending on
glibc version minor number.
(GetThreadStackAndTls): Use ThreadDescriptorSize() instead of
kThreadDescriptorSize directly.

From-SVN: r207452

10 years agore PR ipa/59882 (internal compiler error: Segmentation fault)
Jan Hubicka [Tue, 4 Feb 2014 06:28:22 +0000 (07:28 +0100)]
re PR ipa/59882 (internal compiler error: Segmentation fault)

PR ipa/59882
* tree.c (get_binfo_at_offset): Do not get confused by empty classes;
* g++.dg/torture/pr59882.C: New testcase

From-SVN: r207451

10 years agogimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
Jan Hubicka [Tue, 4 Feb 2014 06:04:32 +0000 (07:04 +0100)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.

* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
* gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.

From-SVN: r207450

10 years agore PR ipa/59469 (LLVM build failure with gcc LTO)
Jan Hubicka [Tue, 4 Feb 2014 05:50:18 +0000 (06:50 +0100)]
re PR ipa/59469 (LLVM build failure with gcc LTO)

PR ipa/59469
* lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
merge force_output and forced_by_abi flags.

From-SVN: r207449

10 years agoipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
Jan Hubicka [Tue, 4 Feb 2014 05:40:21 +0000 (06:40 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...

* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.

* testsuite/g++.dg/ipa/devirt-25.C: New testcase.

From-SVN: r207448

10 years agoipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
Jan Hubicka [Tue, 4 Feb 2014 03:42:37 +0000 (04:42 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...

* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.

* g++.dg/ipa/devirt-25.C: New testcase.

From-SVN: r207447

10 years agore PR tree-optimization/59924 (uninit memory hog)
Jakub Jelinek [Tue, 4 Feb 2014 00:46:42 +0000 (01:46 +0100)]
re PR tree-optimization/59924 (uninit memory hog)

PR tree-optimization/59924
* gcc.dg/pr59924.c: New test.

From-SVN: r207446

10 years agoDaily bump.
GCC Administrator [Tue, 4 Feb 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207445

10 years agore PR tree-optimization/59924 (uninit memory hog)
Richard Henderson [Mon, 3 Feb 2014 23:13:08 +0000 (15:13 -0800)]
re PR tree-optimization/59924 (uninit memory hog)

PR tree-opt/59924

        * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
        already processed this node.
        (normalize_one_pred_1): Pass along mark_set.
        (normalize_one_pred): Create and destroy a pointer_set_t.
        (normalize_one_pred_chain): Likewise.

From-SVN: r207442

10 years agore PR gcov-profile/58602 (.gcno files not truncated at gcov_close)
Laurent Alfonsi [Mon, 3 Feb 2014 21:55:36 +0000 (14:55 -0700)]
re PR gcov-profile/58602 (.gcno files not truncated at gcov_close)

PR gcov-profile/58602
        * gcc/gcov-io.c (gcov_open): Open with truncation when mode<0

From-SVN: r207441

10 years agore PR ipa/59831 (ice in cgraph_speculative_call_info with -O3)
Jan Hubicka [Mon, 3 Feb 2014 20:41:30 +0000 (21:41 +0100)]
re PR ipa/59831 (ice in cgraph_speculative_call_info with -O3)

PR ipa/59831
* g++.dg/ipa/devirt-24.C: New testcase.

* ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
Try to devirtualize by the knowledge of virtual table pointer given by
aggregate propagation.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
ipa_print_node_jump_functions): Dump also offset that
is relevant for polymorphic calls.
(determine_known_aggregate_parts): Add arg_type parameter; use it
instead of determining the type from pointer type.
(ipa_compute_jump_functions_for_edge): Update call of
determine_known_aggregate_parts.
* gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
(gimple_get_virt_method_for_binfo): ... here; simplify using
vtable_pointer_value_to_vtable.
* gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
* ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
(vtable_pointer_value_to_vtable): Break out from ...; handle also
POINTER_PLUS_EXPR.
(vtable_pointer_value_to_binfo): ... here.
* ipa-utils.h (vtable_pointer_value_to_vtable): Declare.

From-SVN: r207439

10 years agotree-vect-slp.c (vect_supported_load_permutation_p): Avoid redef of outer loop index...
Teresa Johnson [Mon, 3 Feb 2014 19:12:58 +0000 (19:12 +0000)]
tree-vect-slp.c (vect_supported_load_permutation_p): Avoid redef of outer loop index variable.

2014-02-03  Teresa Johnson  <tejohnson@google.com>

* tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
redef of outer loop index variable.

From-SVN: r207437

10 years agore PR c++/53017 (Integer constant expression not constant enough for vector_size)
Marc Glisse [Mon, 3 Feb 2014 19:07:55 +0000 (20:07 +0100)]
re PR c++/53017 (Integer constant expression not constant enough for vector_size)

2014-02-03  Marc Glisse  <marc.glisse@inria.fr>

PR c++/53017
PR c++/59211
gcc/c-family/
* c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
handle_vector_size_attribute, handle_nonnull_attribute): Call
default_conversion on the attribute argument.
(handle_nonnull_attribute): Increment the argument number.
gcc/cp/
* tree.c (handle_init_priority_attribute): Call default_conversion on
the attribute argument.
gcc/
* doc/extend.texi (Function Attributes): Typo.
gcc/testsuite/
* c-c++-common/attributes-1.c: New testcase.
* g++.dg/cpp0x/constexpr-attribute2.C: Likewise.

From-SVN: r207436

10 years agore PR c++/58871 ([c++11] ICE with defaulted copy constructor in broken template class...
Paolo Carlini [Mon, 3 Feb 2014 18:22:46 +0000 (18:22 +0000)]
re PR c++/58871 ([c++11] ICE with defaulted copy constructor in broken template class hierarchy)

/cp
2014-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58871
* method.c (synthesized_method_walk): If vbases is non-null but
is_empty is true, likewise don't worry about the virtual bases.

/testsuite
2014-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58871
* g++.dg/cpp0x/pr58871.C: New.

From-SVN: r207434

10 years agore PR tree-optimization/60000 (GCC trunk build failure caused by the vectorizer)
Cong Hou [Mon, 3 Feb 2014 18:15:56 +0000 (13:15 -0500)]
re PR tree-optimization/60000 (GCC trunk build failure caused by the vectorizer)

2014-02-03  Cong Hou  <congh@google.com>

PR tree-optimization/60000
* tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
if the vectorized statement is a store.  A store statement can only
appear at the end of pattern statements.

2014-02-03  Cong Hou  <congh@google.com>

PR tree-optimization/60000
* g++.dg/vect/pr60000.cc: New test.

From-SVN: r207433

10 years agoltmain.sh: Patch for Solaris.
Ian Lance Taylor [Mon, 3 Feb 2014 17:39:44 +0000 (17:39 +0000)]
ltmain.sh: Patch for Solaris.

From Rainer Orth.

From-SVN: r207432

10 years ago* gcc_update (files_and_dependencies): Add aarch64-tune.md.
Brooks Moses [Mon, 3 Feb 2014 17:21:33 +0000 (09:21 -0800)]
* gcc_update (files_and_dependencies): Add aarch64-tune.md.

From-SVN: r207429

10 years agoAdd -mlong-double-128 and make it default for 64-bit Bionic
H.J. Lu [Mon, 3 Feb 2014 15:18:44 +0000 (15:18 +0000)]
Add -mlong-double-128 and make it default for 64-bit Bionic

gcc/

* config/i386/i386.c (flag_opts): Add -mlong-double-128.
(ix86_option_override_internal): Default long double to 64-bit for
32-bit Bionic and to 128-bit for 64-bit Bionic.

* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
TARGET_LONG_DOUBLE_128 is true.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.

* config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
(mlong-double-64): Negate -mlong-double-128.
(mlong-double-128): New option.

* config/i386/i386-c.c (ix86_target_macros): Define
__LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.

* doc/invoke.texi: Document -mlong-double-128.

gcc/testsuite/

* gcc.target/i386/long-double-64-1.c: Verify __multf3 isn't used.
* gcc.target/i386/long-double-64-4.c: Likewise.
* gcc.target/i386/long-double-80-1.c: Likewise.
* gcc.target/i386/long-double-80-2.c: Likewise.
* gcc.target/i386/long-double-80-3.c: Likewise.
* gcc.target/i386/long-double-80-4.c: Likewise.
* gcc.target/i386/long-double-80-5.c: Likewise.
* gcc.target/i386/long-double-64-2.c: Limit to ia32.  Verify
__multf3 isn't used.
* gcc.target/i386/long-double-64-3.c: Likewise.
* gcc.target/i386/long-double-128-1.c: New test.
* gcc.target/i386/long-double-128-2.c: Likewise.
* gcc.target/i386/long-double-128-3.c: Likewise.
* gcc.target/i386/long-double-128-4.c: Likewise.
* gcc.target/i386/long-double-128-5.c: Likewise.
* gcc.target/i386/long-double-128-6.c: Likewise.
* gcc.target/i386/long-double-128-7.c: Likewise.
* gcc.target/i386/long-double-128-8.c: Likewise.
* gcc.target/i386/long-double-128-9.c: Likewise.
* gcc.target/i386/long-double-64-5.c: Likewise.
* gcc.target/i386/long-double-64-6.c: Likewise.
* gcc.target/i386/long-double-64-7.c: Likewise.
* gcc.target/i386/long-double-64-8.c: Likewise.
* gcc.target/i386/long-double-64-9.c: Likewise.
* gcc.target/i386/long-double-80-10.c: Likewise.
* gcc.target/i386/long-double-80-8.c: Likewise.
* gcc.target/i386/long-double-80-9.c: Likewise.

From-SVN: r207428

10 years agoCheck if mode is OK first
H.J. Lu [Mon, 3 Feb 2014 15:06:31 +0000 (15:06 +0000)]
Check if mode is OK first

PR rtl-optimization/60024
* sel-sched.c (init_regs_for_mode): Check if mode is OK first.

From-SVN: r207427

10 years agoinvoke.texi: (fprofile-reorder-functions): Fix typo.
Markus Trippelsdorf [Mon, 3 Feb 2014 13:01:56 +0000 (13:01 +0000)]
invoke.texi: (fprofile-reorder-functions): Fix typo.

2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>

* doc/invoke.texi: (fprofile-reorder-functions): Fix typo.

From-SVN: r207423

10 years agoActually add the test case from the previous commit.
Andrey Belevantsev [Mon, 3 Feb 2014 12:04:33 +0000 (16:04 +0400)]
Actually add the test case from the previous commit.

From-SVN: r207422

10 years agore PR rtl-optimization/57662 (ICE: SIGSEGV in code_motion_process_successors with...
Andrey Belevantsev [Mon, 3 Feb 2014 12:00:23 +0000 (16:00 +0400)]
re PR rtl-optimization/57662 (ICE: SIGSEGV in code_motion_process_successors with -fschedule-insns2 -fselective-scheduling2)

gcc/
PR rtl-optimization/57662
* sel-sched.c (code_motion_path_driver): Do not mark already not
existing blocks in the visiting bitmap.

testsuite/
PR rtl-optimization/57662
* g++.dg/pr57662.C: New test.

From-SVN: r207421

10 years agosel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being...
Andrey Belevantsev [Mon, 3 Feb 2014 11:56:56 +0000 (15:56 +0400)]
sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted.

        * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
        on the insn being emitted.

From-SVN: r207420

10 years ago[Documentation] Remove documentation of gimple_asm_clear_volatile
James Greenhalgh [Mon, 3 Feb 2014 11:51:40 +0000 (11:51 +0000)]
[Documentation] Remove documentation of gimple_asm_clear_volatile

2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
    Will Deacon  <will.deacon@arm.com>

* doc/gimple.texi (gimple_asm_clear_volatile): Remove.

Co-Authored-By: Will Deacon <will.deacon@arm.com>
From-SVN: r207419

10 years ago* config/arm/arm-tables.opt: Regenerate.
Kyrylo Tkachov [Mon, 3 Feb 2014 11:30:36 +0000 (11:30 +0000)]
* config/arm/arm-tables.opt: Regenerate.

From-SVN: r207418

10 years agors6000.c (altivec_expand_vec_perm_le): Generalize for vector types other than V16QImode.
Bill Schmidt [Mon, 3 Feb 2014 01:26:34 +0000 (01:26 +0000)]
rs6000.c (altivec_expand_vec_perm_le): Generalize for vector types other than V16QImode.

gcc:

2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
for vector types other than V16QImode.
* config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
define_expand, and call altivec_expand_vec_perm_le when producing
code with little endian element order.
(*altivec_vperm_<mode>_internal): New insn having previous
behavior of altivec_vperm_<mode>.
(altivec_vperm_<mode>_uns): Change to a define_expand, and call
altivec_expand_vec_perm_le when producing code with little endian
element order.
(*altivec_vperm_<mode>_uns_internal): New insn having previous
behavior of altivec_vperm_<mode>_uns.

gcc/testsuite:

2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/3b-15.c: Remove special handling for little endian.
* gcc.dg/vmx/perm.c: New.
* gcc.dg/vmx/perm-be-order.c: New.

From-SVN: r207415

10 years agoaltivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
Bill Schmidt [Mon, 3 Feb 2014 01:24:31 +0000 (01:24 +0000)]
altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.

gcc:

2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
(altivec_vsumsws): Add handling for -maltivec=be with a little
endian target.
(altivec_vsumsws_direct): New.
(reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
gen_altivec_vsumsws.

gcc/testsuite:

2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/vsums.c: New.
* gcc.dg/vmx/vsums-be-order.c: New.

From-SVN: r207414

10 years agoipa-devirt.c (subbinfo_with_vtable_at_offset, [...]): New functions.
Jan Hubicka [Mon, 3 Feb 2014 00:24:52 +0000 (00:24 +0000)]
ipa-devirt.c (subbinfo_with_vtable_at_offset, [...]): New functions.

* ipa-devirt.c (subbinfo_with_vtable_at_offset,
vtable_pointer_value_to_binfo): New functions.
* ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
* ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
* g++.dg/ipa/devirt-23.C: New testcase.
* g++.dg/ipa/devirt-20.C: Fix template.

From-SVN: r207413

10 years agoDaily bump.
GCC Administrator [Mon, 3 Feb 2014 00:17:12 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207412

10 years agonios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_...
Sandra Loosemore [Sun, 2 Feb 2014 22:12:17 +0000 (17:12 -0500)]
nios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.

2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.md (load_got_register): Initialize GOT
pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
* config/nios2/nios2.c (nios2_function_profiler): Likewise.

libgcc/
* config/nios2/crti.S (_init): Initialize GOT pointer from
_gp_got instead of _GLOBAL_OFFSET_TABLE_.

From-SVN: r207409

10 years agore PR c++/37140 (type inherited from base class not recognized)
Fabien Chêne [Sun, 2 Feb 2014 20:02:37 +0000 (21:02 +0100)]
re PR c++/37140 (type inherited from base class not recognized)

2014-02-02  Fabien Chene  <fabien@gcc.gnu.org>
        PR c++/37140
        * parser.c (cp_parser_nonclass_name): Call strip_using_decl and
move the code handling dependent USING_DECLs...
        * name-lookup.c (strip_using_decl): ...Here.

2014-02-02  Fabien Chene  <fabien@gcc.gnu.org>

        PR c++/37140
        * g++.dg/template/using27.C: New.
* g++.dg/template/using28.C: New.
* g++.dg/template/using29.C: New.

From-SVN: r207408

10 years agore PR c++/37140 (type inherited from base class not recognized)
Fabien Chêne [Sun, 2 Feb 2014 19:58:06 +0000 (20:58 +0100)]
re PR c++/37140 (type inherited from base class not recognized)

2014-02-02  Fabien Chene  <fabien@gcc.gnu.org>
        PR c++/37140
        * parser.c (cp_parser_nonclass_name): Call strip_using_decl and
move the code handling dependent USING_DECLs...
        * name-lookup.c (strip_using_decl): ...Here.

2014-02-02  Fabien Chene  <fabien@gcc.gnu.org>

        PR c++/37140
        * g++.dg/template/using27.C: New.
* g++.dg/template/using28.C: New.
* g++.dg/template/using29.C: New.

From-SVN: r207407

10 years agoipa-prop.c (update_jump_functions_after_inlining): When type is not preserverd by...
Jan Hubicka [Sun, 2 Feb 2014 18:56:33 +0000 (19:56 +0100)]
ipa-prop.c (update_jump_functions_after_inlining): When type is not preserverd by passthrough, do not propagate the type.

* ipa-prop.c (update_jump_functions_after_inlining): When type is not
preserverd by passthrough, do not propagate the type.
* g++.dg/ipa/devirt-23.C: New testcase.

From-SVN: r207405