Commit Graph

102624 Commits

Author SHA1 Message Date
Jason Merrill
ce3beba3df re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
	* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
	if ctor is empty.
	(gimplify_modify_expr_rhs): Adjust.

From-SVN: r163380
2010-08-19 13:00:51 -04:00
Jason Merrill
2c5df20f2e except.c (pending_noexcept, [...]): New.
* except.c (pending_noexcept, pending_noexcept_checks): New.
	(perform_deferred_noexcept_checks): New.
	(maybe_noexcept_warning): Split from...
	(finish_noexcept_expr): ...here.  Adjust.
	* decl2.c (cp_write_global_declarations): Call
	perform_deferred_noexcept_checks.
	* cp-tree.h: And declare it.

From-SVN: r163379
2010-08-19 12:59:37 -04:00
Nathan Froyd
fcaa4ca433 cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to bitmap_bit_p.
* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
	bitmap_bit_p.
	* config/bfin/bifn.c (bfin_discover_loop): Likewise.
	* dominance.c (iterate_fix_dominators): Likewise.
	* dse.c (set_usage_bits): Likewise.
	(set_position_unneeded, record_store): Likewise.
	* gimple-fold.c (get_maxval_strlen): Likewise.
	* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
	* ipa-inline.c (update_caller_keys): Likewise.
	* ipa-split.c (verify_non_ssa_vars): Likewise.
	* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
	(close_type_exposed_parameter, close_type_full_escape): Likewise.
	(close_addressof_down): Likewise.
	* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
	(setup_allocno_left_conflicts_size): Likewise.
	(ira_reassign_conflict_allocnos): Likewise.
	(ira_reassign_pseudos): Likewise.
	* ira-emit.c (change_loop): Likewise.
	* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
	* lto-streamer-out.c (write_symbol): Likewise.
	* predict.c (expr_expected_value_1): Likewise.
	* regstat.c (regstat_bb_compute_ri): Likewise.
	* sel-sched.c (create_block_for_bookkeeping): Likewise.
	(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
	* stmt.c (expand_case): Likewise.
	* tree-eh.c (emit_eh_dispatch): Likewise.
	* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
	* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
	Likewise.
	(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
	(rdg_build_components): Likewise.
	* tree-object-size.c (collect_object_sizes_for): Likewise.
	* tree-sra.c (convert_callers): Likewise.
	* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
	* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
	* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.

From-SVN: r163378
2010-08-19 16:51:39 +00:00
Daniel Kraft
99d821c01c re PR fortran/29785 (Fortran 2003: POINTER Rank Remapping)
2010-08-19  Daniel Kraft  <d@domob.eu>

	PR fortran/29785
	PR fortran/45016
	* trans.h (struct gfc_se): New flag `byref_noassign'.
	* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
	(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
	* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
	and check for compile-time errors with those.
	* trans-decl.c (trans_associate_var): Use new routine
	`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
	* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
	(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
	(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
	(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
	* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
	rank remapping for assignment.

2010-08-19  Daniel Kraft  <d@domob.eu>

	PR fortran/29785
	PR fortran/45016
	* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
	* gfortran.dg/pointer_remapping_1.f90: New test.
	* gfortran.dg/pointer_remapping_2.f03: New test.
	* gfortran.dg/pointer_remapping_3.f08: New test.
	* gfortran.dg/pointer_remapping_4.f03: New test.
	* gfortran.dg/pointer_remapping_5.f08: New test.
	* gfortran.dg/pointer_remapping_6.f08: New test.

From-SVN: r163377
2010-08-19 18:02:30 +02:00
Uros Bizjak
f1b62c9f96 i386.md (*lea_1): Use P mode iterator.
2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*lea_1): Use P mode iterator.
	(lea add splitter): Also handle DImode operands.
	(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
	predicate.  Do not use ix86_lea_for_add_ok.
	(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
	(lea ashift splitter): Also handle DImode operands.
	(DImode lea ashift splitter): Remove splitter.

2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
	ix86_binary_operator_ok.

From-SVN: r163375
2010-08-19 17:55:01 +02:00
Uros Bizjak
68152b200c Also scan movb.
2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

	PR testsuite/45324
	* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.

From-SVN: r163372
2010-08-19 07:18:18 -07:00
Ramana Radhakrishnan
f3eb3e2735 vect-1.c (foo): Fix last commit.
2010-08-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* gcc.dg/vect/vect-1.c (foo): Fix last commit.

From-SVN: r163370
2010-08-19 10:23:50 +00:00
Andrey Belevantsev
5e841c82c9 re PR rtl-optimization/44691 (ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050)
PR rtl-optimization/44691
	* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
	is not a register.

From-SVN: r163369
2010-08-19 14:03:39 +04:00
Tejas Belagod
8ebbe10ff2 For Tejas Belagod
2010-08-19  Tejas Belagod  <tejas.belagod@arm.com>

	* gcc.dg/vect/vect-1.c (foo): Change inner loop index
	variable.

From-SVN: r163368
2010-08-19 08:30:59 +00:00
Ian Bolton
c92f1823b0 For Ian Bolton <ian.bolton@arm.com>
2010-08-19  Ian Bolton  <ian.bolton@arm.com>

	PR target/45070
	* gcc.c-torture/execute/pr45070.c: New.
	* config/arm/arm.c (arm_output_epilogue): Ensure that return
	 value of size 1-3 is handled correctly.

From-SVN: r163367
2010-08-19 08:27:59 +00:00
Ian Bolton
f096c02afc For Ian Bolton <ian.bolton@arm.com>
* tree-switch-conversion.c (gen_inbound_check): Ensure that the
	type for the conditional has wide enough range.

	* testsuite/g++.dg/pr44328.C: New test.

From-SVN: r163366
2010-08-19 08:12:31 +00:00
Tobias Burnus
d76799c7f0 intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
2010-08-19  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
        * * simplify.c (gfc_simplify_bessel_yn): Change recursive
        into recurrence.

From-SVN: r163365
2010-08-19 09:34:05 +02:00
Tobias Burnus
29698e0f2f re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * check.c (gfc_check_bessel_n2): New function.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
        * intrinsic.c (add_functions): Add transformational version
        of the Bessel_jn/yn intrinsics.
        * intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
        gfc_simplify_bessel_yn2): New prototypes.
        * intrinsic.texi (Bessel_jn, Bessel_yn): Document
        transformational variant.
        * simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
        Check for negative order.
        (gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
        gfc_simplify_bessel_yn2): New functions.

2010-08-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_3.f90: New.
        * gfortran.dg/bessel_4.f90: New.
        * gfortran.dg/bessel_5.f90: New.

From-SVN: r163364
2010-08-19 09:28:17 +02:00
Jerry DeLisle
771c5727a0 re PR fortran/41859 (ICE on invalid expression involving DT with pointer components in I/O)
2010-08-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41859
	* resolve.c (resolve_transfer): Traverse operands and set expression
	to be checked to a non EXPR_OP type.

From-SVN: r163363
2010-08-19 02:35:45 +00:00
GCC Administrator
b426fff1a3 Daily bump.
From-SVN: r163362
2010-08-19 00:16:55 +00:00
Uros Bizjak
0fb2f9b1f0 re PR target/45327 (ICE: SIGSEGV in rtx_equal_p (rtl.c:496) with -O1 -funroll-loops -fnon-call-exceptions)
PR target/45327
	* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
	ix86_binary_operator_ok.

From-SVN: r163357
2010-08-19 00:37:03 +02:00
Janus Weil
80f9522847 re PR fortran/45290 ([F08] pointer initialization)
2010-08-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45290
	* gfortran.h (gfc_add_save): Modified prototype.
	* decl.c (add_init_expr_to_sym): Defer checking of proc pointer init.
	(match_pointer_init): New function to match F08 pointer initialization.
	(variable_decl,match_procedure_decl,match_ppc_decl): Use
	'match_pointer_init'.
	(match_attr_spec): Module variables are implicitly SAVE.
	(gfc_match_save): Modified call to 'gfc_add_save'.
	* expr.c (gfc_check_assign_symbol): Extra checks for pointer
	initialization.
	* primary.c (gfc_variable_attr): Handle SAVE attribute.
	* resolve.c (resolve_structure_cons): Add new argument and do pointer
	initialization checks.
	(gfc_resolve_expr): Modified call to 'resolve_structure_cons'.
	(resolve_values): Call 'resolve_structure_cons' directly with init arg.
	(resolve_fl_variable): Handle SAVE_IMPLICIT.
	* symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle
	SAVE_IMPLICIT.
	* trans-decl.c (gfc_create_module_variable): Module variables with
	TARGET can already exist.
	* trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'.
	(gfc_conv_initializer): Implement non-NULL pointer
	initialization.


2010-08-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45290
	* gfortran.dg/proc_ptr_comp_3.f90: Modified.
	* gfortran.dg/pointer_init_2.f90: New.
	* gfortran.dg/pointer_init_3.f90: New.
	* gfortran.dg/pointer_init_4.f90: New.

From-SVN: r163356
2010-08-19 00:32:22 +02:00
Eric Botcazou
fbb12873f2 * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
From-SVN: r163352
2010-08-18 21:07:29 +00:00
Uros Bizjak
21667997d0 i386.md (*add<mode>_1): Split insn to lea.
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
	<default>:  Swap operands 1 and 2 for alternative 2 to use existing
	code to output insn mnemonic.  Fix comment.
	(*addsi_1_zext): Add r-r-0 alternative 1.
	<TYPE_LEA>: Split insn to lea.
	<default>: Handle alternative 1.
	(*addhi_1_lea): Add r-r-0 alternative 2.  Use cond RTX instead of
	multi-level if_then_else RTX to set "type" attribute.
	<default>: Handle alternative 2.
	(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
	Use cond RTX instead of multi-level if_then_else RTX to set
	"type" attribute.
	<default>: Handle alternatives 2 and 4.
	(lea splitters): Update calls to ix86_lea_for_add_ok.

	* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
	argument.
	* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.

From-SVN: r163351
2010-08-18 21:24:41 +02:00
Tobias Burnus
9a18b99ba9 re PR fortran/45295 (intrinsic.texi: SELECTED_CHAR_KIND should mention wide-char support)
2010-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45295
        * intrinsic.texi (selected_char_kind): Document ISO_10646
        support.

From-SVN: r163347
2010-08-18 20:05:58 +02:00
Nathan Froyd
c043ee4a3a re PR c++/45049 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'tree_list' in push_overloaded_decl, at cp/name-lookup.c:2160)
gcc/cp/
	PR c++/45049
	* name-lookup.c (push_overloaded_decl): Change DECL_CHAIN to
	TREE_CHAIN.

gcc/testsuite/
	PR c++/45049
	* g++.dg/pr45049-1.C: New test.
	* g++.dg/pr45049-2.C: New test.

From-SVN: r163344
2010-08-18 16:05:40 +00:00
Kostya Serebryany
3ff91293eb re PR libstdc++/45276 (Need to document _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE)
2010-08-18  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45276
	* doc/xml/manual/debug.xml ([debug.races]): Add.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163342
2010-08-18 15:21:56 +00:00
Jie Zhang
1027c9c5b9 builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwise 64.
* gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
	20 if __ARM_PCS is defined otherwise 64.
	(bar): Use STACK_ARGUMENTS_SIZE for the third argument
	instead of hard coded 64.

From-SVN: r163341
2010-08-18 14:45:33 +00:00
Richard Guenther
480161b52b tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts, use operand helpers.
2010-08-18  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
	use operand helpers.

From-SVN: r163340
2010-08-18 14:18:51 +00:00
Paolo Bonzini
e5f5fa2da0 Expand pending pops before trying the optab.
2010-08-18  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/45292
	* optabs.c (expand_bool_compare_and_swap): Expand pending
	pops before trying the optab.

From-SVN: r163339
2010-08-18 06:35:46 -07:00
Yao Qi
8019fcfb55 re PR target/45094 ([arm] wrong instructions for dword move in some cases)
gcc/
        PR target/45094
        * config/arm/arm.c (output_move_double): Fix typo generating 
        instructions ('ldr'->'str').

gcc/testsuite/

        PR target/45094
        * gcc.target/arm/pr45094.c: New test.

From-SVN: r163338
2010-08-18 12:33:43 +00:00
Maxim Kuvyrkov
38e3c1e18e * gcc.target/arm/mla-1.c: Use thumb-friendly architecture.
From-SVN: r163335
2010-08-18 10:36:09 +00:00
Maxim Kuvyrkov
c701e857d8 re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)
gcc/
	PR rtl-optimization/42575
	* optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
	live ranges.

	gcc/testsuite/
	PR rtl-optimization/42575
	* gcc.target/pr42575.c: New test.

From-SVN: r163334
2010-08-18 10:34:02 +00:00
Iain Sandoe
63d90a9630 test cse for emulated TLS targets.
* lib/target-supports.exp (check_effective_target_tls_emulated): New.
	* gcc.dg/tls/thr-cse-1.c: New.

From-SVN: r163330
2010-08-18 09:01:22 +00:00
Jack Howarth
618d48304d configure.ac (THREADLIBS): Don't set on Darwin.
2010-08-18  Jack Howarth <howarth@bromo.med.uc.edu>

	    * libjava/configure.ac (THREADLIBS): Don't set on Darwin.
	    (THREADSPEC): Likwise.
	    * libjava/configure: Regenerate.
	    * libjava/Makefile.am: Define LIBJAVA_LDFLAGS_LIBMATH as
	    -lm only if USING_DARWIN_CRT undefined.
	    (libgcj_tools_la_LIBADD): Replace '-lm' with $(LIBJAVA_LDFLAGS_LIBMATH).
	    * libjava/Makefile.in: Regenerate.

From-SVN: r163329
2010-08-18 08:51:57 +00:00
Marcus Shawcroft
029e79eb86 For Marcus - Implement sync primitives inline for ARM.
2010-08-18  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/arm-protos.h (arm_expand_sync): New.
	(arm_output_memory_barrier, arm_output_sync_insn): New.
	(arm_sync_loop_insns): New.
	* config/arm/arm.c (FL_ARCH7): New.
	(FL_FOR_ARCH7): Include FL_ARCH7.
	(arm_arch7): New.
	(arm_print_operand): Support %C markup.
	(arm_legitimize_sync_memory): New.
	(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
	(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
	(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
	(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
	(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
	(arm_process_output_sync_insn, arm_output_sync_insn): New.
	(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
	* config/arm/arm.h (struct arm_sync_generator): New.
	(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
	(TARGET_HAVE_MEMORY_BARRIER): New.
	(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
	* config/arm/arm.md: Include sync.md.
	(UNSPEC_MEMORY_BARRIER): New.
	(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
	(VUNSPEC_SYNC_OP):New.
	(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
	(sync_result, sync_memory, sync_required_value): New attributes.
	(sync_new_value, sync_t1, sync_t2): Likewise.
	(sync_release_barrier, sync_op): Likewise.
	(length): Add logic to length attribute defintion to call
	arm_sync_loop_insns when appropriate.
	* config/arm/sync.md: New file.

From-SVN: r163327
2010-08-18 08:25:33 +00:00
Iain Sandoe
257f5167d8 re PR debug/42487 (FAIL: gcc.dg/debug/dwarf2/aranges-fnsec-1.c scan-assembler DW_AT_ranges)
PR debug/42487
	* lib/target-supports.exp
	(check_effective_target_function_sections): New.
	* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Check that the target supports
	function sections before proceding.

From-SVN: r163326
2010-08-18 08:21:43 +00:00
GCC Administrator
566ea2d10e Daily bump.
From-SVN: r163323
2010-08-18 00:17:06 +00:00
Jakub Jelinek
a085a55ae2 tree.h (host_integerp): Add ATTRIBUTE_PURE when not ENABLE_TREE_CHECKING.
* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
	ENABLE_TREE_CHECKING.
	(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
	and GCC >= 4.3.

From-SVN: r163313
2010-08-17 20:10:20 +02:00
Jakub Jelinek
47b914698d re PR fortran/45308 ([F2003] DATE_AND_TIME does _not_ blank-pad strings)
PR fortran/45308
	* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
	instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy.  Drop
	asserts.  Adjust comment to the F2003 wording from the F95 wording.

	* gfortran.dg/pr45308.f03: New test.

From-SVN: r163312
2010-08-17 20:08:05 +02:00
Jakub Jelinek
35d3d688fc re PR fortran/45304 (Functions/subroutines without arguments always treated like varargs)
PR fortran/45304
	* trans-decl.c (build_library_function_decl_1): Chain on
	void_list_node instead of creating a new TREE_LIST.
	* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
	* trans-types.c (gfc_get_function_type): Likewise.  Set
	typelist to void_list_node for the main program.

From-SVN: r163311
2010-08-17 20:06:18 +02:00
H.J. Lu
1c111d0a58 Try to avoid lea if possible.
2010-08-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
	or optimizing for size, always avoid lea if possible.

	* config/i386/i386.md (*add<mode>_1): Always avoid lea if
	possible.

From-SVN: r163310
2010-08-17 08:49:32 -07:00
Iain Sandoe
e2a1fcf0ad only use _darwin10_Unwind_FindEnclosingFunction on darwin >= 10
gcc:
	* unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
	Dunmmy function with NULL return unless the target is 
	OSX >= 10.6 (Darwin10).
libjava:
	* include/posix.h: Make substitution of 
	_darwin10_Unwind_FindEnclosingFunction conditional on 
	OSX >= 10.6 (Darwin10).

From-SVN: r163309
2010-08-17 14:54:10 +00:00
Jack Howarth
2642f659a6 gcc.c (spec_function): Add remove-outfile.
2010-08-17  Jack Howarth <howarth@bromo.med.uc.edu>

	* gcc.c (spec_function): Add remove-outfile.
	(remove_outfile_spec_function): New function.
	* config/darwin.h (LINK_SPEC): Add removal of
	-ldl, -lm and -lpthread.
	* invoke.texi (replace-outfile): Document.

From-SVN: r163305
2010-08-17 13:22:28 +00:00
Paolo Carlini
a85615d28a re PR libstdc++/45300 (in cstdio/cstdlib keyword restrict is used instead of __restrict)
2010-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45300
	* include/c_std/cwchar: Replace 'restrict' -> '__restrict'.
	* include/c_global/cwchar: Likewise.

From-SVN: r163304
2010-08-17 13:15:41 +00:00
Uros Bizjak
2c65142a27 re PR target/45296 (register long double ICE at -O2, -Os, -O3)
PR target/45296
	* reginfo.c (globalize_reg): Reject stack registers.

testsuite/ChangeLog:

	PR target/45296
	* gcc.target/i386/pr45296.c: New test.

From-SVN: r163303
2010-08-17 14:25:24 +02:00
Richard Guenther
fd4a760e5e tree-ssa-dom.c (struct edge_info): Use a VEC for the list of conditional equivalences.
2010-08-17  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dom.c (struct edge_info): Use a VEC for the
	list of conditional equivalences.
	(free_all_edge_infos): Adjust.
	(record_equivalences_from_incoming_edge): Likewise.
	(record_cond): Likewise.
	(build_and_record_new_cond): Likewise.
	(record_conditions): Likewise.
	(dom_opt_leave_block): Likewise.

From-SVN: r163302
2010-08-17 09:55:04 +00:00
Kai Tietz
b17b584fe1 invoke.texi (ms-extension): Add documentation.
2010-08-17  Kai Tietz  <kai.tietz@onevision.com>

        * doc/invoke.texi (ms-extension): Add documentation.

From-SVN: r163301
2010-08-17 11:54:12 +02:00
Kai Tietz
8ce1235bfa class.c (note_name_declared_in_class): Make in 'extern "C"' blocks...
2010-08-17  Kai Tietz  <kai.tietz@onevision.com>

        * class.c (note_name_declared_in_class): Make in 'extern "C"' blocks,
        or if -fms-extensions is enabled check, check permissive.

From-SVN: r163300
2010-08-17 11:52:30 +02:00
Kai Tietz
f9abf412e2 uow-1.C: New.
2010-08-17  Kai Tietz  <kai.tietz@onevision.com>

        * g++.dg/ext/uow-1.C: New.
        * g++.dg/ext/uow-2.C: New.
        * g++.dg/ext/uow-3.C: New.
        * g++.dg/ext/uow-4.C: New.

From-SVN: r163299
2010-08-17 11:50:38 +02:00
Richard Guenther
743ad76e9e fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
2010-08-17  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_comparison): Strip nops inside
	POINTER_PLUS_EXPR.

From-SVN: r163298
2010-08-17 09:50:12 +00:00
Richard Guenther
470301c5f6 re PR testsuite/45266 (FAIL: gfortran.dg/array_memcpy_3.f90)
2010-08-17  Richard Guenther  <rguenther@suse.de>

	PR testsuite/45266
	* gfortran.dg/array_memcpy_3.f90: Adjust pattern.

From-SVN: r163297
2010-08-17 09:47:44 +00:00
Shujing Zhao
51f4ec6669 re PR c/40563 (-Wc++-compat does not warn about uninitialized const field in struct)
/gcc
2010-08-17  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/40563
	* c-decl.c (diagnose_uninitialized_cst_member): New function.
	(finish_decl): Use it to issue a -Wc++-compat warning about
	uninitialized const field in struct or union.
	
	(finish_struct): Use strip_array_types.
	
/gcc/testsuite
2010-08-17  Shujing Zhao  <pearly.zhao@oracle.com>

	PR c/40563
	* gcc.dg/Wcxx-compat-20.c: New test.

From-SVN: r163296
2010-08-17 08:25:20 +00:00
Daniel Kraft
571d54deb6 re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
2010-08-17  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	* gfortran.h (struct gfc_association_list): New member `where'.
	(gfc_is_associate_pointer) New method.
	* match.c (gfc_match_associate): Remember locus for each associate
	name matched and do not try to set variable flag.
	* parse.c (parse_associate): Use remembered locus for symbols.
	* primary.c (match_variable): Instead of variable-flag check for
	associate names set it for all such names used.
	* symbol.c (gfc_is_associate_pointer): New method.
	* resolve.c (resolve_block_construct): Don't generate assignments
	to give associate-names their values.
	(resolve_fl_var_and_proc): Allow associate-names to be deferred-shape.
	(resolve_symbol): Set some more attributes for associate variables,
	set variable flag here and check it and don't try to build an
	explicitely shaped array-spec for array associate variables.
	* trans-expr.c (gfc_conv_variable): Dereference in case of association
	to scalar variable.
	* trans-types.c (gfc_is_nodesc_array): Handle array association symbols.
	(gfc_sym_type): Return pointer type for association to scalar vars.
	* trans-decl.c (gfc_get_symbol_decl): Defer association symbols.
	(trans_associate_var): New method.
	(gfc_trans_deferred_vars): Handle association symbols.

2010-08-17  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	* gfortran.dg/associate_1.f03: Extended to test newly supported
	features like association to variables.
	* gfortran.dg/associate_3.f03: Removed check for illegal change
	of associate-name here...
	* gfortran.dg/associate_5.f03: ...and added it here.
	* gfortran.dg/associate_6.f03: No longer XFAIL'ed.
	* gfortran.dg/associate_7.f03: New test.

From-SVN: r163295
2010-08-17 10:20:03 +02:00
Jakub Jelinek
3373692b59 function.c (block_fragments_nreverse, [...]): New functions.
* function.c (block_fragments_nreverse, blocks_nreverse_all): New
	functions.
	(reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
	(reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL.  Don't
	call block_nreverse here.
	(blocks_nreverse): Rename decl temporary to block.

From-SVN: r163292
2010-08-17 08:49:20 +02:00