summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* i386: Update preferred stack boundary for leaf functionshjl/pr82166/gcc-7-branchhjl2017-09-172-5/+26
| | | | | | | | | | | | | | | | | | | | preferred_stack_boundary may not be the minimum stack alignment. For leaf functions without TLS access, max_used_stack_slot_alignment may be smaller. We should update preferred_stack_boundary for leaf functions. gcc/ PR target/82166 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Properly compute the minimum stack alignment. Also update preferred stack boundary for leaf functions. gcc/testsuite/ PR target/82166 * gcc.target/i386/pr82166.c: New test. (cherry picked from commit a842b1bde9fa682693226e126fe8128d71ca944d)
* Update gcc.dg/stack-layout-dynamic-1.curos2017-09-101-4/+4
| | | | | | | | PR target/81313 * gcc.dg/stack-layout-dynamic-1.c (bar): Add 4 additional integer argumets to bypass x86_64 outgoing args optimization. (cherry picked from commit ac2f5a408fa8768a0936b256f5cd7e0fe9f3b963)
* i386: Avoid stack realignment if possiblehjl2017-09-105-50/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ix86_finalize_stack_frame_flags has been extended to eliminate frame pointer when the new stack frame isn't needed with and without -maccumulate-outgoing-args as well as -fomit-frame-pointer. Since stack access with larger alignment may be optimized out, to decide if stack realignment is needed, we need to not only check for stack frame access, but also verify the alignment of stack frame access. Since alignment of memory access via arg_pointer is set up by caller, not by callee, we should find the maximum stack alignment from the stack frame access instructions via stack pointer and frame pointrer to avoid stack realignment when stack alignment needed is less than incoming stack boundary. gcc/ PR target/59501 PR target/81624 PR target/81769 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Don't realign stack if stack alignment needed is less than incoming stack boundary. gcc/testsuite/ PR target/59501 PR target/81624 PR target/81769 * gcc.target/i386/pr59501-4a.c: Remove xfail. * gcc.target/i386/pr81769-1a.c: New test. * gcc.target/i386/pr81769-1b.c: Likewise. * gcc.target/i386/pr81769-2.c: Likewise. (cherry picked from commit d960aadf72c323db640bf2ba3e90621eab92cb26)
* x86: Use DRAP only if there are outgoing arguments on stackH.J. Lu2017-09-107-2/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since DRAP is needed only if there are outgoing arguments on stack, we should track outgoing arguments on stack and avoid setting need_drap to true when there are no outgoing arguments on stack. gcc/ PR target/81313 * config/i386/i386.c (ix86_function_arg_advance): Set outgoing_args_on_stack to true if there are outgoing arguments on stack. (ix86_function_arg): Likewise. (ix86_get_drap_rtx): Use DRAP only if there are outgoing arguments on stack and ACCUMULATE_OUTGOING_ARGS is false. * config/i386/i386.h (machine_function): Add outgoing_args_on_stack. gcc/testsuite/ PR target/81313 * gcc.target/i386/pr81313-1.c: New test. * gcc.target/i386/pr81313-2.c: Likewise. * gcc.target/i386/pr81313-3.c: Likewise. * gcc.target/i386/pr81313-4.c: Likewise. * gcc.target/i386/pr81313-5.c: Likewise. (cherry picked from commit 84066338f533756496dc8ce09726fe8dad8b0cf5)
* i386: Replace frame pointer with stack pointer in debug insnsH.J. Lu2017-09-101-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | When we eliminate frame pointer, we should also replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns. This patch fixed: FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b1 == 9 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b2 == 73 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b3 == 585 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b4 == 4681 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s2.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.g == 6.0 on Linux/i386. PR target/81820 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns. (cherry picked from commit ac36c55f2dac2b54a657d242646d84dfd522eb55)
* i386: Don't use frame pointer without stack accessH.J. Lu2017-09-109-11/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there is no stack access, there is no need to use frame pointer even if -fno-omit-frame-pointer is used and caller's frame pointer is unchanged. gcc/ PR target/81736 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed to ... (ix86_finalize_stack_frame_flags): This. Also clear frame_pointer_needed if -fno-omit-frame-pointer is used without stack access. (ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags with ix86_finalize_stack_frame_flags. (ix86_expand_epilogue): Likewise. (ix86_expand_split_stack_prologue): Likewise. * doc/invoke.texi: Add a note for -fno-omit-frame-pointer. gcc/testsuite/ PR target/81736 * gcc.target/i386/pr81736-1.c: New test. * gcc.target/i386/pr81736-2.c: Likewise. * gcc.target/i386/pr81736-3.c: Likewise. * gcc.target/i386/pr81736-4.c: Likewise. * gcc.target/i386/pr81736-5.c: Likewise. * gcc.target/i386/pr81736-6.c: Likewise. * gcc.target/i386/pr81736-7.c: Likewise. (cherry picked from commit cd557ff63f388ad27c376d0a225e74d3594a6f9d)
* Daily bump.gccadmin2017-09-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251955 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]wschmidt2017-09-105-1/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2017-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline 2017-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/80695 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Account for direct move costs for vec_construct of integer vectors. Backport from mainline 2017-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/80695 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Reduce cost estimate for direct moves. [gcc/testsuite] 2017-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline 2017-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/80695 * gcc.target/powerpc/pr80695-p8.c: New file. * gcc.target/powerpc/pr80695-p9.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251952 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/79441ebotcazou2017-09-102-1/+7
| | | | | | | * gnat.dg/pack9.adb: Robustify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251950 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/81852 define feature-test macro for -fthreadsafe-staticsredi2017-09-108-1/+49
| | | | | | | | | | | | | | | | | | gcc/c-family: PR c++/81852 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. gcc/testsuite: PR c++/81852 * g++.dg/cpp1y/feat-cxx11.C: Check __cpp_threadsafe_static_init. * g++.dg/cpp1y/feat-cxx14.C: Likewise. * g++.dg/cpp1y/feat-cxx98.C: Likewise. * g++.dg/cpp1y/feat-neg.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251946 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251944 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (promote_object_alignment): New function takenebotcazou2017-09-094-40/+103
| | | | | | | | | | from... (gnat_to_gnu_entity) <E_Variable>: ...here. Invoke it. (gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and create a padding type on success before doing the atomic check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251932 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply theebotcazou2017-09-092-12/+18
| | | | | | | promotion to static memory earlier in the processing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251930 138bc75d-0d04-0410-961f-82ee72b054a4
* * sem_util.ads (Set_Rep_Info): New inline procedure.ebotcazou2017-09-099-20/+167
| | | | | | | | | | | | | * sem_util.adb (Set_Rep_Info): Implement it. * sem_ch3.adb (Process_Subtype): If the case of a constraint present, always copy the representation aspects onto the subtype. * gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK and TYPE_BY_REFERENCE_P flags on types after various promotions. * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>: Consider all kinds of entities. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251928 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/81926ebotcazou2017-09-092-2/+50
| | | | | | | | | * cp-objcp-common.c (struct debug_type_hasher): New class. (debug_type_hash): New variable. (cp_get_debug_type): Associate the OFFSET_TYPEs with the types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251923 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-091-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251916 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/81988ebotcazou2017-09-084-1/+49
| | | | | | | | | * config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32. (*mulsi3_sp64): New instruction. (mulsi3): New expander. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251905 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-081-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251860 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-0/+26
| | | | | | | | | | | | | 2017-09-05 Jakub Jelinek <jakub@redhat.com> PR middle-end/81768 * omp-low.c (lower_omp_for): Recompute tree invariant if gimple_omp_for_initial/final is ADDR_EXPR. * gcc.dg/gomp/pr81768-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251857 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-4/+34
| | | | | | | | | | | | | 2017-09-05 Jakub Jelinek <jakub@redhat.com> PR middle-end/81768 * omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR into gimple val before gimplification fo the COND_EXPR. * gcc.dg/gomp/pr81768-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251856 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-072-1/+5
| | | | | | | | | 2017-09-04 Jakub Jelinek <jakub@redhat.com> * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251855 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-2/+26
| | | | | | | | | | | | | 2017-09-01 Jakub Jelinek <jakub@redhat.com> PR sanitizer/81923 * asan.c (create_odr_indicator): Strip name encoding from assembler name before appending it after __odr_asan_. * gcc.dg/asan/pr81923.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251854 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-09-07 Jakub Jelinek <jakub@redhat.com>jakub2017-09-076-1/+92
| | | | | | | | | | | | | | | | | | | Backported from mainline 2017-08-09 Jakub Jelinek <jakub@redhat.com> PR c/81687 * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL LABEL_DECLs. * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL or DECL_NONLOCAL labels. (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL or DECL_NONLOCAL labels here. * testsuite/libgomp.c/pr81687-1.c: New test. * testsuite/libgomp.c/pr81687-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251853 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-072-0/+14
| | | | | | | | | 2017-08-07 Jakub Jelinek <jakub@redhat.com> * include/system/sys/ptrace.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251852 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-2/+16
| | | | | | | | | | | | | 2017-08-03 Jakub Jelinek <jakub@redhat.com> PR target/81621 * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish after setting changeable df flags. * gcc.dg/pr81621.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251851 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-12/+36
| | | | | | | | | | | | | | | 2017-08-03 Jakub Jelinek <jakub@redhat.com> PR driver/81650 * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??) instead of 10??LU, perform unit multiplication in wide_int, don't change alloc_object_size_limit if the limit is larger than SSIZE_MAX. * gcc.dg/pr81650.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251850 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-074-2/+47
| | | | | | | | | | | | | 2017-08-03 Jakub Jelinek <jakub@redhat.com> PR middle-end/81052 * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. * c-c++-common/pr81052.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251849 138bc75d-0d04-0410-961f-82ee72b054a4
* Backported from mainlinejakub2017-09-075-0/+86
| | | | | | | | | | | | | | | 2017-07-27 Jakub Jelinek <jakub@redhat.com> PR c/45784 * c-omp.c (c_finish_omp_for): If the condition is wrapped in rhs of COMPOUND_EXPR(s), skip them and readd their lhs into new COMPOUND_EXPRs around the rhs of the comparison. * testsuite/libgomp.c/pr45784.c: New test. * testsuite/libgomp.c++/pr45784.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251848 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-071-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251824 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]wschmidt2017-09-064-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline: 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/81987 * gimple-ssa-strength-reduction.c (insert_initializers): Don't insert an initializer in a location not dominated by the stride definition. [gcc/testsuite] 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline: 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/81987 * g++.dg/torture/pr81987.C: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251815 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/82120jakub2017-09-062-1/+7
| | | | | | | | * gcc.dg/tree-ssa/pr81588.c: Don't run on logical_op_short_circuit targets except for those where -mbranch-cost=2 is supported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251806 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251749 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]wschmidt2017-09-054-83/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Jakub Jelinek <jakub@redhat.com> Richard Biener <rguenther@suse.de> PR tree-optimization/81503 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure folded constant fits in the target type; reorder tests for clarity. [gcc/testsuite] 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Jakub Jelinek <jakub@redhat.com> Richard Biener <rguenther@suse.de> PR tree-optimization/81503 * gcc.c-torture/execute/pr81503.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251743 138bc75d-0d04-0410-961f-82ee72b054a4
* [PR79542][Ada] Fix ICE in dwarf2out.c with nested func. inliningpmderodat2017-09-055-57/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport from trunk. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79542 reports an ICE in dwarf2out.c for an Ada testcase built with optimization. This crash happens during the late generation pass because add_gnat_descriptive_type cannot find the type DIE corresponding to some descriptive type after having tried to generate it. This is because the DIE was generated during the early generation pass, but then pruned by the type pruning machinery. So why was it pruned? We are in a situation where we have cloned types (because of inlining, IIUC) whose TYPE_NAME have non-null DECL_ABSTRACT_ORIGIN attributes. As a consequence: * In modified_type_die, the "handle C typedef types" part calls gen_type_die on the cloned type. * gen_type_die matches a typedef variant, and then calls gen_decl_die on its TYPE_NAME, which will end up calling gen_typedef_die. * gen_typedef_die checks decl_ultimate_origin for this TYPE_DECL, and finds one, so it only adds a DW_AT_abstract_origin attribute to the DW_TAG_typedef DIE, but the cloned type itself does not get its own DIE. * Back in modified_type_die, the call to lookup_type_die on the type passed to gen_type_die returns NULL. In the end, whole type trees, i.e. the ones referenced by DECL_ABSTRACT_ORIGIN attributes, are never referenced from type pruning "roots" and are thus pruned. The descriptive type at stake here is one of them, hence the assertion failure. This patch attemps to fix that with what seems to be the most sensible thing to do in my opinion: updating the "handle C typedef types" part in modified_type_die to check decl_ultimate_origin before calling gen_type_die: if that function returns something not null, then we know that gen_type_die/gen_typedef_die will not generate a DIE for the input type, so we try to process the ultimate origin instead. It also updates in a similar way gen_type_die_with_usage, assert that when gen_typedef_die is called on nodes that have an ultimate origin, this origin is themselves. gcc/ PR ada/79542 * dwarf2out.c (modified_type_die): For C typedef types that have an ultimate origin, process the ultimate origin instead of the input type. (gen_typedef_die): Assert that input DECLs have no ultimate origin. (gen_type_die_with_usage): For typedef variants that have an ultimate origin, just call gen_decl_die on the original DECL. (process_scope_var): Avoid creating DIEs for local typedefs and concrete static variables. gcc/testsuite/ PR ada/79542 * gnat.dg/debug13.ads, gnat.dg/debug13.adb: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251709 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/62235ebotcazou2017-09-057-3/+81
| | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Record_Subtype with a cloned subtype. <E_Record_Subtype>: Use the DECL of the cloned type directly, if any. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251707 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (unchecked_convert): When the result type is aebotcazou2017-09-054-14/+47
| | | | | | | non-biased integral type with size 0, set the result to 0 directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251702 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Call_to_gnu): If this is a function call andebotcazou2017-09-052-5/+13
| | | | | | | | there is no target, do not create a temporary for the return value for an allocator either. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251696 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (pos_to_constructor): Skip conversions to anebotcazou2017-09-055-1/+50
| | | | | | | unconstrained array type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251693 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251688 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/mpx/mpx-os-support.h: New file.uros2017-09-049-19/+47
| | | | | | | | | | | | | | | | | | * gcc.target/i386/mpx/mpx-check.h: Include mpx-os-support.h. (check_osxsave): New function. (main): Use __get_cpuid_count and return NORUNRES on failure. Use check_osxsave. * gcc.target/i386/mpx/va-arg-pack-1-lbv.c (foo1): Use __builtin_va_arg_pack instead of __va_arg_pack. * gcc.target/i386/mpx/va-arg-pack-1-nov.c (foo1): Ditto. * gcc.target/i386/mpx/va-arg-pack-1-ubv.c (foo1): Ditto. * gcc.target/i386/mpx/va-arg-pack-2-lbv.c (foo1): Ditto. * gcc.target/i386/mpx/va-arg-pack-2-nov.c (foo1): Ditto. * gcc.target/i386/mpx/va-arg-pack-2-ubv.c (foo1): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251684 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/82039 suppress -Wzero-as-null-pointer-constant warningredi2017-09-042-1/+8
| | | | | | | | | | | Backport from mainline 2017-08-31 Jonathan Wakely <jwakely@redhat.com> PR c++/82039 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): Adjust null pointer constant to avoid warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251658 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/81912 make std::__iterator_category constexprredi2017-09-046-5/+74
| | | | | | | | | | | | | | | | Backport from mainline 2017-08-21 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/81912 * include/bits/stl_iterator_base_types.h (__iterator_category): Add constexpr for C++11 and later. * testsuite/24_iterators/container_access.cc: Add target selector. * testsuite/24_iterators/range_access.cc: Fix clause number in comment. * testsuite/24_iterators/range_access_cpp14.cc: Likewise. * testsuite/24_iterators/range_access_cpp17.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251657 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix test for __has_unique_object_representations support in Clangredi2017-09-042-6/+15
| | | | | | | | | | | Backport from mainline 2017-08-09 Jonathan Wakely <jwakely@redhat.com> * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use __is_identifier to set it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251656 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix test for __is_aggregate support in Clangredi2017-09-042-2/+8
| | | | | | | | | | Backport from mainline 2017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com> * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use __is_identifier instead of __has_builtin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251655 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/81891 fix double-free in hashtable constructorredi2017-09-043-11/+80
| | | | | | | | | | | | | | Backport from mainline 2017-08-18 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/81891 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&)): Let destructor do clean up if an exception is thrown. * testsuite/23_containers/unordered_map/cons/81891.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251654 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/81599 fix typo in Doxygen commentsredi2017-09-042-1/+7
| | | | | | | | | | Backport from mainline 2017-07-31 Marek Polacek <polacek@redhat.com> PR libstdc++/81599 * include/bits/stl_stack.h: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251653 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/81338 correctly manage string capacityredi2017-09-045-5/+94
| | | | | | | | | | | | | | | | Backport from mainline 2017-07-10 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/81338 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): Declare basic_stringbuf to be a friend. * include/bits/sstream.tcc (basic_stringbuf::overflow) [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string length to buffer length. * testsuite/27_io/basic_stringstream/assign/81338.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251652 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251632 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-09-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251623 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-09-02 Janus Weil <janus@gcc.gnu.org>janus2017-09-025-2/+45
| | | | | | | | | | | | | | | | | | Backport from trunk PR fortran/81770 * expr.c (gfc_check_pointer_assign): Improve the check whether pointer may outlive pointer target. 2017-09-02 Janus Weil <janus@gcc.gnu.org> Backport from trunk PR fortran/81770 * gfortran.dg/warn_target_lifetime_3.f90: Fix a typo. * gfortran.dg/warn_target_lifetime_4.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251618 138bc75d-0d04-0410-961f-82ee72b054a4