Commit Graph

135127 Commits

Author SHA1 Message Date
Rainer Orth
d8b1c7f44b Include target-utils.exp in boehm-gc testing
* testsuite/lib/boehm-gc.exp: Load target-utils.exp.

From-SVN: r218857
2014-12-18 09:42:22 +00:00
Prathamesh Kulkarni
0ecc12d8f0 Add myself to MAINTAINERS under Writer After Approval
From-SVN: r218856
2014-12-18 06:19:33 +00:00
Bin Cheng
6326a5f515 re PR middle-end/62178 ([AArch64] Performance regression on matrix matrix multiply due to r211211)
PR tree-optimization/62178
	* tree-ssa-loop-ivopts.c (cheaper_cost_with_cand): New function.
	(iv_ca_replace): New function.
	(try_improve_iv_set): New parameter try_replace_p.
	Break local optimal fixed-point by calling iv_ca_replace.
	(find_optimal_iv_set_1): Pass new argument to try_improve_iv_set.

	gcc/testsuite/ChangeLog
	PR tree-optimization/62178
	* gcc.target/aarch64/pr62178.c: New test.

From-SVN: r218855
2014-12-18 02:53:42 +00:00
Dehao Chen
29ca9bfb90 auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place.
gcc/ChangeLog:
2014-12-17  Dehao Chen  <dehao@google.com>

        * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
        place.
        (auto_profile): Recompute inline summary after processing cgraph node.

From-SVN: r218854
2014-12-18 00:19:24 +00:00
GCC Administrator
6fc5f22af3 Daily bump.
From-SVN: r218853
2014-12-18 00:16:36 +00:00
Oleg Endo
89f8797ee1 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/
	PR target/51244
	* config/sh/sh_treg_combine.cc (is_conditional_insn): New function.
	(cbranch_trace): Add member rtx* condition_rtx_in_insn, initialize it
	accordingly in constructor.
	(cbranch_trace::branch_condition_rtx_ref): New function.
	(cbranch_trace::branch_condition_rtx): Use branch_condition_rtx_ref.
	(sh_treg_combine::try_invert_branch_condition): Invert condition rtx
	in insn using reversed_comparison_code and validate_change instead of
	invert_jump_1.
	(sh_treg_combine::execute): Look for conditional insns in basic blocks
	in addition to conditional branches.
	* config/sh/sh.md (*movsicc_div0s): Remove combine patterns.

From-SVN: r218850
2014-12-17 23:08:14 +00:00
Oleg Endo
ff49a9ba7b re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/
	PR target/51244
	* config/sh/sh_treg_combine.cc (sh_treg_combine::try_optimize_cbranch):
	Combine ccreg inversion and cbranch into inverted cbranch.

From-SVN: r218847
2014-12-17 22:52:21 +00:00
Sergio Durigan Junior
64e6d5c442 dg-extract-results.sh: Use --text with grep to avoid issues with binary files.
2014-12-17  Sergio Durigan Junior  <sergiodj@redhat.com>

	* dg-extract-results.sh: Use --text with grep to avoid issues with
	  binary files.  Fall back to cat -v, if that doesn't work.

From-SVN: r218843
2014-12-17 22:35:04 +00:00
Vladimir Makarov
113050e74b Fix typo in changelog.
From-SVN: r218836
2014-12-17 21:29:01 +00:00
Vladimir Makarov
cdfc4dcf48 lra-constrints.c (process_alt_operands): Remove non allocatable hard regs when considering ira_prohibited_class_mode_regs.
2014-12-17  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constrints.c (process_alt_operands): Remove non allocatable
	hard regs when considering ira_prohibited_class_mode_regs.

From-SVN: r218835
2014-12-17 21:25:18 +00:00
Janus Weil
f4e2df8970 re PR fortran/64173 ([F03] ICE involving procedure pointer component)
2014-12-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64173
	* trans-array.c (structure_alloc_comps): Do not nullify procedure
	pointer components.

2014-12-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64173
	* gfortran.dg/proc_ptr_comp_40.f90: New.

From-SVN: r218834
2014-12-17 22:12:42 +01:00
Jan Hubicka
6c0c245e30 sreal.h (sreal::normalize): Implement inline.
* sreal.h (sreal::normalize): Implement inline.
	(sreal::normalize_up): New function.
	(sreal::normalize_down): New function.
	* sreal.c (sreal::normalize): Remove.

