Commit Graph

131028 Commits

Author SHA1 Message Date
Paolo Carlini 6e7ceb171d re PR c++/51400 ([c++0x] ICE with constexpr and attribute noreturn)
/c-family
2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51400
	* c-common.c (handle_noreturn_attribute, handle_const_attribute):
	Do not discard TYPE_QUALS of type.

/testsuite
2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51400
	* g++.dg/cpp0x/constexpr-attribute3.C: New.

From-SVN: r212155
2014-06-30 15:41:16 +00:00
Jason Merrill e8b27b0809 re PR c++/61539 (ICE: in unify_one_argument, at cp/pt.c:15465)
PR c++/61539
	* pt.c (unify_one_argument): Type/expression mismatch just causes
	deduction failure.

From-SVN: r212154
2014-06-30 11:11:14 -04:00
Jason Merrill 71d1add363 semantics.c (simplify_aggr_init_expr): Remove remnants of 2014-04-11 change.
* semantics.c (simplify_aggr_init_expr): Remove remnants of
	2014-04-11 change.

From-SVN: r212153
2014-06-30 11:11:07 -04:00
Jeff Law 4f82fed2f6 tree-ssa-threadedge.c (simplify_control_stmt_condition): Look deeper into the SSA_NAME_VALUE chain.
tree-optimization/61607
	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
	deeper into the SSA_NAME_VALUE chain.

	tree-optimization/61607
	* gcc.dg/tree-ssa/pr61607.c: New test.

From-SVN: r212149
2014-06-30 08:08:50 -06:00
Marek Polacek 6a7253a4a9 convert.c (convert_to_integer): Don't instrument conversions if the function has no_sanitize_undefined attribute.
* convert.c (convert_to_integer): Don't instrument conversions if the
	function has no_sanitize_undefined attribute.
	* ubsan.c: Don't run the ubsan pass if the function has
	no_sanitize_undefined attribute.
c/
	* c-decl.c (grokdeclarator): Don't instrument VLAs if the function
	has no_sanitize_undefined attribute.
cp/
	* cp-gimplify.c (cp_genericize): Don't instrument returns if the
	function has no_sanitize_undefined attribute.
	* decl.c (compute_array_index_type): Don't instrument VLAs if the
	function has no_sanitize_undefined attribute.
testsuite/
	* c-c++-common/ubsan/attrib-2.c: New test.
	* g++.dg/ubsan/return-3.C: New test.

From-SVN: r212148
2014-06-30 13:15:20 +00:00
Jakub Jelinek 670d96d730 invoke.texi (-fsanitize=bounds): Move to the table with -fsanitize=undefined suboptions.
* doc/invoke.texi (-fsanitize=bounds): Move to the table with
	-fsanitize=undefined suboptions.

From-SVN: r212146
2014-06-30 14:52:30 +02:00
Alan Lawrence f7c4e5b837 [AArch64] fix and enable non-const shuffle for bigendian using TBL instruction
* config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
	* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
	against bigendian and adjust indices.

From-SVN: r212142
2014-06-30 11:07:58 +00:00
Gerald Pfeifer 10e4b63297 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
From-SVN: r212140
2014-06-30 09:43:19 +00:00
Igor Zamyatin 5e88a8f4fb re PR middle-end/57541 ([Cilkplus]: internal compiler error: in gimplify_expr, at gimplify.c:7809)
PR middle-end/57541
gcc/c/
	* c-array-notation.c (fix_builtin_array_notation_fn):
	Check for 0 arguments in builtin call. Check that bultin argument is
	correct.
	* c-parser.c (c_parser_array_notation): Check for incorrect initial
	index.

gcc/cpp/
	* cp-array-notation.c (expand_sec_reduce_builtin):
	Check that bultin argument is correct.
	* call.c (build_cxx_call): Check for 0 arguments in builtin call.

gcc/testsuite/
	* c-c++-common/cilk-plus/AN/pr57541.c: New case added.
	* c-c++-common/cilk-plus/AN/pr57541-2.c: New test.

