Commit Graph

112638 Commits

Author SHA1 Message Date
Alan Modra
387748de2f re PR rtl-optimization/49941 (segmentation fault in redirect_jump_2)
PR rtl-optimization/49941
	* jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps.

	* rtl.h (set_return_jump_label): Declare.
	* function.c (set_return_jump_label): New function, extracted..
	(thread_prologue_and_epilogue_insns): ..from here.  Use it in
	another instance to set return jump_label.
	* cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label.
	* reorg.c (find_end_label): Likewise.

From-SVN: r180027
2011-10-15 21:02:33 +10:30
Nicolas Roche
c225ba500b lang-specs.h: Ensure -mrtp switch is passed when using either rtp-smp or ravenscar-cert-rtp...
2011-10-15  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using  
	either rtp-smp or ravenscar-cert-rtp runtimes.

From-SVN: r180026
2011-10-15 11:24:32 +02:00
Arnaud Charlet
3e452820c3 [multiple changes]
2011-10-15  Bob Duff  <duff@adacore.com>

	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
	Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
	is available.
	(Expand_N_Extended_Return_Statement): Do not create a renaming of the
	build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
	available.
	(Make_Build_In_Place_Call_In_Allocator): Add the user-defined
	pool only if RE_Root_Storage_Pool_Ptr is available.
	(Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
	pool actual unless RE_Root_Storage_Pool_Ptr is available.
	* sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
	formal only if RE_Root_Storage_Pool_Ptr is available.

2011-10-15  Matthew Heaney  <heaney@adacore.com>

	* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
	type): Specify Priority aspect for protected type.

From-SVN: r180025
2011-10-15 11:22:01 +02:00
Tobias Burnus
4650947d66 gfortran.texi (Fortran 2008 status, [...]): Update implementation status, change references from TR 29113 to TS 29113.
2011-10-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (Fortran 2008 status, TS 29113 status,
        Further Interoperability of Fortran with C): Update implementation
        status, change references from TR 29113 to TS 29113.
        * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
        * invoke.text (-std=): Ditto, change -std=f2008tr to
        * -std=f2008ts.
        * lang.opt (std=): Ditto.
        * options.c (gfc_handle_option, set_default_std_flags): Ditto
        * and
        change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
        * libgfortran.h: Ditto.
        * intrinsic.c (add_functions, gfc_check_intrinsic_standard):
        * Ditto.
        * decl.c (verify_c_interop_param): Ditto.

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

        * gfortran.dg/bind_c_usage_23.f90: Change TR 29113 to TS 29113
        * in
        the comments.
        * gfortran.dg/bind_c_usage_24.f90: Ditto.
        * gfortran.dg/rank_3.f90: Ditto.
        * gfortran.dg/bind_c_usage_22.f90: Ditto, change -std=f2008tr to
        -std=f2008ts in dg-options.
        * gfortran.dg/rank_4.f90: Ditto.

From-SVN: r180024
2011-10-15 10:34:36 +02:00
David S. Miller
a0bd60d1c9 Fix mv8plus, allow targetting Linux or Solaris from other sparc host.
* config/sparc/sol2.h: Protect -m{cpu,tune}=native handling
	with a more complete cpp test.
	* config/sparc/linux64.h: Likewise.
	* config/sparc/linux.h: Likewise.
	* config/sparc/sparc.opt (sparc_debug): New target variable.
	(mdebug): New target option.
	* config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL,
	TARGET_DEBUG_OPTIONS): New defines.
	* config/sparc/sparc.c (debug_target_flag_bits,
	debug_target_flags): New functions.
	(sparc_option_override): Add name strings back to cpu_table[].
	Parse -mdebug string.  When TARGET_DEBUG_OPTIONS is true, print
	out the target flags before and after override processing as well
	as the selected cpu.  If MASK_V8PLUS, make sure that the selected
	cpu is at least v9.