From-SVN: r218833
2014-12-17 21:11:46 +00:00
Jason Merrill
12d9ce1903 re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr function is evaluated twice)
PR c++/64333
	* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
	(cxx_eval_call_expression): Don't cache calls with non-constant args.
	(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
	(cxx_eval_unary_expression, cxx_eval_binary_expression)
	(cxx_eval_conditional_expression): Pass	false for lval.

From-SVN: r218832
2014-12-17 15:41:18 -05:00
Jason Merrill
92a596e856 * constexpr.c: Change "addr" parm names to "lval".
From-SVN: r218831
2014-12-17 15:41:12 -05:00
Jason Merrill
13f649f66c * constexpr.c: Tweak comments and formatting.
From-SVN: r218830
2014-12-17 15:41:07 -05:00
James Greenhalgh
43a39cdd96 [AArch64] Remove "generic_sched" attribute
gcc/

	* config/aarch64/aarch64.md (generic_sched): Delete it.

From-SVN: r218829
2014-12-17 18:15:46 +00:00
Jan-Benedict Glaw
53fea7871c MSP430: Fix unused arg warning
The build robot found this:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace   -o msp430.o -MT msp430.o -MMD -MP -MF ./.deps/msp430.TPo ../../../gcc/gcc/config/msp430/msp430.c
../../../gcc/gcc/config/msp430/msp430.c:979:43: error: unused parameter ‘file’ [-Werror=unused-parameter]
 msp430_asm_output_addr_const_extra (FILE *file, rtx x)
                                           ^
cc1plus: all warnings being treated as errors
make[2]: *** [msp430.o] Error 1

(See for example this build:
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=384666)

Ok for this one?

2014-12-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

        * config/msp430/msp430.c (msp430_asm_output_addr_const_extra): Fix
        unused argument warning.

From-SVN: r218828
2014-12-17 17:10:37 +00:00
Pierre-Marie de Rodat
d8e103f96f dwarf2out.c: do not short-circuit add_bound_info in array descr. lang-hook
gcc/
	* dwarf2out.h (struct array_descr_info): Remove the base_decl field.
	* dwarf2out.c (enum dw_scalar_form): New.
	(struct loc_descr_context): New.
	(add_scalar_info): New.
	(add_bound_info): Add a context parameter.  Use add_scalar_info.
	(loc_list_from_tree): Add a context parameter.  Handle PLACEHOLDER_EXPR
	nodes for type-related expressions.  Likewise for base declarations.
	(loc_descriptor_from_tree): Add a context parameter.
	(subrange_type_die): Update calls to add_bound_info.
	(tls_mem_loc_descriptor): Likewise.
	(loc_list_for_address_of_addr_expr_of_indirect_ref): Add a context
	parameter.  Update calls to loc_list_from_tree.
	(add_subscript_info): Update calls to add_bound_info.
	(gen_array_type_die): Update calls to loc_list_from_tree and to
	add_bound_info.
	(descr_info_loc): Remove.
	(add_descr_info_field): Remove.
	(gen_descr_array_type_die): Switch add_descr_info_field calls into
	add_scalar_info/add_bound_info ones.
	(gen_subprogram_die): Update calls to loc_list_from_tree.
	(gen_variable_die): Likewise.

From-SVN: r218827
2014-12-17 16:25:58 +00:00
Pierre-Marie de Rodat
f08649c02d Add a few debug utilities for DWARF expressions
* dwarf2out.c (print_loc_descr): New.
	(print_dw_val): New.
	(print_attribute): New.
	(print_loc_descr): New.
	(print_die): Use print_dw_val.
	(debug_dwarf_loc_descr): New.
	* dwarf2out.h (debug_dwarf_loc_descr): New declaration.

From-SVN: r218826
2014-12-17 16:25:49 +00:00
Pierre-Marie de Rodat
ce37c2974b Make the Ada front-end use the array descr language hook
* gcc-interface/misc.c (gnat_get_array_descr_info): New.  Use it for
	the get_array_descr_info lang-hook.  Use it to tune the DWARF output
	for array types.

From-SVN: r218825
2014-12-17 16:25:39 +00:00
Pierre-Marie de Rodat
de8143caad Enable the array descr language hook for all DWARF versions
* dwarf2out.c (gen_type_die_with_usage): Enable the array lang-hook
	even when (dwarf_version < 3 && dwarf_strict).
	(gen_descr_array_die): Do not output DW_AT_data_locationn,
	DW_AT_associated, DW_AT_allocated and DW_AT_byte_stride DWARF
	attributes when (dwarf_version < 3 && dwarf_strict).

From-SVN: r218824
2014-12-17 16:25:30 +00:00
Pierre-Marie de Rodat
616743a89d Complete information generated through the array descriptor language hook
gcc/
	* dwarf2out.h (enum array_descr_ordering): New.
	(array_descr_dimen): Add a bounds_type structure field.
	(struct array_descr_info): Add a field to hold index type information
	and another one to hold ordering information.
	* dwarf2out.c (gen_type_die_with_usage): Get the main variant before
	invoking the array descriptor language hook.  Initialize the
	array_descr_info structure before calling the lang-hook.
	(gen_descr_array_type_die): Use gen_type_die if not processing the main
	type variant.  Replace Fortran-specific code with generic one using
	this new field.  Add a GNAT descriptive type, if any.  Output type
	information for the array bound subrange, if any.

gcc/fortran
	* trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
	with column major ordering.

From-SVN: r218823
2014-12-17 16:25:21 +00:00
Pierre-Marie de Rodat
b86d271ef6 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r218822
2014-12-17 16:25:12 +00:00
H.J. Lu
0e379783d2 Fix a typo in ChangeLog
From-SVN: r218820
2014-12-17 06:39:43 -08:00
Ian Lance Taylor
658b028ad0 mksysinfo: Pass -O to compiler to avoid warnings on CentOS.
From Uros Bizjak.
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html

From-SVN: r218819
2014-12-17 14:26:55 +00:00
H.J. Lu
239711f6af Add -malign-data={abi|compat|cachineline}
Add -malign-data={abi|compat,cachineline} to control how GCC aligns
variables.  "compat" uses increased alignment value compatible with
GCC 4.8 and earlier, "abi" uses alignment value as specified by the
psABI, and "cacheline" uses increased alignment value to match the
cache line size.  "compat" is the default.

gcc/

	PR target/61296
	* config/i386/i386-opts.h (ix86_align_data): New enum.
	* config/i386/i386.c (ix86_data_alignment): Return the ABI
	alignment value for -malign-data=abi, the cachine line size
	for -malign-data=cachineline and the older GCC compatible
	alignment value for for -malign-data=compat.
	* config/i386/i386.opt (malign-data=): New.
	* doc/invoke.texi: Document -malign-data=.

gcc/testsuite/

	PR target/61296
	* gcc.target/i386/pr61296-2.c: New.
	* gcc.target/i386/pr61296-2.c: Likewise.
	* gcc.target/i386/pr61296-3.c: Likewise.
	* gcc.target/i386/pr61296-4.c: Likewise.
	* gcc.target/i386/pr61296-5.c: Likewise.
	* gcc.target/i386/pr61296-6.c: Likewise.
	* gcc.target/i386/pr61296-7.c: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r218818
2014-12-17 06:22:57 -08:00
Tejas Belagod
52c691fbfb re PR testsuite/64328 (addr_equal-1.c fails execution.)
PR testsuite/64328
	* gcc.dg/addr_equal-1.c: Not supported for -fPIC.

From-SVN: r218817
2014-12-17 12:15:36 +00:00
Marek Polacek
f52baa7b6e re PR middle-end/63568 (Missed optimization (a & ~mask) | (b & mask) = a ^ ((a ^ b) & mask))
PR middle-end/63568
	* match.pd: Add (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x pattern.

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

From-SVN: r218816
2014-12-17 11:48:33 +00:00
Jakub Jelinek
4c57980f9d re PR tree-optimization/64322 (More optimize opportunity for constant folding)
PR tree-optimization/64322
	* tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
	range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.

	* gcc.dg/tree-ssa/vrp95.c: New test.

From-SVN: r218812
2014-12-17 10:29:12 +01:00
Jakub Jelinek
8f94a8c4cc re PR sanitizer/64289 (ICE with -fsanitize=float-cast-overflow)
PR sanitizer/64289
	* c-convert.c: Include ubsan.h.
	(convert): For real -> integral casts and
	-fsanitize=float-cast-overflow don't call convert_to_integer, but
	instead instrument the float cast directly.

	* c-c++-common/ubsan/pr64289.c: New test.

From-SVN: r218811
2014-12-17 10:26:49 +01:00
Tim Shen
e16a69a8f2 re PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect results)
PR libstdc++/64302
	PR libstdc++/64303
	* include/bits/regex.h (match_results::cbegin, match_results::cend,
	regex_token_iterator::regex_token_iterator,
	regex_token_iterator::_M_normalize_result): Fix match_results cbegin
	and cend and regex_token_iterator::_M_result invariant.
	* include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
	* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.

From-SVN: r218810
2014-12-17 09:25:44 +00:00
Michael Haubenwallner
b20487079f drop reason for my change from ChangeLog
From-SVN: r218809
2014-12-17 08:27:53 +00:00
Tobias Burnus
f19626cf30 re PR fortran/54687 (Use gcc option machinery for gfortran)
2014-12-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
gcc/
        * flag-types.h (gfc_init_local_real, gfc_fcoarray,
        gfc_convert): New enums; moved from fortran/.

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
        * libgfortran.h (unit_convert): Add comment.
        * lang.opt (flag-convert, flag-init_real, flag-coarray):
        Add Var() and Enum().
        * options.c (gfc_handle_coarray_option): Remove.
        (gfc_init_options, gfc_post_options, gfc_handle_option):
        Update for *.opt changes.
        * array.c: Update for flag-variable name changes.
        * check.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * trans-array.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-stmt.c: Ditto.
        * trans-types.c: Ditto.
        * trans.c: Ditto.

From-SVN: r218808
2014-12-17 07:29:30 +01:00
Oleg Endo
69044fa9eb crt.h: New.
libgcc/
	* config/sh/crt.h: New.
	* config/sh/crti.S: Use GLOBAL macro from crt.h for _init and _fini
	symbols.
	* config/sh/crt1.S: Likewise.

From-SVN: r218807
2014-12-17 02:01:10 +00:00
Ian Lance Taylor
d8a99c7c6b compiler: Don't crash on append with single argument.
Instead of allocating an empty slice literal, use a slice
value with a nil pointer.

From-SVN: r218806
2014-12-17 01:04:39 +00:00
GCC Administrator
03625f0717 Daily bump.
From-SVN: r218805
2014-12-17 00:16:33 +00:00
Paolo Carlini
0007ff03b0 re PR c++/58650 ([c++11] ICE with invalid friend declaration)
/cp
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58650
	* parser.c (cp_parser_member_declaration): Fix error recovery for
	initialized non-static data member declared friend.

/testsuite
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58650
	* g++.dg/parse/friend12.C: New.

From-SVN: r218801
2014-12-16 23:28:31 +00:00
Ian Lance Taylor
e0d475db10 compiler: Don't built hash/equality functions for thunk structs.
They are never necessary, and they can cause problems when a
thunk is used to pass an unexported type from a different
package to a function defined in that package.  The resulting
struct type may need to call the comparison routine from the
other package, which will fail because the type is not
exported.  This will be bug492 in the master testsuite.

From-SVN: r218798
2014-12-16 22:53:38 +00:00
Jan Hubicka
c0f15a3f24 * fibonacci_heap.h (min): Return m_data instead of non-existing data.
From-SVN: r218797
2014-12-16 22:30:22 +00:00
Jan Hubicka
061ddf67f7 ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of const calls as constants.
* ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider
	return values of const calls as constants.
	(estimate_function_body_sizes): Expect calls to have false predicates.

From-SVN: r218796
2014-12-16 22:16:17 +00:00
Oleg Endo
8c7d662b9a re PR target/54089 ([SH] Refactor shift patterns)
gcc/testsuite/
	PR target/54089
	* gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2.

From-SVN: r218795
2014-12-16 21:37:42 +00:00
Ian Lance Taylor
ea9b01d4ff re PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])
PR go/61246
compiler: Switch expression comparisons should be boolean typed.