From-SVN: r212138
2014-06-30 08:14:39 +00:00
Marcus Shawcroft 21a7b5e1db [AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.
PR target/61633

The two split patterns associated with
aarch64_ashr_sisd_or_int_<mode>3 split the instruction into a NEG
followed by an SHL.  The split uses one of the input operands as a
scratch register to hold the output of the NEG resulting in register
corruption.

This patch adjusts the splits to use the output operand as the scratch
register.

2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>

       PR target/61633
       * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
       Add alternative; make early clobber.  Adjust both split patterns
       to use operand 0 as the working register.

From-SVN: r212137
2014-06-30 07:54:59 +00:00
Jakub Jelinek 85c00e0b91 ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0, as ira_object_id_map might be NULL, or 1.
* ira-build.c (sort_conflict_id_map): Don't call
	qsort if num is 0, as ira_object_id_map might be NULL, or 1.

From-SVN: r212136
2014-06-30 09:33:41 +02:00
Zhenqiang Chen 51a6916856 loop-invariant.c (get_inv_cost): Handle register class.
ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* loop-invariant.c (get_inv_cost): Handle register class.
	(gain_for_invariant): Check the register pressure of the inv
	and its overlapped register class, other than all.

testsuite/ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* ira-loop-pressure.c: New test.

From-SVN: r212135
2014-06-30 03:36:47 +00:00
GCC Administrator 22fa5b71aa Daily bump.
From-SVN: r212132
2014-06-30 00:16:55 +00:00
Gerald Pfeifer a938d01841 invoke.texi (Optimize Options): Fix descriptions of ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
* doc/invoke.texi (Optimize Options): Fix descriptions of
	ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.

From-SVN: r212129
2014-06-29 23:06:37 +00:00
David Wohlferd 3a96c7ccd0 extend.texi (Function Attributes): Update 'naked' attribute documentation.
* doc/extend.texi (Function Attributes): Update 'naked' attribute
	documentation.

From-SVN: r212128
2014-06-29 21:21:59 +00:00
Gerald Pfeifer dabb1a207e Add PR bootstrap/61650 to the bug fixing it.
From-SVN: r212127
2014-06-29 20:42:31 +00:00
Francois-Xavier Coudert 25ef060ae0 fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.
* config/fpu-387.h (my_fenv_t): Amend structure so it also works
	on mingw32.

From-SVN: r212126
2014-06-29 19:51:59 +00:00
Tobias Grosser 7d1ceb9320 Add missing HAVE_cloog guards
* graphite-isl-ast-to-gimple.c: Add missing guards.

From-SVN: r212125
2014-06-29 17:51:01 +00:00
Roman Gareev f6cc31036a Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
gcc/
	* Makefile.in:
	Add the compilation of graphite-isl-ast-to-gimple.o.
	* common.opt:
	Add new switch fgraphite-code-generator=[isl|cloog].
	* flag-types.h:
	Add new enum fgraphite_generator.
	* graphite-isl-ast-to-gimple.c: New.
	* graphite-isl-ast-to-gimple.h: New.
	* graphite.c (graphite_transform_loops):
	Add choice of Graphite code generator,
	which depends on flag_graphite_code_gen.

	gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c:
	New testcase that checks that the dump is generated.

From-SVN: r212124
2014-06-29 14:20:35 +00:00
Francois-Xavier Coudert 3b37ccd4ff re PR fortran/36275 ([F03] Binding label can be any scalar char initialisation expression)
PR fortran/36275
	PR fortran/38839

	* decl.c (check_bind_name_identifier): New function.
	(gfc_match_bind_c): Match any constant expression as binding
	label.
	* match.c (gfc_match_name_C): Remove.

	* gfortran.dg/binding_label_tests_2.f03: Adjust error messages.
	* gfortran.dg/binding_label_tests_27.f90: New file.

From-SVN: r212123
2014-06-29 14:14:16 +00:00
Roman Gareev 516a84f7c0 graphite-dependences.c (subtract_commutative_associative_deps): Add NULL checking of the following variables...
gcc/
	* graphite-dependences.c (subtract_commutative_associative_deps): 
	Add NULL checking of the following variables: must_raw_no_source, 
	may_raw_no_source, must_war_no_source, may_war_no_source, 
	must_waw_no_source, may_waw_no_source, must_raw, may_raw, 
	must_war, may_war, must_waw, may_waw

	gcc/testsuite/gfortran.dg/graphite/pr59586.f: New testcase.

From-SVN: r212122
2014-06-29 12:16:11 +00:00
Roman Gareev db72d60618 graphite-clast-to-gimple.c: gloog is renamed to graphite_regenerate_ast_cloog.
gcc/
	* graphite-clast-to-gimple.c:
	gloog is renamed to graphite_regenerate_ast_cloog.
	gloog_error is renamed to graphite_regenerate_error.
	* graphite-clast-to-gimple.h:
	The definition of the struct bb_pbb_def is moved to graphite-htab.h.
	Add inclusion of the hash-table.h.
	* graphite-htab.h:
	The declaration of the function gloog is moved
	to graphite-clast-to-gimple.h and renamed to
	graphite_regenerate_ast_cloog.
	* graphite.c (graphite_transform_loops):
	gloog is renamed to graphite_regenerate_ast_cloog.

From-SVN: r212121
2014-06-29 11:29:18 +00:00
Andreas Schwab f8d0f47bbb ieee_6.f90: Allow inexact together with underflow.
* gfortran.dg/ieee/ieee_6.f90: Allow inexact together with
underflow.

From-SVN: r212120
2014-06-29 08:42:44 +00:00
Andrew Pinski b82fe35410 lto.c (lto_read_decls): Fix comment in comment.
2014-06-28  Andrew Pinski  <apinski@cavium.com>

	* lto.c (lto_read_decls): Fix comment in comment.

From-SVN: r212119
2014-06-28 21:46:07 -07:00
Jerry DeLisle 9389649842 re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
2014-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/61640
	* io/list_read.c (next_char_internal): Adjust the read length to
	a single wide character. (eat_spaces): Add missing paren. 
	* io/unix.c (mem_read4): Use the correct mem_alloc function for
	wide character internal reads.

From-SVN: r212118
2014-06-29 02:49:45 +00:00
GCC Administrator 7d90d0e1df Daily bump.
From-SVN: r212117
2014-06-29 00:16:45 +00:00
Jan Hubicka 288eeff72b tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
	is complete.
	(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
	types; do not stream duplicated fields for variants; sanity check that variant
	and type match.
	(write_ts_type_non_common_tree_pointers): Likewise.
	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
	type is complete.
	(lto_input_ts_type_common_tree_pointers): Do same changes as in
	write_ts_type_common_tree_pointers
	(lto_input_ts_type_non_common_tree_pointers): Likewise.

	* lto.c (lto_copy_fields_not_streamed): New function.
	(compare_tree_sccs_1): Do not compare fields shared in between type
	and variant.
	(lto_read_decls): Fixup types first before inserting into hash.

From-SVN: r212114
2014-06-28 23:40:46 +00:00
Jan Hubicka d0bd8245b2 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
From-SVN: r212113
2014-06-28 23:31:40 +00:00
Jan Hubicka ba429440d1 objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too.
* objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants,
	too.

From-SVN: r212112
2014-06-28 23:30:58 +00:00
Jan Hubicka 8910466afb tree-inline.c (remap_type_1): Do not duplicate fields that are shared in between type and its main variant.
* tree-inline.c (remap_type_1): Do not duplicate fields
	that are shared in between type and its main variant.

From-SVN: r212111
2014-06-28 23:22:56 +00:00
Richard Biener 16a4b3b9b2 * gennews: Use gcc-3.0/index.html.
From-SVN: r212109
2014-06-28 21:08:21 +00:00
Jan Hubicka b49407f81a ipa-prop.c (ipa_set_jf_known_type): Record always the main variant of the type.
* ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
	of the type.
	(ipa_set_ancestor_jf) Likewise.
	(check_stmt_for_type_change): Check that we work on main variant.
	(detect_type_change): Look into main variant.
	(compute_known_type_jump_func): Check that main variant has BINFO.

From-SVN: r212108
2014-06-28 18:29:32 +00:00
Jan Hubicka c7e1befad2 ipa-devirt.c (set_type_binfo): New function.
* ipa-devirt.c (set_type_binfo): New function.
	(add_type_duplicate): Use it.
	(get_odr_type): Sanity check that binfos points to main variants.
	(get_class_context): Be sure the context's outer_type is main variant.
	(contains_type_p): Walk main variant.
	(get_polymorphic_call_info_for_decl): Set outer_type to be main variant.
	(get_polymorphic_call_info): Likewise.
	(possible_polymorphic_call_targets): Sanity check that we operate on main
	variant.

From-SVN: r212107
2014-06-28 18:26:12 +00:00
Jan Hubicka 7ae2e72c93 stor-layout.c (finish_builtin_struct): Copy fields into the variants.
* stor-layout.c (finish_builtin_struct): Copy fields into
	the variants.

From-SVN: r212106
2014-06-28 18:19:50 +00:00
Paolo Carlini de35da36f6 revert: [multiple changes]
2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
	    	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR libstdc++/61536
	* config/abi/pre/gnu.ver: Adjust for out of line comparisons.

	2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Tighten some patterns; tidy.

From-SVN: r212104
2014-06-28 15:53:30 +00:00
Francois-Xavier Coudert 8b19810222 re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support)
PR fortran/29383

gcc/fortran/
	* gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
	* libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
	both C and Fortran.
	* expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
	* simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
	* module.c (mio_symbol): Keep track of symbols which came from
	intrinsic modules.
	(gfc_use_module): Keep track of the IEEE modules.
	* trans-decl.c (gfc_get_symbol_decl): Adjust code since
	we have new intrinsic modules.
	(gfc_build_builtin_function_decls): Build decls for
	ieee_procedure_entry and ieee_procedure_exit.
	(is_from_ieee_module, is_ieee_module_used, save_fp_state,
	restore_fp_state): New functions.
	(gfc_generate_function_code): Save and restore floating-point
	state on procedure entry/exit, when IEEE modules are used.
	* intrinsic.texi: Document the IEEE modules.

libgfortran/
	* configure.host: Add checks for IEEE support, rework priorities.
	* configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
	fpresetsticky.
	* configure: Regenerate.
	* Makefile.am: Build new ieee files, install IEEE_* modules.
	* Makefile.in: Regenerate.
	* gfortran.map (GFORTRAN_1.6): Add new symbols.
	* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
	support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
	support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
	prototypes.
	* config/fpu-*.h (get_fpu_trap_exceptions,
	set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
	support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
	set_fpu_state): New functions.
	* ieee/ieee_features.F90: New file.
	* ieee/ieee_exceptions.F90: New file.
	* ieee/ieee_arithmetic.F90: New file.
	* ieee/ieee_helper.c: New file.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_fortran_ieee): 
	New function.
	* gfortran.dg/ieee/ieee.exp: New file.
	* gfortran.dg/ieee/ieee_1.F90: New file.
	* gfortran.dg/ieee/ieee_2.f90: New file.
	* gfortran.dg/ieee/ieee_3.f90: New file.
	* gfortran.dg/ieee/ieee_4.f90: New file.
	* gfortran.dg/ieee/ieee_5.f90: New file.
	* gfortran.dg/ieee/ieee_6.f90: New file.
	* gfortran.dg/ieee/ieee_7.f90: New file.
	* gfortran.dg/ieee/ieee_rounding_1.f90: New file.

