aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-04-26Fix FAIL: gcc.dg/tree-ssa/minmax-2.c scan-tree-dump optimized "__builtin_fmin" Kyrylo Tkachov2-0/+7
* gcc.dg/tree-ssa/minmax-2.c: Require c99_runtime and add the associated options. From-SVN: r235440
2016-04-26Verify __builtin_unreachable and __builtin_trap are not called with argumentsMartin Jambor1-0/+24
2016-04-26 Martin Jambor <mjambor@suse.cz> * tree-cfg.c (verify_gimple_call): Check that calls to __builtin_unreachable or __builtin_trap do not have actual arguments. From-SVN: r235439
2016-04-26Bootstrapped/regtested on x86_64-linux, ok for trunk?Marek Polacek7-9/+96
2016-04-25 Marek Polacek <polacek@redhat.com> PR c++/70744 * call.c (build_conditional_expr_1): Call cp_stabilize_reference instead of stabilize_reference. (build_over_call): Likewise. * cp-tree.h (cp_stabilize_reference): Declare. * tree.c (cp_stabilize_reference): New function. * typeck.c (cp_build_unary_op): Call cp_stabilize_reference instead of stabilize_reference. (unary_complex_lvalue): Likewise. (cp_build_modify_expr): Likewise. * g++.dg/ext/cond2.C: New test. diff --git gcc/cp/call.c gcc/cp/call.c index 11f2d42..476e806 100644 --- gcc/cp/call.c +++ gcc/cp/call.c @@ -4634,7 +4634,7 @@ build_conditional_expr_1 (location_t loc, tree arg1, tree arg2, tree arg3, /* Make sure that lvalues remain lvalues. See g++.oliva/ext1.C. */ if (real_lvalue_p (arg1)) - arg2 = arg1 = stabilize_reference (arg1); + arg2 = arg1 = cp_stabilize_reference (arg1); else arg2 = arg1 = save_expr (arg1); } @@ -7644,8 +7644,9 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) || (TREE_CODE (arg) == TARGET_EXPR && !unsafe_copy_elision_p (fa, arg))) { - tree to = stabilize_reference (cp_build_indirect_ref (fa, RO_NULL, - complain)); + tree to = cp_stabilize_reference (cp_build_indirect_ref (fa, + RO_NULL, + complain)); val = build2 (INIT_EXPR, DECL_CONTEXT (fn), to, arg); return val; @@ -7655,7 +7656,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) && trivial_fn_p (fn) && !DECL_DELETED_FN (fn)) { - tree to = stabilize_reference + tree to = cp_stabilize_reference (cp_build_indirect_ref (argarray[0], RO_NULL, complain)); tree type = TREE_TYPE (to); tree as_base = CLASSTYPE_AS_BASE (type); diff --git gcc/cp/cp-tree.h gcc/cp/cp-tree.h index ec92718..0e46ae1 100644 --- gcc/cp/cp-tree.h +++ gcc/cp/cp-tree.h @@ -6494,6 +6494,7 @@ extern cp_lvalue_kind real_lvalue_p (const_tree); extern cp_lvalue_kind lvalue_kind (const_tree); extern bool lvalue_or_rvalue_with_address_p (const_tree); extern bool xvalue_p (const_tree); +extern tree cp_stabilize_reference (tree); extern bool builtin_valid_in_constant_expr_p (const_tree); extern tree build_min (enum tree_code, tree, ...); extern tree build_min_nt_loc (location_t, enum tree_code, diff --git gcc/cp/tree.c gcc/cp/tree.c index 112c8c7..137186f 100644 --- gcc/cp/tree.c +++ gcc/cp/tree.c @@ -296,6 +296,46 @@ xvalue_p (const_tree ref) return (lvalue_kind (ref) == clk_rvalueref); } +/* C++-specific version of stabilize_reference. */ + +tree +cp_stabilize_reference (tree ref) +{ + switch (TREE_CODE (ref)) + { + /* We need to treat specially anything stabilize_reference doesn't + handle specifically. */ + case VAR_DECL: + case PARM_DECL: + case RESULT_DECL: + CASE_CONVERT: + case FLOAT_EXPR: + case FIX_TRUNC_EXPR: + case INDIRECT_REF: + case COMPONENT_REF: + case BIT_FIELD_REF: + case ARRAY_REF: + case ARRAY_RANGE_REF: + case COMPOUND_EXPR: + case ERROR_MARK: + break; + default: + cp_lvalue_kind kind = lvalue_kind (ref); + if ((kind & ~clk_class) != clk_none) + { + tree type = unlowered_expr_type (ref); + bool rval = !!(kind & clk_rvalueref); + type = cp_build_reference_type (type, rval); + /* This inhibits warnings in, eg, cxx_mark_addressable + (c++/60955). */ + warning_sentinel s (extra_warnings); + ref = build_static_cast (type, ref, tf_error); + } + } + + return stabilize_reference (ref); +} + /* Test whether DECL is a builtin that may appear in a constant-expression. */ diff --git gcc/cp/typeck.c gcc/cp/typeck.c index cef5604..7e12009 100644 --- gcc/cp/typeck.c +++ gcc/cp/typeck.c @@ -5912,7 +5912,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, int noconvert, { tree real, imag; - arg = stabilize_reference (arg); + arg = cp_stabilize_reference (arg); real = cp_build_unary_op (REALPART_EXPR, arg, 1, complain); imag = cp_build_unary_op (IMAGPART_EXPR, arg, 1, complain); real = cp_build_unary_op (code, real, 1, complain); @@ -6112,7 +6112,7 @@ unary_complex_lvalue (enum tree_code code, tree arg) tree lvalue = TREE_OPERAND (arg, 0); if (TREE_SIDE_EFFECTS (lvalue)) { - lvalue = stabilize_reference (lvalue); + lvalue = cp_stabilize_reference (lvalue); arg = build2 (TREE_CODE (arg), TREE_TYPE (arg), lvalue, TREE_OPERAND (arg, 1)); } @@ -7496,7 +7496,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, case PREINCREMENT_EXPR: if (TREE_SIDE_EFFECTS (TREE_OPERAND (lhs, 0))) lhs = build2 (TREE_CODE (lhs), TREE_TYPE (lhs), - stabilize_reference (TREE_OPERAND (lhs, 0)), + cp_stabilize_reference (TREE_OPERAND (lhs, 0)), TREE_OPERAND (lhs, 1)); newrhs = cp_build_modify_expr (TREE_OPERAND (lhs, 0), modifycode, rhs, complain); @@ -7516,7 +7516,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, case MODIFY_EXPR: if (TREE_SIDE_EFFECTS (TREE_OPERAND (lhs, 0))) lhs = build2 (TREE_CODE (lhs), TREE_TYPE (lhs), - stabilize_reference (TREE_OPERAND (lhs, 0)), + cp_stabilize_reference (TREE_OPERAND (lhs, 0)), TREE_OPERAND (lhs, 1)); newrhs = cp_build_modify_expr (TREE_OPERAND (lhs, 0), modifycode, rhs, complain); @@ -7665,7 +7665,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, not intervene between the lvalue-to-rvalue conversion and the side effect associated with any single compound assignment operator. -- end note ] */ - lhs = stabilize_reference (lhs); + lhs = cp_stabilize_reference (lhs); rhs = rvalue (rhs); rhs = stabilize_expr (rhs, &init); newrhs = cp_build_binary_op (input_location, diff --git gcc/testsuite/g++.dg/ext/cond2.C gcc/testsuite/g++.dg/ext/cond2.C index e69de29..d9f1d59 100644 --- gcc/testsuite/g++.dg/ext/cond2.C +++ gcc/testsuite/g++.dg/ext/cond2.C @@ -0,0 +1,28 @@ +// PR c++/70744 +// { dg-do run } +// { dg-options "" } + +static void +fn1 (void) +{ + int x = 2; + ++x ? : 42; + if (x != 3) + __builtin_abort (); + --x ? : 42; + if (x != 2) + __builtin_abort (); + x++ ? : 42; + if (x != 3) + __builtin_abort (); + x-- ? : 42; + if (x != 2) + __builtin_abort (); +} + +int +main () +{ + fn1 (); + return 0; +} From-SVN: r235438
2016-04-26tree-if-conv.c (any_pred_load_store): New static variable.Bin Cheng2-25/+32
* tree-if-conv.c (any_pred_load_store): New static variable. (if_convertible_gimple_assign_stmt_p): Remove parameter. Use any_pred_load_store instead of and_mask_load_store. (if_convertible_stmt_p, if_convertible_loop_p_1): Ditto. (if_convertible_loop_p, insert_gimplified_predicates): Ditto. (combine_blocks, tree_if_conversion): Ditto. From-SVN: r235437
2016-04-26re PR tree-optimization/70771 (ICE on valid code at -O3 on x86_64-linux-gnu ↵Bin Cheng5-63/+88
in operator[], at vec.h:714) PR tree-optimization/70771 PR tree-optimization/70775 * tree-if-conv.c (if_convertible_phi_p): Remove check on special virtual PHI nodes. Delete parameter. (if_convertible_loop_p_1): Delete argument to above function. (predicate_all_scalar_phis): Delete code handling single-argument PHIs. (tree_if_conversion): Mark and update virtual SSA. gcc/testsuite/ChangeLog PR tree-optimization/70771 PR tree-optimization/70775 * gcc.dg/pr70771.c: New test. * gcc.dg/pr70771.c: New test. From-SVN: r235436
2016-04-26Support .largecomm with Solaris as (PR target/61821)Rainer Orth5-11/+39
PR target/61821 * config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default. (x86_elf_aligned_common): Rename to ... (x86_elf_aligned_decl_common): ... this. Add decl arg. Switch to .lbss for largecomm object. Use LARGECOMM_SECTION_ASM_OP. * config/i386/i386-protos.h (x86_elf_aligned_common): Reflect renaming. * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ... (ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this. Pass new decl arg. * config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. [!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define. From-SVN: r235435
2016-04-26Support .lbss etc. sections with Solaris as (PR target/59407)Rainer Orth6-3/+48
PR target/59407 * config/i386/i386.c (SECTION_LARGE): Define. (x86_64_elf_select_section): Set it for large data/bss sections. Only clear SECTION_WRITE for .lrodata. (x86_64_elf_section_type_flags): Set SECTION_LARGE for large data/bss sections. * config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define. * varasm.c (default_elf_asm_named_section): Grow flagchars. [MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for SECTION_MACH_DEP. * doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe. * doc/tm.texi: Regenerate. From-SVN: r235434
2016-04-26* gcc.target/i386/lzcnt-1.c: Allow a different lzcntw output register.Bernd Schmidt2-1/+5
From-SVN: r235431
2016-04-26re PR bootstrap/70704 (AIX bootstrap comparison failure)Jakub Jelinek9-27/+70
PR bootstrap/70704 * configure.ac (--enable-stage1-checking): For --disable-checking or implicit --enable-checking, make sure extra flag matches in between stage1 and later checking. * configure: Regenerated. gcc/ * configure.ac (--enable-checking): Document extra flag, for non-release builds default to --enable-checking=yes,extra. If misc checking and extra checking, define CHECKING_P to 2 instead of 1. * common.opt (fchecking=): Add. * doc/invoke.texi (-fchecking=): Document. * doc/install.texi: Document --enable-checking changes. * configure: Regenerated. * config.in: Regenerated. gcc/cp/ * pt.c (build_non_dependent_expr): Use flag_checking > 1 instead of just flag_checking. From-SVN: r235430
2016-04-26Daily bump.GCC Administrator1-1/+1
From-SVN: r235428
2016-04-25i386.md (*movxi_internal_avx512f): Use insn type attribute instead of ↵Uros Bizjak3-13/+22
which_alternative. * config/i386/i386.md (*movxi_internal_avx512f): Use insn type attribute instead of which_alternative. * config/i386/sse.md (*mov<mode>_internal): Ditto. Use EXT_REX_SSE_REG_P where appropriate. From-SVN: r235422
2016-04-25* sv.po: Update.Joseph Myers2-785/+529
From-SVN: r235419
2016-04-25predicates.md (const0_operand): Do not match const_wide_int code.Uros Bizjak2-2/+8
* config/i386/predicates.md (const0_operand): Do not match const_wide_int code. (const1_operand): Ditto. From-SVN: r235417
2016-04-25i386.md (*movoi_internal_avx): Set mode attribute to XI for SSE constm1 ↵Uros Bizjak5-28/+48
operands and TARGET_AVX512VL. * config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI for SSE constm1 operands and TARGET_AVX512VL. (*movti_internal): Ditto. (*mov<mode>_or): Use constm1_operand predicate. * config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI for SSE vector_all_ones operands and TARGET_AVX512VL. * config/i386/predicates.md (constm1_operand): New predicate. * config/i386/i386.c (standard_sse_constant_opcode): Simplify emission of constant -1 load. From-SVN: r235416
2016-04-25* gdbinit.in: Skip is-a.h.Jason Merrill2-0/+5
From-SVN: r235415
2016-04-25Implement C++17 [[maybe_unused]] attribute.Jason Merrill13-18/+80
gcc/ * attribs.c (register_scoped_attributes): Fix logic. * attribs.h: Declare register_scoped_attributes. c-family/ * c-common.c (handle_unused_attribute): Accept CONST_DECL. No longer static. * c-common.h: Declare it. * c-lex.c (c_common_has_attribute): Add maybe_unused. cp/ * tree.c (std_attribute_table): New. (init_tree): Register it. From-SVN: r235414
2016-04-25Correct ChangeLog entryWilliam Schmidt1-2/+2
From-SVN: r235413
2016-04-25rs6000-builtin.def: Correct pasto error for stxvd2x and stxvw4x built-in ↵Bill Schmidt2-7/+12
functions. 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * rs6000-builtin.def: Correct pasto error for stxvd2x and stxvw4x built-in functions. From-SVN: r235412
2016-04-25msp430.md (ashlhi3): Optimize one bit shifts.DJ Delorie2-0/+15
* config/msp430/msp430.md (ashlhi3): Optimize one bit shifts. (ashrhi3): Likewise. (lshrhi3): Likewise. From-SVN: r235410
2016-04-25re PR tree-optimization/70780 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Richard Biener4-1/+42
2016-04-25 Richard Biener <rguenther@suse.de> PR tree-optimization/70780 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block wasn't visited yet. (compute_antic): Mark blocks with abnormal preds as visited as they have a final empty antic-in solution already. * gcc.dg/torture/pr70780.c: New testcase. From-SVN: r235407
2016-04-25ChangeLog (2016-04-25): Fix ChangeLog formatting.Michael Collison1-20/+23
2016-04-25 Michael Collison <michael.collison@linaro.org> * ChangeLog(2016-04-25): Fix ChangeLog formatting. From-SVN: r235403
2016-04-25neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve ↵Michael Collison12-52/+328
mixed mode vectorization. 2016-04-25 Michael Collison <michael.collison@linaro.org> * config/arm/neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of signed vaddw. * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of signed vaddw. * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of unsigned vaddw. * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of unsigned vaddw. * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype for new function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/predicates.md (vect_par_constant_high): Support big endian and simplify by calling arm_simd_check_vect_par_cnst_half (vect_par_constant_low): Likewise. * testsuite/gcc.target/arm/neon-vaddws16.c: New test. * testsuite/gcc.target/arm/neon-vaddws32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu16.c: New test. * testsuite/gcc.target/arm/neon-vaddwu32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu8.c: New test. * testsuite/lib/target-supports.exp (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate that arm neon support vector widen sum of HImode TO SImode. From-SVN: r235402
2016-04-25Daily bump.GCC Administrator1-1/+1
From-SVN: r235401
2016-04-25i386.md (*lea<mode>_general_4): Use const_0_to_3_operand predicate for ↵Uros Bizjak2-7/+10
operand 2. * config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand predicate for operand 2. From-SVN: r235397
2016-04-24i386-protos.h (standard_sse_constant_p): Add machine_mode argument.Uros Bizjak7-102/+185
* config/i386/i386-protos.h (standard_sse_constant_p): Add machine_mode argument. * config/i386/i386.c (standard_sse_constant_p): Return 2 for constm1_rtx operands. For VOIDmode constants, get mode from pred_mode. Check mode size if the mode is supported by ABI. (standard_sse_constant_opcode): Do not use standard_constant_p. Strictly check ABI support for all-ones operands. (ix86_legitimate_constant_p): Handle TImode, OImode and XImode immediates. Update calls to standard_sse_constant_p. (ix86_expand_vector_move): Update calls to standard_sse_constant_p. (ix86_rtx_costs): Ditto. * config/i386/i386.md (*movxi_internal_avx512f): Use nonimmediate_or_sse_const_operand instead of vector_move_operand. Use (v,BC) alternative instead of (v,C). Use register_operand checks instead of MEM_P. (*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead of vector_move_operand. Add (v,BC) alternative and corresponding avx2 isa attribute. Use register_operand checks instead of MEM_P. (*movti_internal): Use nonimmediate_or_sse_const_operand for TARGET_SSE. Improve TARGET_SSE insn constraint. Add (v,BC) alternative and corresponding sse2 isa attribute. (*movtf_internal, *movdf_internal, *movsf_interal): Update calls to standard_sse_constant_p. (FP constant splitters): Ditto. * config/i386/constraints.md (BC): Do not use standard_sse_constant_p. (C): Ditto. * config/i386/predicates.md (constm1_operand): Remove. (nonimmediate_or_sse_const_operand): Rewrite using RTX. * config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use vector_all_ones_operand instead of constm1_operand. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> From-SVN: r235396
2016-04-24make avail_stores a vec<rtx_insn *>Trevor Saunders4-16/+48
gcc/ChangeLog: 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * print-rtl.c (print_rtx_insn_vec): New function. * print-rtl.h: New prototype. * store-motion.c (struct st_expr): Make avail_stores a vector. (st_expr_entry): Adjust. (free_st_expr_entry): Likewise. (print_store_motion_mems): Likewise. (find_moveable_store): Likewise. (compute_store_table): Likewise. (delete_store): Likewise. (build_store_vectors): Likewise. From-SVN: r235394
2016-04-24stop using rtx_insn_list in reorg.cTrevor Saunders2-12/+15
gcc/ChangeLog: 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * reorg.c (try_merge_delay_insns): Make merged_insns a vector. From-SVN: r235393
2016-04-24add some utility methods to vecTrevor Saunders2-1/+50
gcc/ChangeLog: 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * vec.h (vec_safe_contains): New function. (vec::contains): Likewise. (vec::begin): Likewise. (vec::end): Likewise. From-SVN: r235392
2016-04-24Daily bump.GCC Administrator1-1/+1
From-SVN: r235390
2016-04-23re PR sanitizer/70712 (False positive from AddressSanitizer with use of ↵Jakub Jelinek4-1/+43
'alignas') PR sanitizer/70712 * cfgexpand.c (expand_stack_vars): Fix typo. * c-c++-common/asan/pr70712.c: New test. From-SVN: r235384
2016-04-23compiler: Expose runtime code through Func_expression.Ian Lance Taylor5-3/+70
Enables us to easily check if a Call_expression is a call to a runtime function and, if so, which runtime function is corresponds to. This will be used during escape analysis. Reviewed-on: https://go-review.googlesource.com/18544 From-SVN: r235383
2016-04-23add basic .gitattributes files to notice whitespace issuesTrevor Saunders2-0/+5
gcc/testsuite/ChangeLog: 2016-04-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * .gitattributes: New file. /ChangeLog: 2016-04-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * .gitattributes: New file. From-SVN: r235381
2016-04-23cmd/go: bring in final version of gccgo pkg-config supportIan Lance Taylor1-1/+1
This updates gccgo to the final version of https://golang.org/cl/18790, by Michael Hudson-Doyle. Update golang/go#11739. Reviewed-on: https://go-review.googlesource.com/22400 From-SVN: r235380
2016-04-23Daily bump.GCC Administrator1-1/+1
From-SVN: r235379
2016-04-22[testsuite] gcc-dg: handle all return values when shouldfail is setChristophe Lyon2-0/+5
2016-04-22 Christophe Lyon <christophe.lyon@linaro.org> * lib/gcc-dg.exp (${tool}_load): Add default return value handler. From-SVN: r235372
2016-04-22* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.Jason Merrill2-1/+7
From-SVN: r235371
2016-04-22* parser.c (cp_parser_perform_range_for_lookup): Decay the array.Jason Merrill2-2/+6
From-SVN: r235370
2016-04-22submodule_14.f08: Add cleanup-submodules.Dominique d'Humieres3-1/+7
2016-04-22 Dominique d'Humieres <dominiq@lps.ens.fr> * gfortran.dg/submodule_14.f08: Add cleanup-submodules. * gfortran.dg/submodule_15.f08: Likewise. From-SVN: r235367
2016-04-22[PATCH 2/2] (header usage fix) include c++ headers in system.hSzabolcs Nagy10-18/+36
2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> * system.h (list, map, set, vector): Include conditionally. * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define. * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define. * ipa-icf.c (INCLUDE_LIST): Define. * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define. * config/sh/sh.c (INCLUDE_VECTOR): Define. * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define. (INCLUDE_LIST, INCLUDE_VECTOR): Define. * cp/logic.cc (INCLUDE_LIST): Define. * fortran/trans-common.c (INCLUDE_MAP): Define. From-SVN: r235362
2016-04-22[PATCH 1/2] (header usage fix) remove unused system header includesSzabolcs Nagy10-15/+12
2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> * auto-profile.c: Remove <string.h> include. * ipa-icf-gimple.c: Remove <list> include. * diagnostic.c: Remove <new> include. * genmatch.c: Likewise. * pretty-print.c: Likewise. * toplev.c: Likewise * c/c-objc-common.c: Likewise. * cp/error.c: Likewise. * fortran/error.c: Likewise. From-SVN: r235361
2016-04-22lto-streamer-in.c (input_ssa_names): Do not allocate GIMPLE_NOP for all SSA ↵Richard Biener3-3/+17
names. 2016-04-22 Richard Biener <rguenther@suse.de> * lto-streamer-in.c (input_ssa_names): Do not allocate GIMPLE_NOP for all SSA names. * lto-streamer-out.c (output_ssa_names): Do not output SSA names that should have been released. From-SVN: r235360
2016-04-22re PR tree-optimization/70740 (ICE when compiling the Linux kernel ↵Richard Biener4-3/+54
(net/wireless/util.o)) 2016-04-22 Richard Biener <rguenther@suse.de> PR tree-optimization/70740 * tree-ssa-phiprop.c (propagate_with_phi): Handle inserted VDEF. * gcc.dg/torture/pr70740.c: New testcase. From-SVN: r235359
2016-04-22Daily bump.GCC Administrator1-1/+1
From-SVN: r235357
2016-04-21X86: Fix a typo in call_insn_operandH.J. Lu5-1/+35
r231923 has ;; Test for a valid operand for a call instruction. ;; Allow constant call address operands in Pmode only. (define_special_predicate "call_insn_operand" (ior (match_test "constant_call_address_operand (op, mode == VOIDmode ? mode : Pmode)") (match_operand 0 "call_register_no_elim_operand") - (and (not (match_test "TARGET_X32")) - (match_operand 0 "memory_operand")))) + (ior (and (not (match_test "TARGET_X32")) + (match_operand 0 "sibcall_memory_operand")) ^^^^^^^^^^^^^^^^^^^^^^^ A typo. + (and (match_test "TARGET_X32 && Pmode == DImode") + (match_operand 0 "GOT_memory_operand"))))) "sibcall_memory_operand" should be "memory_operand". gcc/ PR target/70750 * config/i386/predicates.md (call_insn_operand): Replace sibcall_memory_operand with memory_operand. gcc/testsuite/ PR target/70750 * gcc.target/i386/pr70750-1.c: New test. * gcc.target/i386/pr70750-2.c: Likewise. From-SVN: r235353
2016-04-21vrp: remove redundant has_single_use testsPatrick Palka2-19/+18
gcc/ChangeLog: * tree-vrp.c (register_edge_assert_for_2): Remove redundant has_single_use() tests. (register_edge_assert_for_1): Likewise. (find_assert_locations_1): Check the liveness bitmap instead of checking has_single_use(). From-SVN: r235352
2016-04-21Reuse the saved_scope structures allocated by push_to_top_levelPatrick Palka2-1/+33
gcc/cp/ChangeLog: * name-lookup.c (free_saved_scope): New free list of saved_scope structures. (push_to_top_level): Attempt to reuse a saved_scope struct from free_saved_scope instead of allocating a new one each time. (pop_from_top_level_1): Chain the now-unused saved_scope structure onto free_saved_scope. From-SVN: r235351
2016-04-21* sv.po: Update.Joseph Myers2-301/+203
From-SVN: r235349
2016-04-21re PR c++/70540 (ICE on invalid code in cxx_incomplete_type_diagnostic, at ↵Paolo Carlini4-1/+20
cp/typeck2.c:569) /cp 2016-04-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70540 * semantics.c (process_outer_var_ref): Unconditionally return error_mark_node when mark_used returns false. /testsuite 2016-04-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70540 * g++.dg/cpp0x/auto48.C: New. From-SVN: r235348
2016-04-21re PR c++/70513 (ICE on invalid C++ code on x86_64-linux-gnu: Segmentation ↵Marek Polacek5-0/+98
fault) PR c++/70513 * parser.c (cp_parser_enum_specifier): Check and possibly error for extra qualification. * g++.dg/cpp0x/forw_enum12.C: New test. * g++.dg/cpp0x/forw_enum13.C: New test. From-SVN: r235347
2016-04-21AVX-512. PR target/70728. Use separate constraint for AVX-512BWKirill Yukhin4-7/+49
PR target/70728 gcc/ * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"): Extract AVX-512BW constraint from AVX. gcc/testsuite/ * gcc.target/i386/pr70728.c: New test. From-SVN: r235344