From-SVN: r218794
2014-12-16 21:36:53 +00:00
Oleg Endo
e49aee92bb re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/testsuite/
	PR target/53513
	* gcc.target/sh/fpchg.c: Rename to ...
	* gcc.target/sh/pr53513-1.c: ... this.  Adjust test case to work for
	-m4a and -m4a-single.

From-SVN: r218793
2014-12-16 21:28:59 +00:00
Tobias Burnus
c61819ff0f re PR fortran/54687 (Use gcc option machinery for gfortran)
2014-12-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        * lang.opt (flag-aggressive_function_elimination,
        flag-align_commons, flag-all_intrinsics,
        flag-allow_leading_underscore, flag-automatic, flag-backslash,
        flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
        flag-dollar_ok, flag-dump_fortran_original,
        flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
        flag-implicit_none, flag-max_array_constructor,
        flag-module_private, flag-pack_derived, flag-range_check,
        flag-recursive, flag-repack_arrays, flag-sign_zero,
        flag-underscoring): Add Var() and, where applicable, Enum().
        * options.c (gfc_init_options, gfc_post_options,
        gfc_handle_option): Update for *.opt changes.
        * arith.c: Update for flag-variable name changes.
        * array.c: Ditto.
        * cpp.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * f95-lang.c: Ditto.
        * frontend-passes.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * module.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * scanner.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans-types.c: Ditto.