From-SVN: r212102
2014-06-28 14:17:41 +00:00
Ulrich Weigand a86471635f rs6000.c (rs6000_aggregate_candidate): Revert accidental change due to wide-int branch merge.
2014-06-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
	accidental change due to wide-int branch merge.

From-SVN: r212100
2014-06-28 10:23:53 +00:00
Jonathan Wakely fb682f9458 DR 1579 PR c++/58051
gcc/cp:
	DR 1579
	PR c++/58051
	* typeck.c (check_return_expr): Lookup as an rvalue even when the
	types aren't the same.

gcc/testsuite:
	* g++.dg/cpp0x/elision_conv.C: New.

From-SVN: r212099
2014-06-28 08:45:27 +01:00
GCC Administrator c02e185174 Daily bump.
From-SVN: r212096
2014-06-28 00:16:59 +00:00
Jason Merrill 1ed5f1d3f1 re PR c++/61433 (ICE: SIGSEGV in friend_accessible_p (search.c:778) with -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra)
PR c++/61433
	* error.c (dump_template_bindings): Don't tsubst in a clone.

From-SVN: r212091
2014-06-27 17:38:24 -04:00
Paolo Carlini 8274b28187 2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* Revert r212046 and r212054.

From-SVN: r212085
2014-06-27 20:03:26 +00:00
Bill Schmidt 840bb6acfa nint_2.f90: Don't XFAIL for powerpc64le-*-linux*.
2014-06-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gfortran.dg/nint_2.f90: Don't XFAIL for powerpc64le-*-linux*.

