- 08 Jul, 2016 11 commits
-
-
* gimplify.c (initial_rhs_predicate_for): New. (gimplfy_modify_expr): Gimplify RHS before LHS. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r238175
Jason Merrill committed -
gcc/fortran/ * parse.c (matcha): Define. (decode_oacc_directive): Add spec_only local var and set it. Use matcha to parse acc directives except for routine and declare. Return ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be matched. gcc/testsuite/ * gfortran.dg/goacc/pr71704.f90: New test. From-SVN: r238171
Cesar Philippidis committed -
From-SVN: r238169
Jonathan Wakely committed -
re PR target/71297 (ICE on invalid code in altivec_resolve_overloaded_builtin (rs6000-c.c:5106) on powerpc64le-linux) [gcc] 2016-07-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/71297 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Allow standard error handling to take over when a wrong number of arguments is presented to __builtin_vec_ld () or __builtin_vec_st (). [gcc/testsuite] 2016-07-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/71297 * gcc.target/powerpc/pr71297.c: New. From-SVN: r238168
Bill Schmidt committed -
smin/smax will actually honor quiet NaN. gcc/ * config/aarch64/aarch64-simd-builtins.def (smax): Remove float variants. (smin): Likewise. (fmax): New entry. (fmin): Likewise. * config/aarch64/arm_neon.h (vmaxnm_f32): Use __builtin_aarch64_fmaxv2sf. (vmaxnmq_f32): Likewise. (vmaxnmq_f64): Likewise. (vminnm_f32): Likewise. (vminnmq_f32): Likewise. (vminnmq_f64): Likewise. gcc/testsuite/ * gcc.target/aarch64/simd/vminmaxnm_1.c: New. From-SVN: r238166
Jiong Wang committed -
[gcc] 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71806 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not enable -mfloat128-hardware by default. (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options that IEEE 128-bit hardware support needs. * config/rs6000/rs6000.c (rs6000_option_override_internal): If -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default. Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit floating point requires. * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfloat128 and -mfloat128-hardware changes. [gcc/testsuite] 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71806 * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Add -mfloat128 option. From-SVN: r238164
Michael Meissner committed -
2016-07-08 Alan Hayward <alan.hayward@arm.com> gcc/ PR tree-optimization/71667 * tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts testsuite/ PR tree-optimization/71667 * gcc.dg/vect/pr71667.c: New From-SVN: r238160
Alan Hayward committed -
* invoke.texi (Wundefined-do-loop): Enhance documentation. From-SVN: r238159
Martin Liska committed -
PR middle-end/71606 * fold-const.c (fold_convertible_p): As COMPLEX_TYPE folding produces SAVE_EXPRs, thus return false for the type. * gcc.dg/torture/pr71606.c: New test. From-SVN: r238157
Martin Liska committed -
2016-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/71764 * trans-expr.c (gfc_trans_structure_assign): Remove assert. * gfortran.dg/pr71764.f90: New test. From-SVN: r238156
Jerry DeLisle committed -
From-SVN: r238155
GCC Administrator committed
-
- 07 Jul, 2016 25 commits
-
-
re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members) PR c++/70869 PR c++/71054 * cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static artificial vars, genericize their initializers. * g++.dg/cpp0x/pr70869.C: New test. * g++.dg/cpp0x/pr71054.C: New test. Co-Authored-By: Kai Tietz <ktietz70@googlemail.com> From-SVN: r238124
Jakub Jelinek committed -
From-SVN: r238122
David Edelsohn committed -
* doc/xml/manual/status_cxx2014.xml: Update LFTS status table. * doc/html/*: Regenerate. From-SVN: r238120
Jonathan Wakely committed -
2016-07-07 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure to Expand_Protected_ Subprogram_Call, to handle properly a call to a protected function that provides the initialization expression for a private component of the same protected type. * sem_ch9.adb (Analyze_Protected_Definition): Layout must be applied to itypes generated for a private operation of a protected type that has a formal of an anonymous access to subprogram, because these itypes have no freeze nodes and are frozen in place. * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected type and it is not a current instance, do not examine the first private component of the type. 2016-07-07 Arnaud Charlet <charlet@adacore.com> * exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb: Minor removal of extra whitespace. * einfo.ads: minor removal of repeated "as" in comment 2016-07-07 Vadim Godunko <godunko@adacore.com> * adaint.c: Complete previous change. From-SVN: r238117
Arnaud Charlet committed -
2016-07-07 Vadim Godunko <godunko@adacore.com> * adainit.h, adainit.c (__gnat_is_read_accessible_file): New subprogram. (__gnat_is_write_accessible_file): New subprogram. * s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram. (Is_Write_Accessible_File): New subprogram. 2016-07-07 Justin Squirek <squirek@adacore.com> * sem_ch12.adb (Install_Body): Minor refactoring in the order of local functions. (In_Same_Scope): Change loop condition to be more expressive. From-SVN: r238116
Arnaud Charlet committed -
2016-07-07 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb, sem_attr.adb: Minor reformatting, fix typos. 2016-07-07 Justin Squirek <squirek@adacore.com> * sem_ch12.adb (In_Same_Scope): Created this function to check a generic package definition against an instantiation for scope dependancies. (Install_Body): Add function In_Same_Scope and amend conditional in charge of delaying the package instance. (Is_In_Main_Unit): Add guard to check if parent is present in assignment of Current_Unit. From-SVN: r238115
Arnaud Charlet committed -
* gfortran.dg/do_1.f90: Remove a corner case that triggers an undefined behavior. * gfortran.dg/do_3.F90: Likewise. * gfortran.dg/do_check_11.f90: New test. * gfortran.dg/do_check_12.f90: New test. * gfortran.dg/do_corner_warn.f90: New test. * lang.opt (Wundefined-do-loop): New option. * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop. (gfc_trans_simple_do): Generate a c-style loop. (gfc_trans_do): Fix GNU coding style. * invoke.texi: Mention the new warning. From-SVN: r238114
Martin Liska committed -
sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust comments and formatting. 2016-07-07 Eric Botcazou <ebotcazou@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust comments and formatting. * sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining here but... (Make_Inline): ...here before calling Inlining_Not_Possible instead. (Set_Inline_Flags): Remove useless test. (Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch. From-SVN: r238113
Eric Botcazou committed -
* trans-stmt.c (gfc_trans_do): Add expect builtin for DO loops with step bigger than +-1. * gfortran.dg/predict-1.f90: Ammend the test. * gfortran.dg/predict-2.f90: Likewise. From-SVN: r238112
Martin Liska committed -
2016-07-07 Ed Schonberg <schonberg@adacore.com> * sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include overridden operation as parameter, in order to map formals of the overridden and overring operation properly prior to rewriting the inherited condition. * freeze.adb (Check_Inherited_Cnonditions): Change call to Build_Class_Wide_Expression accordingly. In Spark_Mode, add call to analyze the contract of the parent operation, prior to mapping formals between operations. 2016-07-07 Arnaud Charlet <charlet@adacore.com> * adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches as done in back_end.adb. (Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer needed, and prevents proper handling of multi-unit sources. 2016-07-07 Thomas Quinot <quinot@adacore.com> * g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream type with Write primitive calling Update on the underlying context (and dummy Read primitive raising P_E). 2016-07-07 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb: Minor reformatting. From-SVN: r238111
Arnaud Charlet committed -
2016-07-07 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Document performance consideration for stream wrapper. 2016-07-07 Arnaud Charlet <charlet@adacore.com> * osint-c.ads (Set_File_Name): Clarify spec. From-SVN: r238110
Arnaud Charlet committed -
2016-07-07 Eric Botcazou <ebotcazou@adacore.com> * freeze.adb: Reenable code. From-SVN: r238109
Eric Botcazou committed -
From-SVN: r238107
Arnaud Charlet committed -
2016-07-07 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Process_Formals): Set ghost flag on formal entities of ghost subprograms. * ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost entities in use type clauses. From-SVN: r238106
Yannick Moy committed -
* file-find.c (remove_prefix): New function. * file-find.h (remove_prefix): Declare the function. * gcc-ar.c (main): Skip a folder of the wrapper if a wrapped binary would point to the same file. From-SVN: r238089
Martin Liska committed -
* tree-scalar-evolution.c (iv_can_overflow_p): export. * tree-scalar-evolution.h (iv_can_overflow_p): Declare. * tree-ssa-loop-ivopts.c (alloc_iv): Use it. From-SVN: r238088
Jan Hubicka committed -
gcc/ PR ipa/71624 * ipa-inline-analysis.c (compute_inline_parameters): Set local.can_change_signature to false for intrumentation thunk callees. gcc/testsuite/ PR ipa/71624 * g++.dg/pr71624.C: New test. From-SVN: r238086
Ilya Enkovich committed -
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. (TARGET_HAVE_MOVT): Define. * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT availability. (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than TARGET_THUMB2. (symbol_refs movsi splitter): Remove TARGET_32BIT check. (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability. * config/arm/constraints.md (define_constraint "j"): Use TARGET_HAVE_MOVT to check MOVT availability. From-SVN: r238083
Thomas Preud'homme committed -
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions. From-SVN: r238082
Thomas Preud'homme committed -
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm-arches.def (armv8-m.base): Define new architecture. (armv8-m.main): Likewise. (armv8-m.main+dsp): Likewise. * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define. (FL_FOR_ARCH8M_MAIN): Likewise. * config/arm/arm-tables.opt: Regenerate. * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and armv8-m.main+dsp to BE8_LINK_SPEC. * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M. (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN. * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M Baseline and Mainline. (arm_option_override_internal): Also disable arm_restrict_it when !arm_arch_notm. Update comment for -munaligned-access to also cover ARMv8-M Baseline. (arm_file_start): Increase buffer size for printing architecture name. * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main and armv8-m.main+dsp. (mno-unaligned-access): Clarify that this is disabled by default for ARMv8-M Baseline architectures as well. gcc/testsuite/ * lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and ARMv8-M Mainline architectures. libgcc/ * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M. From-SVN: r238081
Thomas Preud'homme committed -
lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than for a fixed list of... 2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> libgcc/ * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than for a fixed list of architectures. From-SVN: r238080
Thomas Preud'homme committed -
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent some libgcc routines being included for some multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the link between this condition and the one in libgcc/config/arm/lib1func.S. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use __ARM_ARCH_ISA_ARM to test for Cortex-M devices. libgcc/ * config/arm/bpabi-v6m.S: Clarify what architectures is the implementation suitable for. * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases for all Thumb-1 only targets. (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets. (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__. (EQUIV): Likewise. (ARM_FUNC_ALIAS): Likewise. (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv version. (modsi3): Likewise. (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__. (clzdi2): Likewise. (ctzsi2): Likewise. (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__ in guard for checking whether it is defined. (final includes): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__ and add comment to indicate the connection between this condition and the one in gcc/config/arm/elf.h. * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__. * config/arm/t-softfp: Likewise. From-SVN: r238079
Thomas Preud'homme committed -
2016-07-07 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c: Include alias.h. (compute_avail): If we have multiple VN_REFERENCEs with the same hashtable entry adjust that to make it a valid replacement for all of them with respect to alignment and aliasing when doing insertion. * tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare. * tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function. From-SVN: r238078
Richard Biener committed -
Similar to PR70098, which is about integers in floating point registers, we can have the completely analogous problem with vector registers as well now that we allow integers in vector registers. So, this patch solves it in the same way. This only works for targets with direct move. To recap: register allocation can decide to put an integer mode value in a floating point or vector register. If that register is used in a bd*z instruction, which is a jump instruction, reload can not do an output reload on it (it does not do output reloads on any jump insns), so the float or vector register will remain, and we have to allow it here or recog will ICE. Later on we will split this to valid instructions, including a move from that fp/vec register to an int register; it is this move that will still fail (PR70098) if we do not have direct move enabled. PR target/70098 PR target/71763 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output constraint. gcc/testsuite/ PR target/70098 PR target/71763 * gcc.target/powerpc/pr71763.c: New file. From-SVN: r238076
Segher Boessenkool committed -
From-SVN: r238073
GCC Administrator committed
-
- 06 Jul, 2016 4 commits
-
-
The last target to use this was i386-interix, so since that is gone we don't need this anymore. libgcc/ChangeLog: 2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * libgcc2.c (SYMBOL__MAIN): Remove checks for CTOR_LISTS_DEFINED_EXTERNALLY. From-SVN: r238067
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * var-tracking.c (struct adjust_mem_data): Make side_effects a vector. (adjust_mems): Adjust. (adjust_insn): Likewise. (prepare_call_arguments): Likewise. From-SVN: r238066
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gcse.c (struct ls_expr): Make stores field a vector. (ldst_entry): Adjust. (free_ldst_entry): Likewise. (print_ldst_list): Likewise. (compute_ld_motion_mems): Likewise. (update_ld_motion_stores): Likewise. From-SVN: r238065
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gcse.c (struct ls_expr): Remove loads field. (ldst_entry): Adjust. (free_ldst_entry): Likewise. (print_ldst_list): Likewise. (compute_ld_motion_mems): Likewise. From-SVN: r238064
Trevor Saunders committed
-