From-SVN: r218792
2014-12-16 21:44:45 +01:00
Jan Hubicka
931977d919 hwint.c (abs_hwi, absu_hwi): Move to ...
* hwint.c (abs_hwi, absu_hwi): Move to ...
	* hwint.h (abs_hwi, absu_hwi): ... here; make inline.

From-SVN: r218791
2014-12-16 19:59:56 +00:00
Tobias Burnus
203c7ebffd 2014-12-15 Tobias Burnus <burnus@net-b.de>
* lang.opt (fsecond-underscore, frecord-marker=8,
        * frecord-marker=4,
        frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
        freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
        fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
        ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
        finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
        fdefault-double-8): Add Var() and Init().
        * gfortran.h (gfc_option_t): Remove moved flags.
        * options.c (gfc_init_options, gfc_handle_option): Ditto.
        (gfc_post_options): Update for name change.
        * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
        flag-name change.
        * frontend-passes.c (gfc_run_passes): Ditto.
        * module.c (use_iso_fortran_env_module): Ditto.
        * primary.c (match_integer_constant, match_real_constant):
        * Ditto.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * scanner.c (gfc_next_char_literal, load_line): Ditto.
        * trans-array.c (gfc_trans_allocate_array_storage,
        gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
        gfc_conv_ss_startstride): Ditto.
        * trans-common.c (gfc_sym_mangled_common_id): Ditto.
        * trans-decl.c (gfc_sym_mangled_function_id,
        create_main_function): Ditto.
        * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
        arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
        gfc_trans_assignment_1): Ditto.
        * trans-stmt.c (gfc_trans_allocate): Ditto.
        * trans-types.c (gfc_init_kinds): Ditto.

