- 14 Sep, 2017 8 commits
-
-
From-SVN: r252751
Jakub Jelinek committed -
* config/alpha/elf.h (LINK_EH_SPEC): Add -static-pie support. * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. * config/netbsd.h (LINK_EH_SPEC): Likewise. * config/sol2.h (LINK_EH_SPEC): Likewise. * config/arm/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. * config/s390/linux.h (LINK_SPEC): Likewise. * config/freebsd.h (LINK_EH_SPEC): Likewise. * config/openbsd.h (LINK_EH_SPEC): Likewise. * config/lm32/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Likewise. * config/powerpcspe/sysv4.h (LINK_EH_SPEC): Likewise. * config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. * config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Fix a typo. * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Formatting fix. From-SVN: r252750
Jakub Jelinek committed -
In preparation for upgrading libgo to the 1.9 release, this approximately incorporates https://golang.org/cl/37661 and https://golang.org/cl/38351. CL 37661 changed the gc compiler such that the select statement simply returns an integer which is then used as the argument for a switch. Since gccgo already worked that way, this just adjusts the switch code to look like the gc switch code by removing the explicit case index expression and calculating it from the order of calls to selectsend, selectrecv, and selectdefault. CL 38351 simplifies the channel code by not passing the unused channel type descriptor pointer. Reviewed-on: https://go-review.googlesource.com/62730 From-SVN: r252749
Ian Lance Taylor committed -
I encountered this crash while working on upgrading libgo to the 1.9 release. I no longer have the cause of the crash, but it doesn't much matter, as the policy for crash-on-invalid errors is to fix the crash but not bother to commit the invalid test case. Reviewed-on: https://go-review.googlesource.com/62750 From-SVN: r252748
Ian Lance Taylor committed -
If we have an alias for a struct or array that requires a type-specific function, don't emit the function with the alias name. Emit it with the struct/array as usual. Test case is https://golang.org/cl/62531. Reviewed-on: https://go-review.googlesource.com/62412 From-SVN: r252747
Ian Lance Taylor committed -
This adds much of https://golang.org/cl/35731 and https://golang.org/cl/35732 to the gofrontend code. This is a step toward updating libgo to the 1.9 release. The gofrontend already supports type aliases, and this is required for correct support of type aliases when used as embedded fields. The change to expressions.cc is to handle the << 1, used for the newly renamed offsetAnon field, in the constant context used for type descriptor initialization. Reviewed-on: https://go-review.googlesource.com/62710 From-SVN: r252746
Ian Lance Taylor committed -
A normal pointer may not be converted to a notinheap pointer. We were erroneously permitting a conversion from a normal pointer to a notinheap unsafe.Pointer, which is useless since unsafe.Pointer is not marked notinheap. Correct the test to permit a conversion from unsafe.Pointer to a notinheap pointer, which is the same test that the gc compiler uses. The test case for this is in the 1.9 runtime package. Reviewed-on: https://go-review.googlesource.com/62731 From-SVN: r252745
Ian Lance Taylor committed -
From-SVN: r252744
GCC Administrator committed
-
- 13 Sep, 2017 32 commits
-
-
* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Add -static-pie support. (ENDFILE_LINUX_SPEC): Likewise. (LINK_EH_SPEC): Likewise. * config/rs6000/linux64.h (LINK_SHLIB_SPEC): Likewise. (LINK_OS_LINUX_SPEC32): Likewise. (LINK_OS_LINUX_SPEC64): Likewise. * config/rs6000/linux.h (LINK_SHLIB_SPEC): Likewise. (LINK_OS_LINUX_SPEC): Likewise. From-SVN: r252735
Jakub Jelinek committed -
2017-09-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/82173 * decl.c (match_char_kind): If the kind expression is parameterized, save it in saved_kind_expr and set kind = 0. (gfc_get_pdt_instance): Resolve and simplify before emitting error on expression kind. Insert a missing simplification after insertion of kind expressions. 2017-09-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/82173 * gfortran.dg/pdt_10.f03 : New test. From-SVN: r252734
Paul Thomas committed -
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68177 * g++.dg/cpp0x/lambda/lambda-68177.C: New. From-SVN: r252732
Paolo Carlini committed -
2017-09-13 Martin Liska <mliska@suse.cz> PR middle-end/82154 * stmt.c (expand_sjlj_dispatch_table): Use CASE_LOW when CASE_HIGH is NULL_TREE. 2017-09-13 Martin Liska <mliska@suse.cz> PR middle-end/82154 * g++.dg/torture/pr82154.C: New test. From-SVN: r252728
Martin Liska committed -
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61362 * g++.dg/cpp0x/lambda/lambda-ice19.C: New. * g++.dg/cpp0x/lambda/lambda-ice20.C: Likewise. From-SVN: r252724
Paolo Carlini committed -
2017-09-13 Steve Ellcey <sellcey@cavium.com> PR tree-optimization/80925 * gfortran.dg/vect/vect-2.f90: Add --param vect-max-peeling-for-alignment=0 option. Remove unaligned access and peeling checks. * gfortran.dg/vect/vect-3.f90: Ditto. * gfortran.dg/vect/vect-4.f90: Ditto. * gfortran.dg/vect/vect-5.f90: Ditto. From-SVN: r252723
Steve Ellcey committed -
re PR c++/61135 (It seems to be not able to call virtual method of literal object in lambda expression) 2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61135 * g++.dg/cpp0x/lambda/lambda-ice18.C: New. * g++.dg/cpp1y/lambda-ice2.C: Likewise. From-SVN: r252571
Paolo Carlini committed -
Since the patch is going through all the definitions anyway, it seemed like a good opportunity to put the mode argument first, to match the order for register_move_cost. 2017-09-13 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (secondary_memory_needed): New hook. (secondary_reload): Refer to TARGET_SECONDARY_MEMORY_NEEDED instead of SECONDARY_MEMORY_NEEDED. (secondary_memory_needed_mode): Likewise. * hooks.h (hook_bool_mode_reg_class_t_reg_class_t_false): Declare. * hooks.c (hook_bool_mode_reg_class_t_reg_class_t_false): New function. * doc/tm.texi.in (SECONDARY_MEMORY_NEEDED): Replace with... (TARGET_SECONDARY_MEMORY_NEEDED): ...this. (SECONDARY_MEMORY_NEEDED_RTX): Update reference accordingly. * doc/tm.texi: Regenerate. * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Delete. * config/alpha/alpha.c (alpha_secondary_memory_needed): New function. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. * config/i386/i386.h (SECONDARY_MEMORY_NEEDED): Delete. * config/i386/i386-protos.h (ix86_secondary_memory_needed): Delete. * config/i386/i386.c (inline_secondary_memory_needed): Put the mode argument first and change the reg_class arguments to reg_class_t. (ix86_secondary_memory_needed): Likewise. Remove the strict parameter. Make static. Update the call to inline_secondary_memory_needed. (ix86_register_move_cost): Update the call to inline_secondary_memory_needed. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. * config/ia64/ia64.h (SECONDARY_MEMORY_NEEDED): Delete commented-out definition. * config/ia64/ia64.c (spill_xfmode_rfmode_operand): Refer to TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED in comment. * config/mips/mips.h (SECONDARY_MEMORY_NEEDED): Delete. * config/mips/mips-protos.h (mips_secondary_memory_needed): Delete. * config/mips/mips.c (mips_secondary_memory_needed): Make static and match hook interface. Add comment from mips.h. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. * config/mmix/mmix.md (truncdfsf2): Refer to TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED in comment. * config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED): Rename to... (PA_SECONDARY_MEMORY_NEEDED): ...this, and put the mode argument first. * config/pa/pa.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. (pa_secondary_memory_needed): New function. * config/pdp11/pdp11.h (SECONDARY_MEMORY_NEEDED): Delete. * config/pdp11/pdp11-protos.h (pdp11_secondary_memory_needed): Delete. * config/pdp11/pdp11.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. (pdp11_secondary_memory_needed): Make static and match hook interface. * config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED): Delete. * config/powerpcspe/powerpcspe-protos.h (rs6000_secondary_memory_needed_ptr): Delete. * config/powerpcspe/powerpcspe.c (rs6000_secondary_memory_needed_ptr): Delete. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. (rs6000_option_override_internal): Assign to targetm.secondary_memory_needed rather than rs6000_secondary_memory_needed_ptr. (rs6000_secondary_memory_needed): Match hook interface. (rs6000_debug_secondary_memory_needed): Likewise. * config/riscv/riscv.h (SECONDARY_MEMORY_NEEDED): Delete. * config/riscv/riscv.c (riscv_secondary_memory_needed): New function. (riscv_register_move_cost): Use it instead of SECONDARY_MEMORY_NEEDED. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. * config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED): Delete. * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_ptr): Delete. * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_ptr): Delete. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. (rs6000_option_override_internal): Assign to targetm.secondary_memory_needed rather than rs6000_secondary_memory_needed_ptr. (rs6000_secondary_memory_needed): Match hook interface. (rs6000_debug_secondary_memory_needed): Likewise. * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Delete. * config/s390/s390.c (s390_secondary_memory_needed): New function. (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Delete. * config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine. (sparc_secondary_memory_needed): New function. * lra-constraints.c (check_and_process_move): Refer to TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED in comment. (curr_insn_transform): Likewise. (process_alt_operands): Use targetm.secondary_memory_needed instead of TARGET_SECONDARY_MEMORY_NEEDED. (check_secondary_memory_needed_p): Likewise. (choose_split_class): Likewise. * reload.c: Unconditionally include code that was previously conditional on SECONDARY_MEMORY_NEEDED. (push_secondary_reload): Use targetm.secondary_memory_needed instead of TARGET_SECONDARY_MEMORY_NEEDED. (push_reload): Likewise. * reload1.c: Unconditionally include code that was previously conditional on SECONDARY_MEMORY_NEEDED. (choose_reload_regs): Use targetm.secondary_memory_needed instead of TARGET_SECONDARY_MEMORY_NEEDED. (gen_reload): Likewise. * system.h (SECONDARY_MEMORY_NEEDED): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252461
Richard Sandiford committed -
This includes a change to LRA. Previously the code was: if (sclass == NO_REGS && dclass == NO_REGS) return false; #ifdef SECONDARY_MEMORY_NEEDED if (SECONDARY_MEMORY_NEEDED (sclass, dclass, GET_MODE (src)) #ifdef SECONDARY_MEMORY_NEEDED_MODE && ((sclass != NO_REGS && dclass != NO_REGS) || GET_MODE (src) != SECONDARY_MEMORY_NEEDED_MODE (GET_MODE (src))) #endif ) { *sec_mem_p = true; return false; } #endif in which the positioning of the second ifdef meant that defining SECONDARY_MEMORY_NEEDED_MODE to its default value was not a no-op: without a definition, we would consider using secondary reloads for mem<-reg and reg<-mem reloads even if the secondary memory has the same mode as the original mem, while defining it would avoid this. The latter behaviour seems correct. The default is different for reload and LRA. For LRA the default is to use the original mode, while reload promotes smaller-than-word integral modes to word mode: if (GET_MODE_BITSIZE (mode) < BITS_PER_WORD && INTEGRAL_MODE_P (mode)) mode = mode_for_size (BITS_PER_WORD, GET_MODE_CLASS (mode), 0).require (); Some of the ports that have switched to LRA seemed to have SECONDARY_MEMORY_NEEDED_MDOEs based on the old reload definition, and still referred to the reload.c:get_secondary_mem function in the comments. The patch just keeps them as-is. 2017-09-13 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (secondary_memory_needed_mode): New hook: * targhooks.c (default_secondary_memory_needed_mode): Declare. * targhooks.h (default_secondary_memory_needed_mode): New function. * doc/tm.texi.in (SECONDARY_MEMORY_NEEDED_MODE): Replace with... (TARGET_SECONDARY_MEMORY_NEEDED_MODE): ...this. * doc/tm.texi: Regenerate. * lra-constraints.c (check_and_process_move): Use targetm.secondary_memory_needed_mode instead of TARGET_SECONDARY_MEMORY_NEEDED_MODE. (curr_insn_transform): Likewise. * reload.c (get_secondary_mem): Likewise. * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/alpha/alpha.c (alpha_secondary_memory_needed_mode): New function. (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. * config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/i386/i386.c (ix86_secondary_memory_needed_mode): New function. (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. * config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/powerpcspe/powerpcspe-protos.h (rs6000_secondary_memory_needed_mode): Delete. * config/powerpcspe/powerpcspe.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. (rs6000_secondary_memory_needed_mode): Make static. * config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_mode): Delete. * config/rs6000/rs6000.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. (rs6000_secondary_memory_needed_mode): Make static. * config/s390/s390.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/s390/s390.c (s390_secondary_memory_needed_mode): New function. (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_MODE): Delete. * config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine. (sparc_secondary_memory_needed_mode): New function. * system.h (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252455
Richard Sandiford committed -
Committed on behalf of Jackson Woodruff. --- gcc/ * config/aarch64/constraints.md (Umq): New constraint. * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Change to use Umq. (mov<mode>): Update condition. gcc/testsuite/ * gcc.target/aarch64/simd/vect_str_zero.c: Update testcase. From-SVN: r252387
Jackson Woodruff committed -
PR c/82167 * c-typeck.c (c_expr_sizeof_expr): Use the type of expr.value rather than expr.original_type. * gcc.dg/pr82167.c: New test. From-SVN: r252372
Marek Polacek committed -
From-SVN: r252218
Thomas Schwinge committed -
[gcc/testsuite] 2017-09-12 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-ld-char.c: New. * gcc.target/powerpc/fold-vec-ld-double.c: New. * gcc.target/powerpc/fold-vec-ld-float.c: New. * gcc.target/powerpc/fold-vec-ld-int.c: New. * gcc.target/powerpc/fold-vec-ld-longlong.c: New. * gcc.target/powerpc/fold-vec-ld-short.c: New. From-SVN: r252087
Will Schmidt committed -
This patch changes pr62178.c so that it now scans for two `ldr`s, one into an `s` register, instead of a `ld1r` as before. Also add a scan for an mla instruction. The `ld1r` was needed when this should have generated a mla by vector. Now that we can generate an mla by element instruction and can load directly into the simd register, it is cheaper to not do the ld1r which needlessly duplicates the single element used across the whole vector register. Committed on behalf of Jackson Woodruff gcc/testsuite/ * gcc.target/aarch64/pr62178.c: Updated testcase to scan for two ldrs and an mla. From-SVN: r252086
Jackson Woodruff committed -
PR libstdc++/81468 * include/std/chrono (__enable_if_is_duration) (__disable_if_is_duration): New alias templates to simplify SFINAE. (duration_cast, floor, ceil): Use __enable_if_is_duration. (duration::__is_float, duration::__is_harmonic): New alias templates to simplify SFINAE. (duration::duration(const _Rep2&)): Use _Require, __is_float and __is_harmonic. (duration::duration(const duration<_Rep2, _Period2>&)): Likewise. (__common_rep_type): Remove, replace with ... (__common_rep_t): New alias template. (operator*, operator/, operator%): Use __common_rep_t and __disable_if_is_duration. (time_point::time_point(const time_point<clock, _Dur2>&)): Add missing constraint from LWG DR 1177. * testsuite/20_util/duration/cons/dr1177.cc: New. * testsuite/20_util/duration/literals/range.cc: Update dg-error line. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/time_point/cons/81468.cc: New. From-SVN: r252085
Jonathan Wakely committed -
As Alexander pointed out in the thread starting at [1] the sort_by_bitpos sorting function was behaving badly when we had multiple stores at the same position. He fixed that (thanks!) but we can do better by not returning zero when the bitpositions are equal but by falling back to comparing the order the stores appear in, which is guaranteed to be unique (barring other bugs elsewhere). This patch does that. Bootstrapped and tested on aarch64-none-linux-gnu. [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00895.html * gimple-ssa-store-merging.c (sort_by_bitpos): Compare store order when bitposition is the same. From-SVN: r252084
Kyrylo Tkachov committed -
2017-09-13 Nicolas Roche <roche@adacore.com> * Make-lang.in: In the fallback mechanim, parse the associated .ali file and try to guess the locations of dependencies. From-SVN: r252082
Nicolas Roche committed -
Conv-op identifers not in identifier hash table * lex.c (conv_type_hasher): Make member fns inline. (make_conv_op_name): Directly clone conv_op_identifier. From-SVN: r252081
Nathan Sidwell committed -
re PR c++/59949 (lambda expression as default argument of function template causes "already defined" messages in assembler) 2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59949 * g++.dg/cpp0x/lambda/lambda-defarg7.C: New. From-SVN: r252079
Paolo Carlini committed -
* cp-tree.h (struct lang_type): Rename methods to members. (CLASSTYPE_METHOD_VEC): Rename to ... (CLASSTYPE_MEMBER_VEC): ... this. * name-lookup.h (get_method_slot): Rename to ... (get_member_slot): ... this. (resort_type_method_vec): Rename to ... (resort_type_member_vec): ... this. * class.c (add_method, warn_hidden): Adjust. * search.c (dfs_locate_field_accessor_pre): Adjust. * name-lookup.c (method_vec_binary_search): Rename to ... (member_vec_binary_search): ... this and adjust. (method_vec_linear_search): Rename to ... (member_vec_linear_search): ... this and adjust. (fields_linear_search, get_class_binding_direct): Adjust. (get_method_slot): Rename to ... (get_member_slot): ... this and adjust. (method_name_slot): Rename to ... (member_name_slot): ... this and adjust. (resort_type_method_vec): Rename to ... (resort_type_member_vec): ... this and adjust. (method_vec_append_class_fields): Rename to ... (member_vec_append_class_fields): ... this and adjust. (method_vec_append_enum_values): Rename to ... (member_vec_append_enum_values): ... this and adjust. (method_vec_dedup): Rename to ... (member_vec_dedup): ... this and adjust. (set_class_bindings, insert_late_enum_def_bindings): Adjust. From-SVN: r252078
Nathan Sidwell committed -
Update vmov_n_1.c now we are generating better code for dup: ldr s0, [x0] dup v0.2s, v0.s[0] ret gcc/testsuite/ * gcc.target/aarch64/vmov_n_1.c: Update dup scan-assembler. From-SVN: r252077
Wilco Dijkstra committed -
2017-09-13 Eric Botcazou <ebotcazou@adacore.com> * sem_ch13.adb (Register_Address_Clause_Check): New procedure to save the suppression status of Alignment_Check on the current scope. (Alignment_Checks_Suppressed): New function to use the saved instead of the current suppression status of Alignment_Check. (Address_Clause_Check_Record): Add Alignment_Checks_Suppressed field. (Analyze_Attribute_Definition_Clause): Instead of manually appending to the table, call Register_Address_Clause_Check. (Validate_Address_Clauses): Call Alignment_Checks_Suppressed on the recorded address clause instead of its entity. 2017-09-13 Jerome Guitton <guitton@adacore.com> * libgnarl/s-tpopsp__vxworks-tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-tpopsp__vxworks.adb (Self): Register thread if task id is null. 2017-09-13 Arnaud Charlet <charlet@adacore.com> * libgnat/s-htable.adb, libgnat/s-htable.ads: Minor style tuning. 2017-09-13 Arnaud Charlet <charlet@adacore.com> * lib-xref-spark_specific.adb (Scopes): simplify hash map; now it maps from an entity to only scope index, as a mapping from an entity to the same entity was useless. (Get_Scope_Num): refactor as a simple renaming; rename parameter from N to E. (Set_Scope_Num): refactor as a simple renaming; rename parameter from N to E. (Is_Constant_Object_Without_Variable_Input): remove local "Result" variable, just use return statements. From-SVN: r252076
Pierre-Marie de Rodat committed -
* libgnarl/s-vxwext__kernel-smp.adb, libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-vxwext__noints.adb: New file. From-SVN: r252075
Arnaud Charlet committed -
Coprocessor intrinsic tests in gcc.target/arm/acle test whether __ARM_FEATURE_COPROC has the right bit defined before calling the intrinsic. This allows to test both the correct setting of that macro and the availability and correct working of the intrinsic. However the __ARM_FEATURE_COPROC macro is no longer defined for ARMv8-A since r249399. This patch changes the testcases to skip that test for ARMv8-A and ARMv8-R targets. It also fixes some irregularity in the coprocessor effective targets: - add ldcl and stcl to the list of instructions listed as guarded by arm_coproc1_ok - enable tests guarded by arm_coproc2_ok, arm_coproc3_ok and arm_coproc4_ok for Thumb-2 capable targets but disable for Thumb-1 targets. 2017-09-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ * gcc.target/arm/acle/cdp.c: Skip __ARM_FEATURE_COPROC check for ARMv8-A and ARMv8-R. * gcc.target/arm/acle/cdp2.c: Likewise. * gcc.target/arm/acle/ldc.c: Likewise. * gcc.target/arm/acle/ldc2.c: Likewise. * gcc.target/arm/acle/ldc2l.c: Likewise. * gcc.target/arm/acle/ldcl.c: Likewise. * gcc.target/arm/acle/mcr.c: Likewise. * gcc.target/arm/acle/mcr2.c: Likewise. * gcc.target/arm/acle/mcrr.c: Likewise. * gcc.target/arm/acle/mcrr2.c: Likewise. * gcc.target/arm/acle/mrc.c: Likewise. * gcc.target/arm/acle/mrc2.c: Likewise. * gcc.target/arm/acle/mrrc.c: Likewise. * gcc.target/arm/acle/mrrc2.c: Likewise. * gcc.target/arm/acle/stc.c: Likewise. * gcc.target/arm/acle/stc2.c: Likewise. * gcc.target/arm/acle/stc2l.c: Likewise. * gcc.target/arm/acle/stcl.c: Likewise. * lib/target-supports.exp: (check_effective_target_arm_coproc1_ok_nocache): Mention ldcl and stcl in the comment. (check_effective_target_arm_coproc2_ok_nocache): Allow Thumb-2 targets and disable Thumb-1 targets. (check_effective_target_arm_coproc3_ok_nocache): Likewise. (check_effective_target_arm_coproc4_ok_nocache): Likewise. Acked-by: Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> From-SVN: r252074
Thomas Preud'homme committed -
* doc/doxygen/mainpage.html: Fix broken URLs. From-SVN: r252070
Jonathan Wakely committed -
PR libstdc++/81835 * doc/xml/manual/extensions.xml: Replace unstable URL. * doc/html/manual/ext_demangling.html: Regenerate. * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. From-SVN: r252066
Jonathan Wakely committed -
2017-09-13 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb: Flag42 is now Is_Controlled_Active. (Is_Controlled): This attribute is now synthesized. (Is_Controlled_Active): This attribute is now an explicit flag rather than a synthesized attribute. (Set_Is_Controlled): Removed. (Set_Is_Controlled_Active): New routine. (Write_Entity_Flags): Update the output for Flag42. * einfo.ads: Update the documentation of the following attributes: Disable_Controlled, Is_Controlled, Is_Controlled_Active, Is_Controlled and Is_Controlled_Active have swapped their functionality. (Is_Controlled): Renamed to Is_Controlled_Active. (Is_Controlled_Active): Renamed to Is_Controlled. (Set_Is_Controlled): Renamed to Set_Is_Controlled_Active. * exp_ch3.adb (Expand_Freeze_Record_Type): Restore the original use of Is_Controlled. * exp_util.adb (Has_Some_Controlled_Component): Code clean up. (Needs_Finalization): Code clean up. Remove the tests for Disable_Controlled because a) they were incorrect as they would reject a type which is sublect to the aspect, but may contain controlled components, and b) they are no longer necessary. * exp_util.ads (Needs_Finalization): Update comment on documentation. * freeze.adb (Freeze_Array_Type): Restore the original use of Is_Controlled. (Freeze_Record_Type): Restore the original use of Is_Controlled. * sem_ch3.adb (Analyze_Object_Declaration): Restore the original use of Is_Controlled. (Array_Type_Declaration): Restore the original use of Is_Controlled. (Build_Derived_Private_Type): Restore the original use of Is_Controlled. (Build_Derived_Record_Type): Set the Is_Controlled_Active flag of a type derived from Ada.Finalization.[Limited_]Controlled. (Build_Derived_Type): Restore the original use of Is_Controlled. (Record_Type_Definition): Restore the original use of Is_Controlled. * sem_ch7.adb (Preserve_Full_Attributes): Restore the original use of Is_Controlled. * sem_ch13.adb (Analyze_Aspect_Disable_Controlled): New routine. (Analyze_Aspect_Specifications): Use routine Analyze_Aspect_Disable_Controlled to process aspect Disable_Controlled. 2017-09-13 Vincent Celier <celier@adacore.com> * clean.adb (Gnatclean): Fix error when looking for target of <target>-gnatclean 2017-09-13 Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Expanded_Name): Complete code that identifies an expanded name that designates the current instance of a child unit in its own body and appears as the prefix of a reference to an entity local to the child unit. From-SVN: r252065
Pierre-Marie de Rodat committed -
re PR c++/47226 ([C++0x] GCC doesn't expand template parameter pack that appears in a lambda-expression) 2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47226 * g++.dg/cpp0x/lambda/lambda-variadic4.C: New. * g++.dg/cpp0x/lambda/lambda-variadic5.C: Likewise. From-SVN: r252064
Paolo Carlini committed -
2017-09-13 Richard Biener <rguenther@suse.de> * dwarf2out.c (output_die_symbol): Remove. (output_die): Do not output a DIEs symbol. From-SVN: r252063
Richard Biener committed -
2017-09-13 Richard Biener <rguenther@suse.de> PR middle-end/82128 * gimple-fold.c (gimple_fold_call): Update SSA name in-place to default-def to avoid breaking iterator update with the weird interaction with cgraph_update_edges_for_call_stmt_node. * g++.dg/pr82128.C: New testcase. From-SVN: r252062
Richard Biener committed -
2017-09-13 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_gimple_assign_binary): Add verification for WIDEN_SUM_EXPR, VEC_WIDEN_MULT_{HI,LO,EVEN,ODD}_EXPR, VEC_PACK_{TRUNC,SAT,FIX_TRUNC}_EXPR. (verify_gimple_assign_ternary): Add verification for DOT_PROD_EXPR. From-SVN: r252061
Richard Biener committed -
From-SVN: r252060
Arnaud Charlet committed
-