From-SVN: r212075
2014-06-27 16:48:51 +00:00
Paolo Carlini 04d375e604 re PR c++/61614 (Bogus error: taking address of temporary array)
/cp
2014-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61614
	* semantics.c (finish_compound_literal): Revert r204228.

/testsuite
2014-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61614
	* g++.dg/ext/complit14.C: New.

From-SVN: r212073
2014-06-27 14:04:28 +00:00
Rainer Orth 29d7cbd1b9 Support compressed debug sections
* configure.ac (gcc_cv_as_compress_debug): Check for assembler
	compressed debug support.
	(gcc_cv_ld_compress_debug): Check for linker compressed debug
	support.
	* configure: Regenerate.
	* config.in: Regenerate.
	* common.opt (compressed_debug_sections): New enum.
	(gz, gz=): New options.
	* gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC):
	Define.
	(LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
	(asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
	* config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
	LINK_COMPRESS_DEBUG_SPEC.
	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
	* opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
	* doc/invoke.texi (Option Summary, Debugging Options): Add
	-gz[=type].
	(Debugging Options): Document -gz[=type].

From-SVN: r212072
2014-06-27 13:48:54 +00:00
Martin Jambor d284e1b86a re PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points to wrong declaration))
2014-06-27  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61160
	* cgraphclones.c (duplicate_thunk_for_node): Removed parameter
	args_to_skip, use those from node instead.  Copy args_to_skip and
	combined_args_to_skip from node to the new thunk.
	(redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
	(cgraph_create_virtual_clone): Moved computation of
	combined_args_to_skip...
	(cgraph_clone_node): ...here, simplify it to bitmap_ior..

testsuite/
	* g++.dg/ipa/pr61160-2.C: New test.
	* g++.dg/ipa/pr61160-3.C: Likewise.

From-SVN: r212071
2014-06-27 15:29:09 +02:00
Trevor Saunders f012c1abe0 remove broken and redundant diagnostic in i386_pe_section_type_flags
varasm.c is the only caller of this target hook, and it correctly uses a
htab to check if the flags returned by the hook are the same as the
flags it has for the section, and emit a error if not.

gccc/

	* config/i386/winnt.c (i386_pe_section_type_flags): Remove
	redundant diagnostic machinary.

From-SVN: r212069
2014-06-27 10:53:38 +00:00
Richard Biener 3fd269db21 tree-ssa-math-opts.c (bswap_replace): Fix SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
2014-06-27  Richard Biener  <rguenther@suse.de>

	* tree-ssa-math-opts.c (bswap_replace): Fix
	SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.

From-SVN: r212068
2014-06-27 10:03:51 +00:00
Martin Liska 807b7d6209 Fix for devirtualization dump functions
* gimple.h (gimple_location_safe): New function introduced.
	* cgraphunit.c (walk_polymorphic_call_targets): Usage
	of gimple_location_safe replaces gimple_location.
	(gimple_fold_call): Likewise.
	* ipa-devirt.c (ipa_devirt): Likewise.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
	* ipa.c (walk_polymorphic_call_targets): Likewise.
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.

From-SVN: r212067
2014-06-27 09:24:45 +00:00
Paolo Carlini fcbbf14a65 parser.c (cp_parser_compound_literal_p): New.
2014-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_compound_literal_p): New.
	(cp_parser_postfix_expression, cp_parser_sizeof_operand): Use it.

From-SVN: r212064
2014-06-27 07:46:04 +00:00
Jakub Jelinek a4ee446d6d re PR tree-optimization/57233 (Vector lowering of LROTATE_EXPR pessimizes code)
PR tree-optimization/57233
	PR tree-optimization/61299
	* tree-vect-generic.c (get_compute_type, count_type_subparts): New
	functions.
	(expand_vector_operations_1): Use them.  If {L,R}ROTATE_EXPR
	would be lowered to scalar shifts, check if corresponding
	shifts and vector BIT_IOR_EXPR are supported and don't lower
	or lower just to narrower vector type in that case.
	* expmed.c (expand_shift_1): Fix up handling of vector
	shifts and rotates.

	* gcc.dg/pr57233.c: New test.
	* gcc.target/i386/pr57233.c: New test.
	* gcc.target/i386/sse2-pr57233.c: New test.
	* gcc.target/i386/avx-pr57233.c: New test.
	* gcc.target/i386/avx2-pr57233.c: New test.
	* gcc.target/i386/avx512f-pr57233.c: New test.
	* gcc.target/i386/xop-pr57233.c: New test.

From-SVN: r212063
2014-06-27 09:03:50 +02:00