Commit Graph

112384 Commits

Author SHA1 Message Date
Richard Henderson 82675d94de * doc/md.texi (vec_perm_const): Fix typo in cindex.
From-SVN: r179759
2011-10-10 09:22:21 -07:00
Kirill Yukhin aafdb0d754 Fix a typo in x86 FMA.
gcc/

2011-10-10  Kirill Yukhin  <kirill.yukhin@intel.com>
	    Yakovlev Vladimir  <vladimir.b.yakovlev@intel.com>

	* config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.

gcc/testsuite/

2011-10-10  Kirill Yukhin  <kirill.yukhin@intel.com>
	    Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>

	* gcc.target/i386/fma_1.h: New file.
	* gcc.target/i386/fma_2.h: Likewise.
	* gcc.target/i386/fma_3.h: Likewise.
	* gcc.target/i386/fma_4.h: Likewise.
	* gcc.target/i386/fma_5.h: Likewise.
	* gcc.target/i386/fma_6.h: Likewise.
	* gcc.target/i386/fma_double_1.c: Likewise.
	* gcc.target/i386/fma_double_2.c: Likewise.
	* gcc.target/i386/fma_double_3.c: Likewise.
	* gcc.target/i386/fma_double_4.c: Likewise.
	* gcc.target/i386/fma_double_5.c: Likewise.
	* gcc.target/i386/fma_double_6.c: Likewise.
	* gcc.target/i386/fma_float_1.c: Likewise.
	* gcc.target/i386/fma_float_2.c: Likewise.
	* gcc.target/i386/fma_float_3.c: Likewise.
	* gcc.target/i386/fma_float_4.c: Likewise.
	* gcc.target/i386/fma_float_5.c: Likewise.
	* gcc.target/i386/fma_float_6.c: Likewise.
	* gcc.target/i386/fma_main.h: Likewise.
	* gcc.target/i386/fma_run_double_1.c: Likewise.
	* gcc.target/i386/fma_run_double_2.c: Likewise.
	* gcc.target/i386/fma_run_double_3.c: Likewise.
	* gcc.target/i386/fma_run_double_4.c: Likewise.
	* gcc.target/i386/fma_run_double_5.c: Likewise.
	* gcc.target/i386/fma_run_double_6.c: Likewise.
	* gcc.target/i386/fma_run_double_results_1.h: Likewise.
	* gcc.target/i386/fma_run_double_results_2.h: Likewise.
	* gcc.target/i386/fma_run_double_results_3.h: Likewise.
	* gcc.target/i386/fma_run_double_results_4.h: Likewise.
	* gcc.target/i386/fma_run_double_results_5.h: Likewise.
	* gcc.target/i386/fma_run_double_results_6.h: Likewise.
	* gcc.target/i386/fma_run_float_1.c: Likewise.
	* gcc.target/i386/fma_run_float_2.c: Likewise.
	* gcc.target/i386/fma_run_float_3.c: Likewise.
	* gcc.target/i386/fma_run_float_4.c: Likewise.
	* gcc.target/i386/fma_run_float_5.c: Likewise.
	* gcc.target/i386/fma_run_float_6.c: Likewise.
	* gcc.target/i386/fma_run_float_results_1.h: Likewise.
	* gcc.target/i386/fma_run_float_results_2.h: Likewise.
	* gcc.target/i386/fma_run_float_results_3.h: Likewise.
	* gcc.target/i386/fma_run_float_results_4.h: Likewise.
	* gcc.target/i386/fma_run_float_results_5.h: Likewise.
	* gcc.target/i386/fma_run_float_results_6.h: Likewise.
	* gcc.target/i386/l_fma_1.h: Likewise.
	* gcc.target/i386/l_fma_2.h: Likewise.
	* gcc.target/i386/l_fma_3.h: Likewise.
	* gcc.target/i386/l_fma_4.h: Likewise.
	* gcc.target/i386/l_fma_5.h: Likewise.
	* gcc.target/i386/l_fma_6.h: Likewise.
	* gcc.target/i386/l_fma_double_1.c: Likewise.
	* gcc.target/i386/l_fma_double_2.c: Likewise.
	* gcc.target/i386/l_fma_double_3.c: Likewise.
	* gcc.target/i386/l_fma_double_4.c: Likewise.
	* gcc.target/i386/l_fma_double_5.c: Likewise.
	* gcc.target/i386/l_fma_double_6.c: Likewise.
	* gcc.target/i386/l_fma_float_1.c: Likewise.
	* gcc.target/i386/l_fma_float_2.c: Likewise.
	* gcc.target/i386/l_fma_float_3.c: Likewise.
	* gcc.target/i386/l_fma_float_4.c: Likewise.
	* gcc.target/i386/l_fma_float_5.c: Likewise.
	* gcc.target/i386/l_fma_float_6.c: Likewise.
	* gcc.target/i386/l_fma_main.h: Likewise.
	* gcc.target/i386/l_fma_run_double_1.c: Likewise.
	* gcc.target/i386/l_fma_run_double_2.c: Likewise.
	* gcc.target/i386/l_fma_run_double_3.c: Likewise.
	* gcc.target/i386/l_fma_run_double_4.c: Likewise.
	* gcc.target/i386/l_fma_run_double_5.c: Likewise.
	* gcc.target/i386/l_fma_run_double_6.c: Likewise.
	* gcc.target/i386/l_fma_run_float_1.c: Likewise.
	* gcc.target/i386/l_fma_run_float_2.c: Likewise.
	* gcc.target/i386/l_fma_run_float_3.c: Likewise.
	* gcc.target/i386/l_fma_run_float_4.c: Likewise.
	* gcc.target/i386/l_fma_run_float_5.c: Likewise.
	* gcc.target/i386/l_fma_run_float_6.c: Likewise.

