Commit Graph

110532 Commits

Author SHA1 Message Date
Sebastian Pop bd4a54da00 Fix PR47691: do not abort compilation when code generation fails
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47691
	* graphite-clast-to-gimple.c (translate_clast_user): Update use of
	copy_bb_and_scalar_dependences.
	* sese.c (rename_uses): Do not call gcc_assert.  Set gloog_error.
	(graphite_copy_stmts_from_block): Update call to rename_uses.
	(copy_bb_and_scalar_dependences): Update call to
	graphite_copy_stmts_from_block.
	* sese.h (copy_bb_and_scalar_dependences): Update declaration.

	* gfortran.dg/graphite/id-pr47691.f: New.

From-SVN: r176836
2011-07-27 16:52:52 +00:00
Georg-Johann Lay 04c9ea12e0 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
	(__ctzsi2): Result for 0 may be undefined.
	(__ctzhi2): Result for 0 may be undefined.
	(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
	(__popcountsi2): Ditto. And don't clobber r26.
	(__popcountdi2): Ditto. And don't clobber r27.
	* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
	(parityhi2): New expand.
	(paritysi2): New expand.
	(popcounthi2): New expand.
	(popcountsi2): New expand.
	(clzhi2): New expand.
	(clzsi2): New expand.
	(ctzhi2): New expand.
	(ctzsi2): New expand.
	(ffshi2): New expand.
	(ffssi2): New expand.
	(copysignsf3): New insn.
	(bswapsi2): New expand.
	(*parityhi2.libgcc): New insn.
	(*parityqihi2.libgcc): New insn.
	(*paritysihi2.libgcc): New insn.
	(*popcounthi2.libgcc): New insn.
	(*popcountsi2.libgcc): New insn.
	(*popcountqi2.libgcc): New insn.
	(*popcountqihi2.libgcc): New insn-and-split.
	(*clzhi2.libgcc): New insn.
	(*clzsihi2.libgcc): New insn.
	(*ctzhi2.libgcc): New insn.
	(*ctzsihi2.libgcc): New insn.
	(*ffshi2.libgcc): New insn.
	(*ffssihi2.libgcc): New insn.
	(*bswapsi2.libgcc): New insn.

From-SVN: r176835
2011-07-27 16:39:13 +00:00
Uros Bizjak 479a49210d i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes.
* config/i386/i386.c (ix86_expand_move): Do not explicitly check
	the mode of symbolic_opreand RTXes.

From-SVN: r176834
2011-07-27 18:21:18 +02:00
Uros Bizjak 7aecd4e895 predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands.
* config/i386/predicates.md (x86_64_movabs_operand): Reject
	pic32_bit_operand operands.
	* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
	in DImode.

From-SVN: r176833
2011-07-27 18:16:42 +02:00
Uros Bizjak 5019a14eee avx-os-support.h: New.
* gcc.target/i386/avx-os-support.h: New.
	* gcc.target/i386/avx-check.h: Include avx-os-support.h
	(main): Check avx_os_support before the test is run.
	* gcc.target/i386/aes-avx-check.h: Ditto.
	* gcc.target/i386/pclmul-avx-check.h: Ditto.

From-SVN: r176829
2011-07-27 17:39:58 +02:00
Kai Tietz 2fe83a0c9f i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too.
* config/i386/i386.c (ix86_option_override_internal): Allow -mabi
        for 32-bit, too.
        (ix86_handle_abi_attribute): Allow function attributes
        ms_abi/sysv_abi in 32-bit mode, too.
        * doc/extend.texi: Adjust attribute documentation.

        * gcc.target/i386/aggregate-ret3.c: New test.
        * gcc.target/i386/aggregate-ret4.c: New test.

From-SVN: r176828
2011-07-27 17:33:50 +02:00
Kai Tietz eb9820c0a3 gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling.
2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
        expression handling.
        (and_var_with_comparison_1): Likewise.

From-SVN: r176827
2011-07-27 16:59:40 +02:00
Aldy Hernandez 1169e45d27 params.h (ALLOW_STORE_DATA_RACES): New.
* params.h (ALLOW_STORE_DATA_RACES): New.
	* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
	* Makefile.in (expr.o): Depend on PARAMS_H.
	* machmode.h (get_best_mode): Add argument.
	* fold-const.c (optimize_bit_field_compare): Add argument to
	get_best_mode.
	(fold_truthop): Same.
	* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
	* expr.c (emit_group_store): Same.
	(copy_blkmode_from_reg): Same.
	(write_complex_part): Same.
	(optimize_bitfield_assignment_op): Add argument.
	Add argument to get_best_mode.
	(get_bit_range): New.
	(expand_assignment): Calculate maxbits and pass it down
	accordingly.
	(store_field): New argument.
	(expand_expr_real_2): New argument to store_field.
	Include params.h.
	* expr.h (store_bit_field): New argument.
	* stor-layout.c (get_best_mode): Restrict mode expansion by taking
	into account maxbits.
	* calls.c (store_unaligned_arguments_into_pseudos): New argument
	to store_bit_field.
	* expmed.c (store_bit_field_1): New argument.  Use it.
	(store_bit_field): Same.
	(store_fixed_bit_field): Same.
	(store_split_bit_field): Same.
	(extract_bit_field_1): Pass new argument to get_best_mode.
	(extract_bit_field): Same.
	* stmt.c (store_bit_field): Pass new argument to store_bit_field.
	* doc/invoke.texi: Document parameter allow-store-data-races.

From-SVN: r176824
2011-07-27 13:22:09 +00:00
Daniel Carrera 4f13e17fff re PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already allocated vars)
2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

	PR fortran/49755
	* trans.c (gfc_allocate_using_malloc): Change function signature.
	Return nothing. New parameter "pointer". Eliminate temorary variables.
	(gfc_allocate_using_lib): Ditto.
	(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
	and gfc_allocate_using_malloc. Do not free and then reallocate a
	variable that is already allocated.
	(gfc_likely): New function. Basedon gfc_unlikely.
	* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
	Instructions to modify the array descriptor are stored in this block
	while other instructions continue to be stored in "pblock".
	(gfc_array_allocate): Update call to gfc_array_init_size. Move the
	descriptor_block so that the array descriptor is only updated if
	the array was allocated successfully.
	Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
	* trans.h (gfc_allocate_allocatable): Change function signature.
	Function now returns void.
	(gfc_allocate_using_lib): Ditto, and new function parameter.
	(gfc_allocate_using_malloc): Ditto.
	* trans-openmp.c (gfc_omp_clause_default_ctor,
	gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
	to gfc_allocate_allocatable with gfc_allocate_using_malloc.
	* trans-stmt.c (gfc_trans_allocate): Update function calls for
	gfc_allocate_allocatable and gfc_allocate_using_malloc.



2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

	PR fortran/49755
	* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
	allocated array should *not* change its size.
	* gfortran.dg/multiple_allocation_3.f90: New test.

From-SVN: r176822
2011-07-27 10:10:06 +00:00
Jakub Jelinek 7bbdd4e9c3 dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
	to GC allocated copy of the string.
	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
	before .debug_line, not after it.

From-SVN: r176819
2011-07-27 11:36:25 +02:00
Kai Tietz aebf4828b8 tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new bitwise-cases.
2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (extract_range_from_binary_expr): Remove
        TRUTH-binary cases and add new bitwise-cases.
        (extract_range_from_assignment): Likewise.
        (register_edge_assert_for_1): Likeiwise.
        (register_edge_assert_for): Likewise.
        (simplify_truth_ops_using_ranges): Likewise.
        (simplify_stmt_using_ranges): Likewise.

From-SVN: r176818
2011-07-27 11:21:06 +02:00
GCC Administrator d2a99e8756 Daily bump.
From-SVN: r176816
2011-07-27 00:18:47 +00:00
H.J. Lu 65ceed3601 Call simplify_gen_subreg for PIC with mode of x.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47372
	* config/i386/i386.c (ix86_delegitimize_address): Call
	simplify_gen_subreg for PIC with mode of x only if modes of
	x and orig_x are different.

From-SVN: r176812
2011-07-26 14:43:57 -07:00
Jakub Jelinek b56bc05b9f dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
	to GC allocated copy of the string.
	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
	before .debug_line, not after it.

From-SVN: r176811
2011-07-26 23:12:39 +02:00
Paolo Carlini 625f85e91b re PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics.c:5499)
/cp
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49776
	* typeck.c (cp_build_modify_expr): Check digest_init return value
	for error_mark_node.

/testsuite
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r176809
2011-07-26 20:00:31 +00:00
Sebastian Pop bce26def59 Fix PR47046: correct evolution_function_is_affine_p
"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"

The problem here is that we are left with the following code to be
translated in the new representation following the transform that
Graphite has chosen:

        D.2709_14 = j_33 * i_32;
        D.2710_15 = D.2709_14 * i_32;
        D.2711_16 = D.2710_15 * sign_34;
        *D.2708_13 = D.2711_16;

In this particular case we have a nonlinear expression "i * i" for
which we have to generate code following the new graphite_iv variables.

The patch fixes the function that detects whether we are passing non
linear stuff to graphite: evolution_function_is_affine_p.  It seems
like for the moment evolution_function_is_affine_p is testing whether
an evolution function is affine only in the innermost loop, without
looking recursively at what happens in outer loops.

The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
testing whether the evolution is affine only for the loop_2, which is
true as we have {0, +, blah}_2 with blah invariant in loop_2.

The patch adds the recursive call to evolution_function_is_affine_p.

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47046
	* tree-chrec.h (evolution_function_is_affine_p): Recursively call
	evolution_function_is_affine_p on CHREC_RIGHT.

	* gcc.dg/graphite/id-pr47046.c: New.

From-SVN: r176805
2011-07-26 18:48:49 +00:00
Sebastian Pop 5f72e02dd8 Avoid use of lang_hooks.types.type_for_size.
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (max_stmt_executions_tree): Do not call
	lang_hooks.types.type_for_size.

From-SVN: r176804
2011-07-26 18:48:33 +00:00
Sebastian Pop 7e806cfabd Add testcase for PR47593
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47653
	* gcc.dg/graphite/run-id-pr47593.c: New.

From-SVN: r176803
2011-07-26 18:48:20 +00:00
Sebastian Pop cbc1994b2f Fix PR47653: do not handle loops using wrapping semantics in graphite
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47653
	* graphite-scop-detection.c (graphite_can_represent_loop): Discard
	loops using wrapping semantics.

	* gcc.dg/graphite/run-id-pr47653.c: New.
	* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
	induction variables.
	* gcc.dg/graphite/scop-16.c: Same.
	* gcc.dg/graphite/scop-17.c: Same.
	* gcc.dg/graphite/scop-21.c: Same.

From-SVN: r176802
2011-07-26 18:48:08 +00:00
Sebastian Pop 4c7d675552 Fix PR48805: Do not instantiate ADDR_EXPRs
With this patch we avoid instantiating ADDR_EXPR: it makes no sense
to translate &b[i] into &b[{0, +, 1}_1].

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/48805
	* tree-scalar-evolution.c (instantiate_scev_r): Return
	chrec_dont_know for ADDR_EXPR.

	* gcc.dg/graphite/id-pr48805.c: New.

From-SVN: r176801
2011-07-26 18:47:44 +00:00
Ian Lance Taylor bf03b9ffec configure.ac: Set have_compiler based on whether gcc directory exists...
* configure.ac: Set have_compiler based on whether gcc directory
	exists, rather than on whether gcc is in configdirs.
	* configure: Rebuild.

From-SVN: r176800
2011-07-26 18:44:11 +00:00
Uros Bizjak e207e41f47 re PR target/47369 ([x32] internal compiler error: in extract_insn, at recog.c:2109)
PR target/47369
	PR target/49853
	* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
	if legitimize_tls_address returned operand in wrong mode. Allow
	SImode and DImode symbolic operand for PIC.  Call convert_to_mode
	if legitimize_pic_address returned operand in wrong mode.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r176798
2011-07-26 20:03:54 +02:00
Martin Jambor 842eeb9b72 tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and return false for invariants.
2011-07-26  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
	return false for invariants.

From-SVN: r176797
2011-07-26 19:21:21 +02:00
H.J. Lu 52bed4d7ee Remove an extra line.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Remove an extra line.

From-SVN: r176796
2011-07-26 10:07:51 -07:00
Uros Bizjak 98d2c0ad6e i386.md (add->lea splitter): Implement using SWI mode iterator.
* config/i386/i386.md (add->lea splitter): Implement using SWI
	mode iterator.  Change operand 2 predicate to <nonmemory_operand>.
	(add->lea zext splitter): Change operand 2 predicate to
	x86_64_nonmemory_operand.

From-SVN: r176795
2011-07-26 18:04:53 +02:00
Richard Guenther c21510a9f1 predict.c (maybe_hot_frequency_p): Make sure a zero entry-block frequency makes everything hot.
2011-07-26  Richard Guenther  <rguenther@suse.de>

	* predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
	frequency makes everything hot.

From-SVN: r176794
2011-07-26 15:44:50 +00:00
Ian Lance Taylor f2e6f32e60 cp-demangle.c (d_print_init): Initialize pack_index field.
* cp-demangle.c (d_print_init): Initialize pack_index field.
	(d_print_comp): Check for NULL template argument.
	* testsuite/demangle-expected: Add test case.

From-SVN: r176791
2011-07-26 14:28:23 +00:00
Richard Guenther 9f61fd1747 re PR middle-end/49840 (New test failures)
2011-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49840
	* tree-vrp.c (range_fits_type_p): Properly handle full
	double-int precision.

From-SVN: r176790
2011-07-26 12:37:00 +00:00
Martin Jambor 5bf3d50db7 re PR bootstrap/49786 (bootstrap failed with bootstrap-profiled)
2011-07-26  Martin Jambor  <mjambor@suse.cz>

	PR bootstrap/49786
	* ipa-cp.c (update_profiling_info): Avoid overflow when updating
	counts.
	(update_specialized_profile): Likewise.

From-SVN: r176789
2011-07-26 14:26:58 +02:00
Uros Bizjak 536e3f497e re PR target/47381 ([x32] internal compiler error: in gen_lowpart_general, at rtlhooks.c:59)
PR target/47381
	PR target/49832
	PR target/49833
	* config/i386/i386.md (i): Change SImode attribute to "e".
	(g): Change SImode attribute to "rme".
	(di): Change SImode attribute to "nF".
	(general_operand): Change SImode attribute to x86_64_general_operand.
	(general_szext_operand): Change SImode attribute to
	x86_64_szext_general_operand.
	(immediate_operand): Change SImode attribute to
	x86_64_immediate_operand.
	(nonmemory_operand): Change SImode attribute to
	x86_64_nonmemory_operand.
	(*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
	(*movsi_internal): Ditto.  Use "e" constraint in alternative 2.
	(*lea_1): Use SWI48 mode iterator.
	(*lea_1_zext): New insn pattern.
	(testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
	(*bt<mode>): Ditto.
	(*add<mode>1): Use x86_64_general_operand predicate for operand 2.
	Update operand constraints.
	(addsi_1_zext): Ditto.
	(*add<mode>2): Ditto.
	(*addsi_3_zext): Ditto.
	(*subsi_1_zext): Ditto.
	(*subsi_2_zext): Ditto.
	(*subsi_3_zext): Ditto.
	(*addsi3_carry_zext): Ditto.
	(*<plusminus_insn>si3_zext_cc_overflow): Ditto.
	(*mulsi3_1_zext): Ditto.
	(*andsi_1): Ditto.
	(*andsi_1_zext): Ditto.
	(*andsi_2_zext): Ditto.
	(*<any_or:code>si_1_zext): Ditto.
	(*<any_or:code>si_2_zext): Ditto.
	(*test<mode>_1): Use <general_operand> predicate for operand 1.
	(*and<mode>_2): Ditto.
	(mov<mode>cc): Use  <general_operand> predicate for operands 1 and 2.
	(add->lea splitter): Check operand modes in insn constraint.  Extend
	operands less than SImode wide to SImode.
	(add->lea zext splitter): Do not extend input operands to DImode.
	(*lea_general_1): Handle only QImode and HImode operands.
	(*lea_general_2): Ditto.
	(*lea_general_3): Ditto.
	(*lea_general_1_zext): Remove.
	(*lea_general_2_zext): Ditto.
	(*lea_general_3_zext): Ditto.
	(*lea_general_4): Check operand modes in insn constraint.  Extend
	operands less than SImode wide to SImode.
	(ashift->lea splitter): Ditto.
	* config/i386/i386.c (ix86_print_operand_address): Print address
	registers with 'q' modifier on 64bit targets.
	* config/i386/predicates.md (pic_32bit_opreand): Define as special
	predicate.  Reject non-SI and non-DI modes.

From-SVN: r176788
2011-07-26 14:00:33 +02:00
Tobias Burnus af232d48a7 trans-array.c (CAF_TOKEN_FIELD): New macro constant.
2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
        (gfc_conv_descriptor_token): New function.
        * trans-array.h (gfc_conv_descriptor_token): New prototype.
        * trans-types.c (gfc_get_array_descriptor_base): For coarrays
        with -fcoarray=lib, append "void *token" to the array descriptor.
        (gfc_array_descriptor_base_caf): New static variable.
        * trans-expr.c (gfc_conv_procedure_call): Handle token and
        * offset
        when passing a descriptor coarray to a nondescriptor dummy.

2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_2.f90: New.

From-SVN: r176784
2011-07-26 09:30:37 +02:00
Ira Rosen 335d2e3964 vect-70.c: Reduce the data size to fit SPU local store.
* gcc.dg/vect/vect-70.c: Reduce the data size to fit
	SPU local store.

From-SVN: r176783
2011-07-26 07:00:45 +00:00
Andrew Pinski 0de204de65 re PR middle-end/49671 (volatile goes missing after inlining)
2011-07-25  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/49671
	* tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
	TREE_THIS_NOTRAP into the inner most MEM_REF.
	Always copy TREE_THIS_VOLATILE.
	* tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
	arguments are not volatile references.

2011-07-25  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/49671
	* gcc.dg/tree-ssa/pr49671-1.c: New testcase.
	* gcc.dg/tree-ssa/pr49671-2.c: New testcase.

From-SVN: r176782
2011-07-25 22:28:45 -07:00
Benjamin Kosnik 9bc13c238d array (at): Remove constexpr when -fno-exceptions.
2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/array (at): Remove constexpr when -fno-exceptions.
	* testsuite/23_containers/array/at_neg.cc: Test.

From-SVN: r176780
2011-07-26 04:21:57 +00:00
Richard Henderson 104fcc7aec insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
* insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
        * final.c (final_scan_insn): Don't test for it.
        (rest_of_clean_state): Likewise.

From-SVN: r176779
2011-07-25 17:57:55 -07:00
GCC Administrator dfaf9f0ab3 Daily bump.
From-SVN: r176778
2011-07-26 00:18:37 +00:00
Richard Henderson c24a67383e re PR debug/49841 (AIX bootstrap failure in dwarf2cfi.c:maybe_record_trace_start)
PR debug/49841
	* config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
	(emit_frame_save): Likewise.
	(rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
	insn onto a dummy blockage insn after the join label.

From-SVN: r176773
2011-07-25 15:53:25 -07:00
Richard Henderson 200e10dc9b dwarf2cfi: Generate remember/restore_state.
From-SVN: r176772
2011-07-25 15:41:17 -07:00
Richard Henderson a5d0ce8935 dwarf2cfi: Add debug_cfi_row.
From-SVN: r176771
2011-07-25 15:35:13 -07:00
Joern Rennecke c344a86637 genattr.c (write_upcase, [...]): Move to ...
* genattr.c (write_upcase, gen_attr <enum definition writing>):
        Move to ...
        * genattr-common.c ... here.
        (main): Call gen_attr.
        * optc-gen.awk: Make generated program include insn-attr-common.h .
        * Makefile.in (oprions.o): Depend on insn-attr-common.h

From-SVN: r176769
2011-07-25 22:32:56 +01:00
Paolo Carlini b97927a4e9 re PR bootstrap/49845 (bootstrap failure)
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR bootstrap/49845
	* parser.c (cp_parser_perform_range_for_lookup): Always assign *being
	and *end before returning.

From-SVN: r176765
2011-07-25 17:50:13 +00:00
Anatoly Sokolov 4645179ecb m32c.h (PRINT_OPERAND, [...]): Remove macro.
* config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
	* config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
	m32c_print_operand, m32c_print_operand_address): Remove.
	* config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
	Change return type to bool. Change argument type to bool.
	(m32c_print_operand, m32c_print_operand_address): Make static.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
	TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r176763
2011-07-25 21:46:07 +04:00
Dodji Seketeli 770e5a2e61 Remove parm name from declaration
gcc/c-family

	* c-common.h (set_underlying_type): Remove parm name from
	declaration.

From-SVN: r176762
2011-07-25 19:18:10 +02:00
Paolo Carlini cc2ba8e30f re PR libstdc++/49836 ([C++0x] vector<T>::push_back() should not require T to be (move-)assignable)
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
	    Nathan Ridge  <zeratul976@hotmail.com>

	PR libstdc++/49836
	* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
	Declare.
	(vector<>::push_back(const value_type&)): Use it.
	* include/bits/vector.tcc: Define.
	(vector<>::emplace_back(_Args&&...)): Use it.
	* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
	Add.
	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
	* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
	Likewise.
	* testsuite/23_containers/deque/modifiers/push_front/49836.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

Co-Authored-By: Nathan Ridge <zeratul976@hotmail.com>

From-SVN: r176761
2011-07-25 17:08:48 +00:00
Rainer Orth 8175c19c1b sourcebuild.texi (Effective-Target Keywords, [...]): Document mmap.
gcc:
	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
	attributes): Document mmap.

	gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_mmap): New proc.

	* gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
	* gcc.c-torture/execute/loop-2g.c: Likewise.
	* gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
	Require mmap support.
	* gcc.c-torture/execute/loop-2g.x: Likewise.
	* gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
	(MAP_ANON): Provide default.
	* gcc.dg/20050826-1.c: Likewise.
	* gcc.target/i386/pr36533.c: Likewise.
	* gcc.dg/vect/pr49038.c: Remove dg-do run.
	Use dg-require-effective-target mmap.

From-SVN: r176760
2011-07-25 16:44:22 +00:00
Anatoly Sokolov 5057fa13b7 mmix.h (PRINT_OPERAND, [...]): Remove macro.
* config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
	* config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
	mmix_print_operand, mmix_print_operand_address): Remove.
	* config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
	Change return type to bool. Change argument type to bool.
	(mmix_print_operand, mmix_print_operand_address): Make static.
	(mmix_intval, mmix_output_condition): Change 'x' argument type 
	to const_rtx.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
	TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r176759