From-SVN: r180021
2011-10-14 20:46:59 -07:00
Oleg Endo
6ff9d29412 re PR target/49263 (SH Target: underutilized "TST #imm, R0" instruction)
PR target/49263
	* config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
	* config/sh/sh.c (sh_rtx_costs): Add test instruction case.
	* config/sh/sh.md (tstsi_t): Name existing insn.  Make inner
	and instruction commutative.
	(tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
	tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
	tstsi_t_zero_extract_subreg_xor_little,
	tstsi_t_zero_extract_subreg_xor_big): New insns.
	(*movsicc_t_false, *movsicc_t_true): Replace space with tab in
	asm output.
	(*andsi_compact): Reorder alternatives so that K08 is considered
	first.
	* gcc.target/sh/pr49263.c: New.

From-SVN: r180020
2011-10-15 02:32:53 +00:00
GCC Administrator
94a39b90ce Daily bump.
From-SVN: r180019
2011-10-15 00:19:01 +00:00
Eric Botcazou
c7bdeabb75 * gnat.dg/specs/debug1.ads: Tweak.
From-SVN: r180015
2011-10-14 23:24:36 +00:00
Eric Botcazou
034e3eb0ca re PR target/50354 (architecture mismatch between compiler and assembler)
PR target/50354
	* config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
	processor is at least V9 and TARGET_64BIT_DEFAULT is defined.

From-SVN: r180013
2011-10-14 23:02:40 +00:00
Gerald Pfeifer
f11502ac2b * invoke.texi (AVR Options): Avoid \leq{}.
From-SVN: r180007
2011-10-14 20:22:15 +00:00
Kai Tietz
fc1f4caf5f gimplify.c (gimplify_expr): Take care that for bitwise-binary transformation the operands have compatible types.
* gimplify.c (gimplify_expr): Take care that for bitwise-binary
        transformation the operands have compatible types.

	* gfortran.fortran-torture/compile/logical-2.f90: New test.