Co-Authored-By: Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>

From-SVN: r179758
2011-10-10 09:07:15 -07:00
Richard Guenther a24ac4609a re PR tree-optimization/50389 (ICE: in execute_todo, at passes.c:1730 with -O -freorder-blocks -ftracer and __builtin___memcpy_chk())
2011-10-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50389
	* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
	mark symbols for renaming.  Append the VUSE to all statements
	that possibly can have one.

	* gcc.dg/torture/pr50389.c: New testcase.

From-SVN: r179757
2011-10-10 15:45:53 +00:00
Richard Guenther 40b6510f2e ipa-split.c (pass_split_functions): Add verification TODOs.
2011-10-10  Richard Guenther  <rguenther@suse.de>

	* ipa-split.c (pass_split_functions): Add verification TODOs.
	(pass_feedback_split_functions): Likewise.

From-SVN: r179756
2011-10-10 15:42:28 +00:00
Richard Guenther 4d8b88e8f2 re PR middle-end/50195 (Linking time error with -fast-math -O0)
2011-10-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50195
	* fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
	only when optimizing.

	* gcc.dg/builtins-47.c: Optimize.

From-SVN: r179752
2011-10-10 14:25:34 +00:00
Aldy Hernandez ff8e7c4d68 gcc-simulate-thread.exp: New.
* lib/gcc-simulate-thread.exp: New.
        * gcc.dg/simulate-thread/guality.h: New.
        * gcc.dg/simulate-thread/simulate-thread.h: New.
        * gcc.dg/simulate-thread/simulate-thread.exp: New.
        * gcc.dg/simulate-thread/simulate-thread.gdb: New.
        * gcc.dg/simulate-thread/README: New.
        * g++.dg/simulate-thread/guality.h: New.
        * g++.dg/simulate-thread/simulate-thread.h: New.
        * g++.dg/simulate-thread/simulate-thread.exp: New.
        * g++.dg/simulate-thread/simulate-thread.gdb: New.
        * c-c++-common/cxxbitfields-2.c: Remove.
        * c-c++-common/cxxbitfields.c: Remove.
        * c-c++-common/cxxbitfields-4.c: Remove.
        * c-c++-common/cxxbitfields-5.c: Remove.
        * c-c++-common/simulate-thread/bitfields-1.c: New.
        * c-c++-common/simulate-thread/bitfields-2.c: New.
        * c-c++-common/simulate-thread/bitfields-3.c: New.
        * c-c++-common/simulate-thread/bitfields-4.c: New.