From-SVN: r218790
2014-12-16 20:24:50 +01:00
Ian Lance Taylor
6a85804bf7 re PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])
PR go/61264
compiler: Fix copying behavior for empty composite literals.

From-SVN: r218789
2014-12-16 19:14:54 +00:00
Ian Lance Taylor
8c54c36bdf re PR go/61273 (gccgo: ICE in Unsafe_type_conversion_expression::do_get_backend [GoSmith])
PR go/61273
compiler: Send statements should contextually permit composite literals.

From-SVN: r218788
2014-12-16 18:53:46 +00:00
Marek Polacek
01ada71078 re PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))
PR middle-end/64309
	* match.pd: Add ((1 << A) & 1) != 0 -> A == 0 and
	((1 << A) & 1) == 0 -> A != 0.

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

From-SVN: r218787
2014-12-16 18:29:01 +00:00
Richard Biener
d0af2c6589 genmatch.c (parser::parser): Initialize capture_ids.
2014-12-16  Richard Biener  <rguenther@suse.de>

	* genmatch.c (parser::parser): Initialize capture_ids.
	(parser::parse_pattern): Properly allocate capture_ids before
	using them.  Set capture_ids to zero when its lifetime is
	supposed to finish.
	(parser::parse_simplify): Allocate capture_ids only if
	required.

From-SVN: r218786
2014-12-16 18:24:55 +00:00