From-SVN: r180006
2011-10-14 21:30:42 +02:00
Jakub Jelinek
1c4153dd02 sse.md (vec_widen_smult_hi_v8hi, [...]): Macroize using VI2_AVX2 mode iterator and any_extend code iterator.
* config/i386/sse.md (vec_widen_smult_hi_v8hi,
	vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
	vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
	mode iterator and any_extend code iterator.
	(vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New
	expanders.
	(vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
	also for TARGET_SSE4_1 using pmuldq insn.
	(sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
	(sse2_sse4_1): New code attr.
	(udot_prodv4si): Macroize using any_extend code iterator.
	(<s>dot_prodv8si): New expander.

	* gcc.target/i386/sse2-mul-1.c: New test.
	* gcc.target/i386/sse4_1-mul-1.c: New test.
	* gcc.target/i386/avx-mul-1.c: New test.
	* gcc.target/i386/xop-mul-1.c: New test.
	* gcc.target/i386/avx2-mul-1.c: New test.

From-SVN: r180005
2011-10-14 21:25:07 +02:00
Jason Merrill
2ec5455527 fix PR tag
From-SVN: r180004
2011-10-14 15:22:59 -04:00
Jason Merrill
7204877f43 re PR c++/50563 ([C++0x] Weird syntax acceptance rules for non-static data members initialized in place)
PR c++/50563
	* parser.c (cp_parser_cache_group): Handle end==CPP_COMMA.
	(cp_parser_save_nsdmi): Pass it.

From-SVN: r180003
2011-10-14 15:12:57 -04:00
Jason Merrill
37d8632b51 re PR c++/50707 ([C++0x] Non-static const data member initializer breaks default constructor)
PR c++/50507
	* method.c (walk_field_subobs): Check for NSDMI before
	complaining about uninitialized fields.

From-SVN: r180002
2011-10-14 15:12:45 -04:00
Jason Merrill
c3646b46fa pt.c (tsubst_decl): Use void_zero_node instead of error_mark_node as a placeholder.
* pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node
	instead of error_mark_node as a placeholder.

From-SVN: r180001
2011-10-14 15:12:33 -04:00
Janus Weil
6fd7dd5719 re PR fortran/50570 (Incorrect error for assignment to intent(in) pointer)
2011-10-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50570
	* expr.c (gfc_check_vardef_context): Don't throw an error on
	non-pointer assignments involving an intent(in) pointer dummy.


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

	PR fortran/50570
	* gfortran.dg/pointer_intent_5.f90: New.

From-SVN: r180000
2011-10-14 19:59:29 +02:00
Yakovlev Vladimir
e14ca379ad Changed cost for loading QImode using movzbl.
2011-10-14  Yakovlev Vladimir  <vladimir.b.yakovlev@intel.com>

	* config/i386/i386.c (atom_cost): Changed cost for loading
	QImode using movzbl.

From-SVN: r179999
2011-10-14 10:38:46 -07:00
Michael Meissner
04fe093aea Fix typo in my last change
From-SVN: r179998
2011-10-14 17:36:05 +00:00
Jakub Jelinek
2e2accf8ae sse.md (vec_interleave_high<mode>, [...]): Add AVX2 expanders for VI_256 modes.
* config/i386/sse.md (vec_interleave_high<mode>,
	vec_interleave_low<mode>): Add AVX2 expanders for VI_256
	modes.
	* config/i386/i386.c (expand_vec_perm_interleave3): New function.
	(ix86_expand_vec_perm_builtin_1): Call it.

From-SVN: r179995
2011-10-14 18:55:25 +02:00
Georg-Johann Lay
a08147527b Fix thinko from r179765
Fix thinko from r179765
	* config/avr/avr.c (avr_option_override): Don't override
	flag_omit_frame_pointer if not actually needed.

From-SVN: r179994
2011-10-14 16:42:24 +00:00
Georg-Johann Lay
e8ac5ac96a re PR target/46278 (avr-gcc 4.5.1 doing suboptimal reloads using X)
PR target/46278
	* doc/invoke.texi (AVR Options): Document -mstrict-X.
	* config/avr/avr.opt (-mstrict-X): New option.
	(avr_strict_X): New variable reflecting -mstrict-X.
	* config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
	outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
	(avr_legitimate_address_p): Pass outer_code to
	avr_reg_ok_for_addr_p and use that function in case PLUS.
	(avr_mode_code_base_reg_class): Depend on avr_strict_X.
	(avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
	(avr_option_override): Disable -fcaller-saves if -mstrict-X is on.

From-SVN: r179993
2011-10-14 15:42:33 +00:00
Artjoms Sinkarovs
7d7a021160 Exclude 32-bit archs from warn-vect-op* tests.
From-SVN: r179991
2011-10-14 15:37:07 +00:00
Jakub Jelinek
267ff156d0 sse.md (neg<mode>2): Use VI_AVX2 iterator instead of VI_128.
* config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
	of VI_128.

From-SVN: r179990
2011-10-14 17:28:39 +02:00
Arnaud Charlet
b7539c3b93 [multiple changes]
2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Check_Premature_Freezing): If an untagged type
	is a generic actual, it is a subtype of a type that was frozen
	by the instantiation, and even if not marked frozen it does not
	affect the construction of the dispatch table.

2011-10-14  Robert Dewar  <dewar@adacore.com>

	* make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
	reformatting.
	* s-rident.ads: Add missing Compiler_Unit pragma.

From-SVN: r179989
2011-10-14 17:12:32 +02:00
Tobias Burnus
85ff29389d re PR fortran/50718 (ICE (fold_convert) with -fcheck=pointer)
2011-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50718
        * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
        for dummy arguments with VALUE attribute.

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

        PR fortran/50718
        * gfortran.dg/pointer_check_11.f90: New.
        * gfortran.dg/pointer_check_12.f90: New.

From-SVN: r179988
2011-10-14 17:09:21 +02:00
Jakub Jelinek
8c3532055a sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
* config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2
	iterator.
	(ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
	Use <sseinsnmode> instead of TI in mode attr.

From-SVN: r179987
2011-10-14 17:05:55 +02:00
Arnaud Charlet
af89615fea [multiple changes]
2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* sem_res.adb: Minor reformatting.

2011-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Code and comment reformatting. Use BIP_Task_Master
	when creating a _master.
	(BIP_Formal_Suffix): Code reformatting. Correct the case for
	BIP_Task_Master.
	(Make_Build_In_Place_Call_In_Object_Declaration): Use
	BIP_Task_Master when creating a reference to the enclosing
	function's _master formal.
	(Move_Activation_Chain): Use BIP_Task_Master when creating a reference
	to the _master.
	* exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
	(Needs_BIP_Finalization_Master): Alphabetized.
	* sem_ch6.adb (Create_Extra_Formals): Update the usage of
	BIP_Task_Master.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
	reject an aliased keyword on the object declaration of an extended
	return statement. In older versions of the language indicate
	that this is illegal in the standard.

2011-10-14  Pascal Obry  <obry@adacore.com>

	* sem_util.adb, sem_ch4.adb: Minor reformatting.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Recognize properly procedure calls that are
	transformed into code statements.

2011-10-14  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor fix in project example.

From-SVN: r179986
2011-10-14 17:03:39 +02:00
Arnaud Charlet
f2d10a021b [multiple changes]
2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Return objects are aliased if their type is
	immutably limited as per AI05-0053.

2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
	expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
	Short_Circuit_And_Or expansion code (moved to sem_res).
	* sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
	"and" and "or" operators as short-circuit "and then" and "or
	else", when pragma Short_Circuit_And_Or is active.

From-SVN: r179985
2011-10-14 16:56:46 +02:00
Paolo Carlini
008d5fccd8 re PR c++/38174 (Missing some built-in candidates for operator overloading)
/cp
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38174
	* call.c (add_builtin_candidate): If two pointers have a composite
	pointer type, generate a single candidate with that type.

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

	PR c++/38174
	* g++.dg/overload/operator4.C: New.

From-SVN: r179984
2011-10-14 14:43:03 +00:00
David Alan Gilbert
e11a4c8086 di-longlong64-sync-1.c: New test.
gcc/testsuite/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* gcc.dg/di-longlong64-sync-1.c: New test.
	* gcc.dg/di-sync-multithread.c: New test.
	* gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
	* gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
	* lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
	tests for v5, v6, v6k, and v7-a, and add-options helpers.
	(check_effective_target_arm_arm_ok): New helper.
	(check_effective_target_sync_longlong): New helper.

From-SVN: r179983
2011-10-14 14:39:32 +00:00
David Alan Gilbert
41aac0de5b linux-atomic-64bit.c: New (based on linux-atomic.c).
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
	* config/arm/linux-atomic.c: Change comment to point to 64bit version.
	(SYNC_LOCK_RELEASE): Instantiate 64bit version.
	* config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.

From-SVN: r179982
2011-10-14 14:39:10 +00:00
David Alan Gilbert
cfe527436c arm.c (arm_output_ldrex): Support ldrexd.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.c (arm_output_ldrex): Support ldrexd.
	(arm_output_strex): Support strexd.
	(arm_output_it): New helper to output it in Thumb2 mode only.
	(arm_output_sync_loop): Support DI mode.  Change comment to
	not support const_int.
	(arm_expand_sync): Support DI mode.
	* config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
	and LDREXD.
	* config/arm/iterators.md (NARROW): move from sync.md.
	(QHSD): New iterator for all current ARM integer modes.
	(SIDI): New iterator for SI and DI modes only.
	* config/arm/sync.md (sync_predtab): New mode_attr.
	(sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
	(sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
	(sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
	(sync_nandsi): Fold into sync_nand<mode>.
	(sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
	(sync_new_nandsi): Fold into sync_new_nand<mode>.
	(sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
	(sync_old_nandsi): Fold into sync_old_nand<mode>.
	(sync_compare_and_swap<mode>): Support SI & DI.
	(sync_lock_test_and_set<mode>): Likewise.
	(sync_<sync_optab><mode>): Likewise.
	(sync_nand<mode>): Likewise.
	(sync_new_<sync_optab><mode>): Likewise.
	(sync_new_nand<mode>): Likewise.
	(sync_old_<sync_optab><mode>): Likewise.
	(sync_old_nand<mode>): Likewise.
	(arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
	(arm_sync_lock_test_and_setsi): Likewise.
	(arm_sync_new_<sync_optab>si): Likewise.
	(arm_sync_new_nandsi): Likewise.
	(arm_sync_old_<sync_optab>si): Likewise.
	(arm_sync_old_nandsi): Likewise.
	(arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
	(arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
	(arm_sync_new_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_new_nand<mode> NARROW): Likewise.
	(arm_sync_old_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_old_nand<mode> NARROW): Likewise.

From-SVN: r179981
2011-10-14 14:38:58 +00:00
David Alan Gilbert
3e2a46fe39 re PR target/48126 (arm_output_sync_loop: misplaced memory barrier)
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	PR target/48126
	* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.

From-SVN: r179980
2011-10-14 14:38:42 +00:00
David Alan Gilbert
80651d8e1c arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.

From-SVN: r179979
2011-10-14 14:38:30 +00:00
Paolo Carlini
f5fb344bf9 invoke.texi ([Wformat-zero-length]): Tidy.
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Wformat-zero-length]): Tidy.

From-SVN: r179978
2011-10-14 14:03:53 +00:00
Jakub Jelinek
9dd58aa41c gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also on COND_EXPR/VEC_COND_EXPR comparison operands if...
* gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr
	also on COND_EXPR/VEC_COND_EXPR comparison operands if they are
	ADDR_EXPRs.

From-SVN: r179969
2011-10-14 14:05:43 +02:00
François Dumont
9918dc0f99 41975.cc: New.
2011-10-14  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/performance/23_containers/insert_erase/41975.cc: New.

From-SVN: r179968
2011-10-14 11:25:27 +00:00
Richard Guenther
f6e52e91bd re PR tree-optimization/50723 (internal compiler error: verify_ssa failed)
2011-10-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50723
	* ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.

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

From-SVN: r179967
2011-10-14 11:03:06 +00:00
Jonathan Wakely
5fabae4e53 50714.cc: Fix mychar.
2011-10-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.

From-SVN: r179966
2011-10-14 10:38:23 +00:00
Nicola Pero
3cc2dd4b7e In gcc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* gengtype.c (files_rules): Added rules for objc/objc-map.h and
	objc/objc-map.c.

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

	* objc-map.h: New file.
	* objc-map.c: New file.	
	* config-lang.in (gtfiles): Added objc-map.h.
	* Make-lang.in (OBJC_OBJS): Added objc-map.o.
	(objc/objc-map.o): New rule.
	(objc/objc-act.o): Depend on objc/objc-map.h.
	* objc-next-runtime-abi-02.c: Added a TODO comment.
	* objc-act.c: Include objc-map.h.
	(nst_method_hash_list, cls_method_hash_list): Removed.
	(instance_method_map, class_method_map): New.
	(cls_name_hash_list, als_name_hash_list): Removed.
	(class_name_map, alias_name_map): Removed.
	(ivar_offset_hash_list): Removed.
	(hash_class_name_enter, hash_class_name_lookup, hash_enter,
	hash_lookup, hash_add_attr, add_method_to_hash_list): Removed.
	(interface_hash_init): New.
	(objc_init): Call interface_hash_init.
	(objc_write_global_declarations): Iterate over class_method_map
	and instance_method_map instead of cls_method_hash_list and
	nst_method_hash_list.
	(objc_declare_alias): Use alias_name_map instead of
	cls_name_hash_list.
	(objc_is_class_name): Use class_name_map and alias_name_map
	instead of cls_name_hash_list and als_name_hash_list.
	(interface_tuple, interface_htab, hash_interface, eq_interface):
	Removed.
	(interface_map): New.
	(add_class): Renamed to add_interface.  Use interface_map instead
	of interface_htab.
	(lookup_interface): Use interface_map instead of interface_htab.
	(check_duplicates): Changed first argument to be a tree,
	potentially a TREE_VEC, instead of a hash.  Changed implementation
	to match.
	(lookup_method_in_hash_lists): Use class_method_map and
	instance_method_map instead of cls_method_hash_list and
	nst_method_hash_list.
	(objc_build_selector_expr): Likewise.
	(hash_func): Removed.
	(hash_init): Create instance_method_map, class_method_map,
	class_name_map, and alias_name_map.  Do not create
	nst_method_hash_list, cls_method_hash_list, cls_name_hash_list,
	als_name_hash_list, and ivar_offset_hash_list.
	(insert_method_into_method_map): New.
	(objc_add_method): Use insert_method_into_method_map instead of
	add_method_to_hash_list.
	(start_class): Call add_interface instead of add_class.
	* objc-act.h (cls_name_hash_list, als_name_hash_list,
	nst_method_hash_list, cls_method_hash_list): Removed.

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

	* Make-lang.in (OBJCXX_OBJS): Added objc-map.o.
	(objcp/objc-map.o): New rule.
	(objcp/objcp-act.o): Depend on objc/objc-map.h.
	* config-lang.in (gtfiles): Added objc-map.h.

From-SVN: r179965
2011-10-14 10:19:01 +00:00
Paolo Carlini
5e678de8ba re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/gcc
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
	* doc/invoke.texi: Update.

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

	PR c++/17212
	* g++.dg/warn/format6.C: New.
	* obj-c++.dg/warn6.mm: Likewise.

From-SVN: r179964
2011-10-14 09:14:58 +00:00
Paolo Carlini
4fbbcd7fa9 re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/gcc
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
	* doc/invoke.texi: Update.

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

	PR c++/17212
	* g++.dg/warn/format6.C: New.
	* obj-c++.dg/warn6.mm: Likewise.

From-SVN: r179963
2011-10-14 09:14:26 +00:00
Iain Sandoe
80f8fdf10b re PR bootstrap/50699 (Bootstrap fails on *-apple-darwin* due to revision 179820)
gcc:

	PR bootstrap/50699
	* config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
	build for powerpc targets.  (darwin_patch_builtins): Only build for 
	powerpc targets.

From-SVN: r179962
2011-10-14 08:13:04 +00:00
Jonathan Yong
d7a3ef9794 configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64".
2011-10-14  Jonathan Yong  <jon_y@users.sourceforge.net>

	* configure.host: Use config/os/mingw32-w64 instead of
	config/os/mingw32 if vendor key is "w64".
	* config/os/mingw32-w64: Duplicate from config/os/mingw32.
	* config/os/mingw32-w64/os_defines.h: Enable
	_GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
	* acinclude.m4: Set fully-dynamic-string to 1 when enabled,
	0 when disabled or undefined if unset by user.
	* include/bits/basic_string.h: Check if
	_GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
	include/bits/basic_string.tcc: Likewise.
	* configure: Regenerated.
	* config.h.in: Likewise.

From-SVN: r179961
2011-10-14 08:57:55 +02:00
Jakub Jelinek
4fbe3b8a2b sse.md (*avx_cvtdq2pd256_2): Rename to...
* config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
	(avx_cvtdq2pd256_2): ... this.
	(sseunpackfltmode): New mode attr.
	(vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
	vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
	using VI2_AVX2 iterator.
	(vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New
	expanders.

From-SVN: r179960
2011-10-14 08:06:14 +02:00
David S. Miller
8e24e4091c Merge sparc plus/minus vector operations using a code iterator.
* config/sparc/sparc.md (plusminus): New code iterator.
	(plusminus_insn): New code attr.
	(addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
	using plusminus and plusminus_insn.
	(fpadd64_vis, fpsub64_vis): Likewise.

From-SVN: r179959
2011-10-13 20:48:06 -07:00
Richard Henderson
d7943c8b14 Expand vector permutation with vec_perm and vec_perm_const.
From-SVN: r179958
2011-10-13 20:31:23 -07:00
Richard Henderson
5066ab2ee8 rs6000: Fix typo in rs6000_expand_vector_init
Of course we don't support vectors of size <= 4.
We're supposed to be checking the vector element size.

From-SVN: r179957
2011-10-13 20:27:01 -07:00
Richard Henderson
bdc3ee5d57 Move lowering of vector shifts from v/s to v/v from gimple to rtl.
This allows other rtl expanders to rely on shifts of vector by scalar.

From-SVN: r179956
2011-10-13 20:25:58 -07:00