2011-07-25 20:35:38 +04:00
Rainer Orth 9d7b212415 re PR c++/49347 (G++ rejects Solaris spawn.h use of __restrict)
PR c++/49347
	* inclhack.def (solaris_posix_spawn_restrict): New fix.
	* fixincl.x: Regenerate.
	* tests/base/spawn.h: New test.

From-SVN: r176758
2011-07-25 15:56:27 +00:00
Georg-Johann Lay f4da258f52 re PR target/39386 ([avr] different computation results for O1 and O0 executables)
PR target/39386
	* config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
	shift counter for x << x and x >> x shifts.

From-SVN: r176756
2011-07-25 15:41:55 +00:00
Rainer Orth 1a79cb7341 re PR libgomp/45351 (many unaligned accesses in libgomp tests)
PR libgomp/45351
	* config/osf/sem.h: New file.
	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.

From-SVN: r176755
2011-07-25 15:39:52 +00:00
Paolo Carlini c1703fc185 re PR c++/49838 ([C++0x] ICE in cp_parser_perform_range_for_lookup, at cp/parser.c:8796)
/cp
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49838
	* parser.c (cp_parser_perform_range_for_lookup): Early return if
	error_operand_p (range).

/testsuite
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49838
	* g++.dg/cpp0x/range-for19.C: New.

From-SVN: r176754
2011-07-25 15:29:13 +00:00