From-SVN: r179751
2011-10-10 13:42:41 +00:00
Nick Clifton 53fbb7241f re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REGNUM and checking enabled in rx backend)
PR middle-end/49801
	* compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
	df_get_live_out instead of accessing the bitmaps directly.
	(execute_compare_elim_after_reload): Remove calls to df_set_flags,
	df_live_add_problem and df_analyze.

From-SVN: r179749
2011-10-10 13:31:03 +00:00
Michael Matz 88fe4be8e1 re PR middle-end/50638 (emulated TLS fails)
PR middle-end/50638
        * tree-emutls.c (gen_emutls_addr): Call add_referenced_var.

From-SVN: r179745
2011-10-10 11:59:29 +00:00
Richard Sandiford 752cdc4e29 modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
gcc/
	* modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
	(SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
	(node_sched_params): Remove first_reg_move and nreg_moves.
	(ps_num_consecutive_stages, extend_node_sched_params): New functions.
	(update_node_sched_params): Move up file.
	(print_node_sched_params): Print the stage.  Don't dump info related
	to first_reg_move and nreg_moves.
	(set_columns_for_row): New function.
	(set_columns_for_ps): Move up file and use set_columns_for_row.
	(schedule_reg_move): New function.
	(schedule_reg_moves): Call extend_node_sched_params and
	schedule_reg_move.  Extend size of uses bitmap.  Initialize
	num_consecutive_stages.  Return false if a move could not be
	scheduled.
	(apply_reg_moves): Don't emit moves here.
	(permute_partial_schedule): Handle register moves.
	(duplicate_insns_of_cycles): Remove for_prolog.  Emit moves according
	to the same stage-count test as ddg nodes.
	(generate_prolog_epilog): Update calls accordingly.
	(sms_schedule): Allow move-scheduling to add a new first stage.

From-SVN: r179744
2011-10-10 11:42:55 +00:00
Richard Sandiford 1287d8ea2c modulo-sched.c (ps_insn): Adjust comment.
gcc/
	* modulo-sched.c (ps_insn): Adjust comment.
	(ps_reg_move_info): New structure.
	(partial_schedule): Add reg_moves field.
	(SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
	(node_sched_params): Turn first_reg_move into an identifier.
	(ps_reg_move): New function.
	(ps_rtl_insn): Cope with register moves.
	(ps_first_note): Adjust comment and assert that the instruction
	isn't a register move.
	(node_sched_params): Replace with...
	(node_sched_param_vec): ...this vector.
	(set_node_sched_params): Adjust accordingly.
	(print_node_sched_params): Take a partial schedule instead of a ddg.
	Use ps_rtl_insn and ps_reg_move.
	(generate_reg_moves): Rename to...
	(schedule_reg_moves): ...this.  Remove rescan parameter.  Record each
	move in the partial schedule, but don't emit it here.  Don't perform
	register substitutions here either.
	(apply_reg_moves): New function.
	(duplicate_insns_of_cycles): Use register indices directly,
	rather than finding instructions using PREV_INSN.  Use ps_reg_move.
	(sms_schedule): Call schedule_reg_moves before committing to
	a partial schedule.   Try the next ii if the schedule fails.
	Use apply_reg_moves instead of generate_reg_moves.  Adjust
	call to print_node_sched_params.  Free node_sched_param_vec
	instead of node_sched_params.
	(create_partial_schedule): Initialize reg_moves.
	(free_partial_schedule): Free reg_moves.

From-SVN: r179743
2011-10-10 11:42:38 +00:00
Richard Sandiford 88e9c867a9 modulo-sched.c (ps_insn): Replace node field with an identifier.
gcc/
	* modulo-sched.c (ps_insn): Replace node field with an identifier.
	(SCHED_ASAP): Replace with..
	(NODE_ASAP): ...this macro.
	(SCHED_PARAMS): New macro.
	(SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
	(SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
	(node_sched_params): Remove asap.
	(ps_rtl_insn, ps_first_note): New functions.
	(set_node_sched_params): Use XCNEWVEC.  Don't copy across the
	asap values.
	(print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
	(generate_reg_moves): Pass ids to the SCHED_* macros.
	(update_node_sched_params): Take a ps insn identifier rather than
	a node as parameter.  Use ps_rtl_insn.
	(set_columns_for_ps): Update for above field and SCHED_* macro changes.
	(permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
	(optimize_sc): Update for above field and SCHED_* macro changes.
	Update calls to try_scheduling_node_in_cycle and
	update_node_sched_params.
	(duplicate_insns_of_cycles): Adjust for above field and SCHED_*
	macro changes.  Use ps_rtl_insn and ps_first_note.
	(sms_schedule): Pass ids to the SCHED_* macros.
	(get_sched_window): Adjust for above field and SCHED_* macro changes.
	Use NODE_ASAP instead of SCHED_ASAP.
	(try_scheduling_node_in_cycle): Remove node parameter.  Update
	call to ps_add_node_check_conflicts.  Pass ids to the SCHED_*
	macros.
	(sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
	(ps_insert_empty_row): Adjust for above field changes.
	(compute_split_row): Use ids rather than nodes.
	(verify_partial_schedule): Adjust for above field changes.
	(print_partial_schedule): Use ps_rtl_insn.
	(create_ps_insn): Take an id rather than a node.
	(ps_insn_find_column): Adjust for above field changes.
	Use ps_rtl_insn.
	(ps_insn_advance_column): Adjust for above field changes.
	(add_node_to_ps): Remove node parameter.  Update call to
	create_ps_insn.
	(ps_has_conflicts): Use ps_rtl_insn.
	(ps_add_node_check_conflicts): Replace node parameter than an id.

From-SVN: r179742
2011-10-10 11:42:21 +00:00
Richard Sandiford be5af15f2d modulo-sched.c (undo_replace_buff_elem): Delete.
gcc/
	* modulo-sched.c (undo_replace_buff_elem): Delete.
	(generate_reg_moves): Don't build and return an undo list.
	(free_undo_replace_buff): Delete.
	(sms_schedule): Adjust call to generate_reg_moves.
	Don't call free_undo_replace_buff.

From-SVN: r179741
2011-10-10 11:41:55 +00:00
Matthias Klose 8a0180e7e7 m32c: Remove empty directory.
2011-10-10  Matthias Klose <doko@ubuntu.com>

	* common/config/m32c: Remove empty directory.

From-SVN: r179740
2011-10-10 11:25:54 +00:00
Georg-Johann Lay beddf669bb avr.md (*mulhi3_enh): Treat squaring smarter.
* config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.

From-SVN: r179739
2011-10-10 09:57:02 +00:00
Georg-Johann Lay e12693c1ed re PR target/50652 ([avr] Incorrect data start value for atmega164a)
PR target/50652
	* config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
	atmega164a to 0x100.

From-SVN: r179737
2011-10-10 08:32:15 +00:00
GCC Administrator a959e9068f Daily bump.
From-SVN: r179735
2011-10-10 00:19:09 +00:00
Paolo Carlini 90454da1c0 re PR c++/38980 (missing -Wformat warning on const char format string)
/cp
2011-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38980
	* init.c (constant_value_1): Add bool parameter.
	(decl_constant_value_safe): Add.
	(integral_constant_value): Adjust.
	(decl_constant_value): Adjust.
	* cp-tree.h (decl_constant_value_safe): Declare.
	* typeck.c (decay_conversion): Use decl_constant_value_safe.
	* call.c (convert_like_real): Likewise.

/testsuite
2011-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38980
	* g++.dg/warn/format5.C: New.

From-SVN: r179731
2011-10-09 23:20:39 +00:00
Eric Botcazou 75e649f6f4 tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make the replacement if the conversion to the LHS type is not useless.
* tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
	the replacement if the conversion to the LHS type is not useless.

From-SVN: r179730
2011-10-09 21:39:12 +00:00
Tobias Burnus 7de61dc6ac re PR fortran/45044 (Different named COMMON block size: No warning)
2011-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45044
        * trans-common.c (translate_common): Fix -Walign-commons
        check.

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45044
        * gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
        * gfortran.dg/common_16.f90: New.

From-SVN: r179729
2011-10-09 21:37:47 +02:00
Mikael Morin 0cc8903520 Fix dead e-mail address in ChangeLogs
From-SVN: r179728
2011-10-09 16:59:42 +00:00
Mikael Morin 30d5071885 Fix bogus e-mail address in ChangeLogs
From-SVN: r179727
2011-10-09 16:48:25 +00:00
Mikael Morin 46a9f26bd3 interface.c (check_dummy_characteristics): Count dimensions starting from one in diagnostic.
* interface.c (check_dummy_characteristics): Count dimensions starting
	from one in diagnostic.

From-SVN: r179726
2011-10-09 16:19:06 +00:00
Tobias Burnus 28d0b59566 Make-lang.in (F95_PARSER_OBJS, [...]): Add dependency on iso-c-binding.def and iso-fortran-env.def.
2011-10-09  Tobias Burnus  <burnus@net-b.de>

        * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
        dependency on iso-c-binding.def and iso-fortran-env.def.
        * module.c (import_iso_c_binding_module): Add error when
        explicitly importing a nonstandard symbol; extend standard-
        depending loading.
        * iso-c-binding.def: Add c_float128 and c_float128_complex
        integer parameters (for -std=gnu).
        * intrinsic.texi (ISO_C_Binding): Document them.
        * symbol.c (generate_isocbinding_symbol): Change macros
        to ignore GFC_STD_* data.
        * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
        nonstatic and renamed from "init_c_interop_kinds".
        (gfc_init_kinds): Don't call it
        * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
        * f95-lang.c (gfc_init_decl_processing): Call it.

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/iso_c_binding_param_1.f90: New.
        * gfortran.dg/iso_c_binding_param_2.f90: New.
        * gfortran.dg/c_sizeof_2.f90: Update dg-error.

From-SVN: r179725
2011-10-09 17:36:18 +02:00
Ira Rosen 3a0a357821 re PR tree-optimization/50635 (ICE on valid: segfault in vectorize_loops)
PR tree-optimization/50635
        * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
        DEF_STMT to the list of statements to be replaced by the
        pattern statements.
        (vect_handle_widen_mult_by_const): Don't check TYPE_OUT.

From-SVN: r179724
2011-10-09 15:09:00 +00:00
Janus Weil 4e5d3db2c4 re PR fortran/50659 ([F03] ICE with PROCEDURE statement)
2011-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50659
	* expr.c (replace_symbol): Only do replacement if the symbol is a dummy.

2011-10-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50659
	* gfortran.dg/proc_decl_27.f90: New.

From-SVN: r179723
2011-10-09 13:34:21 +02:00
Anatoly Sokolov 3bb4db675a system.h: Commit forgotten hunk in previous patch.
* system.h: Commit forgotten hunk in previous patch.
	(OUTPUT_ADDR_CONST_EXTRA): Poison.

From-SVN: r179722
2011-10-09 15:09:59 +04:00
Nicola Pero b4a50e4336 In libobjc/: 2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/49883
	* init.c (__objc_exec_class): Work around a bug in clang's code
	generation.  Clang sets the class->info field to values different
	from 0x1 or 0x2 (the only allowed values in the traditional GNU
	Objective-C runtime ABI) to store some additional information, but
	this breaks backwards compatibility.  Wipe out all the bits in the
	fields other than the first two upon loading a class.

2011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>
	
	* class.c (objc_lookup_class): Added back for compatibility with
	clang which seems to emit calls to it.

From-SVN: r179721
2011-10-09 10:29:50 +00:00
Jakub Jelinek 68e291ec19 pt.c (reregister_specialization): Use htab_find instead of htab_find_slot with INSERT.
* pt.c (reregister_specialization): Use htab_find instead of
	htab_find_slot with INSERT.
	(maybe_process_partial_specialization, lookup_template_class_1): Change
	slot variable type to void ** to avoid aliasing problems.
	(register_specialization): Likewise.  Use slot != NULL instead of
	more expensive !optimize_specialization_lookup_p (tmpl) test.

Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r179719
2011-10-09 11:35:23 +02:00
Paolo Carlini 367f06ae31 re PR c++/34927 (Duplicate error message about abstract class)
2011-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/34927
	* typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
	inform messages in case of cloned destructor.

From-SVN: r179718
2011-10-09 00:21:37 +00:00
GCC Administrator 6d482d2eaa Daily bump.
From-SVN: r179717
2011-10-09 00:18:00 +00:00
Gerald Pfeifer 7089ef0f0b Fix ChangeLog format for revision 177233.
From-SVN: r179712
2011-10-08 19:10:09 +00:00
Nicola Pero 0ea39696e4 In libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2011-10-08  Richard Frith-Macdonald <rfm@gnu.org>
            Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/50428
	* sendmsg.c (__objc_send_initialize): If a class does not have an
	+initialize method, search for an +initialize method in the
	superclass and in the ancestor classes and execute the first one
	that is found.  This makes the GNU runtime behave in the same way
	as the Apple/NeXT runtime with respect to +initialize methods and
	subclassing.

In gcc/:
2011-10-08  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/50428
	* doc/objc.texi (Garbage Collection): Updated example to protect
	+initialize against execution in subclasses.

In gcc/testsuite/:
2011-10-08  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR libobjc/50428	
	* objc/execute/initialize-1.m: New test.

From-SVN: r179711
2011-10-08 17:52:06 +00:00
Paul Thomas 30a390c810 re PR fortran/47844 (Array stride ignored for pointer-valued function results)
2011-10-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/47844
	* trans-array.c (gfc_conv_array_index_offset): Use descriptor
	stride for pointer function results.

2011-10-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/47844
	* gfortran.dg/pointer_function_result_1.f90 : New test.

From-SVN: r179710
2011-10-08 10:18:51 +00:00
GCC Administrator 2758ee9990 Daily bump.
From-SVN: r179707
2011-10-08 00:18:22 +00:00
Ian Lance Taylor b5204884b2 * generic-morestack-thread.c: #include <errno.h>.
From-SVN: r179703
2011-10-07 22:52:28 +00:00
Ian Lance Taylor 91a639a157 re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
PR target/46093
	* generic-morestack.c (__generic_morestack): Make sure the segment
	is large enough for both the stack frame and the copied
	parameters.

From-SVN: r179702
2011-10-07 22:51:11 +00:00
Richard Henderson 2205ed2513 Rename vshuffle/vec_shuffle to vec_perm.
* doc/extend.texi (__builtin_shuffle): Improve the description to
        include the modulus of the selector.  Mention OpenCL.
        * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.

        * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
        * genopinit.c (optabs): Rename vshuffle to vec_perm.
        * c-typeck.c (c_build_vec_perm_expr): Rename from
        c_build_vec_shuffle_expr.  Update for name changes.
        * optabs.c (expand_vec_perm_expr_p): Rename from
        expand_vec_shuffle_expr_p.
        (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
        * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
        (vec_perm_optab): Rename from vshuffle_optab.
        * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
        c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
        tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.

        * config/i386/i386.c (ix86_expand_vec_perm): Rename from
        ix86_expand_vshuffle.
        * config/i386/i386-protos.h: Update.
        * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
        (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.

From-SVN: r179701
2011-10-07 15:41:48 -07:00
Richard Henderson 524857ec5d i386: Fixup last pblendw change.
Missed changing one predicate to AVX2.  Add parenthesis
to avoid bootstrap -Werror.

From-SVN: r179700
2011-10-07 15:12:18 -07:00
Richard Henderson 96d861154f i386: Fix representation of 256-bit vpblendw.
From-SVN: r179697
2011-10-07 14:07:10 -07:00
Mikael Morin 621babd8d0 trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
* trans-array.c	(gfc_conv_expr_descriptor): Remove trailing whitespace.

From-SVN: r179695
2011-10-07 20:56:31 +00:00
Mikael Morin c2eb5b539f trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
* trans-array.c	(gfc_conv_ss_startstride): Merge two switch cases.

From-SVN: r179694
2011-10-07 20:35:47 +00:00
Mikael Morin 065c6f9de2 trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
	Remove conditions on coarray.
	(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
	(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.

From-SVN: r179693
2011-10-07 20:32:37 +00:00
Mikael Morin 6cb0246c1b trans-array.c (gfc_conv_section_startstride): Remove coarray_last argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray_last
	argument. Remove condition on coarray_last.
	(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
	(gfc_conv_expr_descriptor): Ditto.

From-SVN: r179692
2011-10-07 20:29:27 +00:00
Mikael Morin d7baf64789 trans-array.c (gfc_walk_variable_expr): Remove scalar coarray handling.
* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
	handling.  Don't reset array ref's corank and codimensions' types
	in the full array ref case.  Update loop upper limit.
	Remove DIMEN_THIS_IMAGE case.  Remove unnecessary conditions.

From-SVN: r179691
2011-10-07 20:26:11 +00:00
Mikael Morin 677e2daebf trans.h (gfc_ss_info): Remove codimen field.
* trans.h (gfc_ss_info): Remove codimen field.
	* trans-array.c (gfc_get_array_ss): Don't set codimen field.
	(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
	(gfc_trans_constant_array_constructor): Update loop upper limit.
	(gfc_conv_ss_startstride): Don't set codimen field.
	Don't get descriptor's cobounds.
	(gfc_walk_variable_expr): Update dimension index.
	* trans-intrinsic.c (trans_this_image, trans_image_index,
	conv_intrinsic_cobound): Don't set codimen field

From-SVN: r179690
2011-10-07 20:22:50 +00:00
Mikael Morin c6d741b85b trans.h (gfc_loopinfo): Remove codimen field.
* trans.h (gfc_loopinfo): Remove codimen field.
	* trans-array.c (gfc_set_vector_loop_bounds,
	gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
	limit.
	(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
	codimension.
	(gfc_start_scalarized_body): Update loop lower limit.
	(gfc_conv_ss_startstride): Don't set loop's codimen field.
	(gfc_conv_loop_setup): Remove unnecessary condition.
	(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.

From-SVN: r179689
2011-10-07 20:14:44 +00:00
Mikael Morin 8e50858e07 trans.h (gfc_ss): Remove data.temp.codimen field.
* trans.h (gfc_ss): Remove data.temp.codimen field.
	* trans-array.c (gfc_conv_resolve_dependencies,
	gfc_conv_expr_descriptor): Don't set temp's codimen field.

From-SVN: r179686
2011-10-07 20:05:35 +00:00
Mikael Morin 5551a54eda resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array...
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
	associated dimen_type) in the full array ref case.

From-SVN: r179685
2011-10-07 19:56:11 +00:00
Mikael Morin 9b701a45c0 trans-intrinsic.c (walk_coarray): New function.
* trans-intrinsic.c (walk_coarray): New function.
	(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
	(trans-this_image, trans_image_index, conv_intrinsic_cobound):
	Use walk_coarray.

From-SVN: r179684
2011-10-07 19:52:34 +00:00
Mikael Morin 6bd0ce7b61 trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
	cobounds evaluation.

From-SVN: r179683
2011-10-07 19:47:07 +00:00