Commit Graph

111297 Commits

Author SHA1 Message Date
Arnaud Charlet
5cd7bb1538 [multiple changes]
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

	* opt.ads: Minor editing.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
	that only made sense for CodePeer mode.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

	* targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
	which is no longer used.
	* targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
	handling of the 64-bit division check.
	* exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
	division available.
	* system*.ads (Support_64_Bit_Divides): Remove this flag which is no
	longer used.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* get_scos.adb: Minor reformatting.

From-SVN: r178163
2011-08-29 10:46:47 +02:00
Arnaud Charlet
25b589cbd5 [multiple changes]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
	statement list is wrapped in a block, the block is explicitly analyzed
	in order to properly redecorate the entities and create a servicing
	finalizer.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

	* sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
	(Set_Zero_Cost_Handling): Remove.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting

From-SVN: r178162
2011-08-29 10:40:53 +02:00
Arnaud Charlet
1197ddb11e [multiple changes]
2011-08-29  Geert Bosch  <bosch@adacore.com>

	* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
	instruction, as the latter may produce -0.0, which is not a valid VAX
	F float number.
	(Neg_G): Likewise for VAX F float.

2011-08-29  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Minor reformatting.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Minor comment update.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
	the operand type.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
	current statement sequence on a generic instantiation or a subprogram
	declaration.

From-SVN: r178161
2011-08-29 10:36:28 +02:00
Arnaud Charlet
8f66cda7be [multiple changes]
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
	Minor reformatting.

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
	Correct the check which involves the freeze node of a controlled or
	access-to-controlled type.

2011-08-29  Geert Bosch  <bosch@adacore.com>

	* sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
	statements.
	* s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
	Asm statements.

From-SVN: r178160
2011-08-29 10:32:46 +02:00
Arnaud Charlet
cf161d6620 [multiple changes]
2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
	for every index type and component type that is not a subtype_mark.
	(Process_Subtype): Set Etype of subtype.

2011-08-29  Robert Dewar  <dewar@adacore.com>

	* a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
	reorganization.  Minor reformatting.

From-SVN: r178159
2011-08-29 10:30:02 +02:00
Arnaud Charlet
7cc83cd8a5 [multiple changes]
2011-08-29  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
	for CodePeer and ALFA modes.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Collect_Interps): Within an instance, collect a homonym
	that comes from an enclosing scope if it is not the renaming of an
	actual, to handle properly a spurious ambiguity in an instance.

From-SVN: r178158
2011-08-29 10:26:40 +02:00
Arnaud Charlet
76af413754 [multiple changes]
2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
	(Alignment_Check_For_Size_Change): ...this.  Add SIZE parameter and
	use it instead of the Esize of the first parameter.
	(Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
	above change.
	<Size>: Likewise.  Call it for composite types on the RM size.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
	* sem_util.adb (Unique_Name): Correct behaviour for names of
	compilation units.

From-SVN: r178157
2011-08-29 10:24:15 +02:00
Arnaud Charlet
9b20e59bb3 [multiple changes]
2011-08-29  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Check_Precondition_Postcondition): In formal
	verification mode, analyze pragma expression for correctness, for
	pre/post on library-level subprogram, as it is not expanded later.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
	in formal verification.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb: Minor reformatting.
	* freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
	there's no pragma.
	* par_sco.ads, par_sco.adb: Update comments.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
	associated getter/setter.
	* sem_ch6.adb: Remove reference to Is_Postcondition_Proc.

2011-08-29  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
	* prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
	with declarations for Language_Kind and Dependency_Kind for Ada.
	* prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
	(Process_Compiler): Take into account the new attributes Dependency_Kind
	and Language_Kind.
	(Check_Configuration): Check if language kind is unit based, not if the
	language name is Ada.
	(Process_Exceptions_Unit_Based): Ditto
	(Add_Language): Remove default additions of language and dependency kind
	* prj.ads: Minor comment change
	* snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind

2011-08-29  Johannes Kanig  <kanig@adacore.com>

	* debug.adb: Update comments.

From-SVN: r178156
2011-08-29 10:21:24 +02:00
GCC Administrator
6d2a312ec4 Daily bump.
From-SVN: r178152
2011-08-29 00:18:54 +00:00
Paolo Carlini
75f5cbb17b move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
	workaround for c++/49045.
	* include/bits/algorithmfwd.h: Likewise.

From-SVN: r178147
2011-08-28 21:05:48 +00:00
Dodji Seketeli
892a371f3b Fix the use of linemap_add and remove unnecessary kludge
libcpp/

	* line-map.c (linemap_add): Assert that reason must not be
	LC_RENAME when called for the first time on a "main input file".

c-family/

	* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as it's
	the first time it's being called on this main TU.

gcc/lto/

	* lto-lang.c (lto_init): Likewise.  Also, avoid calling
	linemap_add twice.

gcc/fortran/

	* scanner.c (load_file): Don't abuse LC_RENAME reason while
	(indirectly) calling linemap_add.

From-SVN: r178146
2011-08-28 22:14:46 +02:00
Jason Merrill
e90abaa0a2 Core DR 342 PR c++/48582
Core DR 342
	PR c++/48582
	* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
	is valid in C++11.
	(convert_nontype_argument): Likewise.  Implicitly convert nullptr
	and do constant folding.
	* mangle.c (write_template_arg_literal): Mangle null member
	pointer values as 0.
	* call.c (null_member_pointer_value_p): New.
	* cp-tree.h: Declare it.

From-SVN: r178144
2011-08-28 11:38:29 -04:00
Joseph Myers
2aef967bc8 * ja.po: Update.
From-SVN: r178142
2011-08-28 13:38:57 +01:00
Mikael Pettersson
76725a03ea re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap)
2011-08-28  Mikael Pettersson  <mikpe@it.uu.se>

	PR bootstrap/50218
	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
	comp.

From-SVN: r178141
2011-08-28 12:08:41 +00:00
Thomas Koenig
3d2244b97f re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40866
	* generated/iall_i1.c: Regenerated.
	* generated/iall_i16.c: Regenerated.
	* generated/iall_i2.c: Regenerated.
	* generated/iall_i4.c: Regenerated.
	* generated/iall_i8.c: Regenerated.
	* generated/iany_i1.c: Regenerated.
	* generated/iany_i16.c: Regenerated.
	* generated/iany_i2.c: Regenerated.
	* generated/iany_i4.c: Regenerated.
	* generated/iany_i8.c: Regenerated.
	* generated/iparity_i1.c: Regenerated.
	* generated/iparity_i16.c: Regenerated.
	* generated/iparity_i2.c: Regenerated.
	* generated/iparity_i4.c: Regenerated.
	* generated/iparity_i8.c: Regenerated.
	* generated/norm2_r10.c: Regenerated.
	* generated/norm2_r16.c: Regenerated.
	* generated/norm2_r4.c: Regenerated.
	* generated/norm2_r8.c: Regenerated.
	* generated/parity_l1.c: Regenerated.
	* generated/parity_l16.c: Regenerated.
	* generated/parity_l2.c: Regenerated.
	* generated/parity_l4.c: Regenerated.
	* generated/parity_l8.c: Regenerated.
	* generated/misc_specifics.F90: Regenerated (comment change).
	* generated/_abs_c10.F90: Regenerated (comment change).
	* generated/_abs_c16.F90: Regenerated (comment change).
	* generated/_abs_c4.F90: Regenerated (comment change).
	* generated/_abs_c8.F90: Regenerated (comment change).
	* generated/_abs_i16.F90: Regenerated (comment change).
	* generated/_abs_i4.F90: Regenerated (comment change).
	* generated/_abs_i8.F90: Regenerated (comment change).
	* generated/_abs_r10.F90: Regenerated (comment change).
	* generated/_abs_r16.F90: Regenerated (comment change).
	* generated/_abs_r4.F90: Regenerated (comment change).
	* generated/_abs_r8.F90: Regenerated (comment change).
	* generated/_acosh_r10.F90: Regenerated (comment change).
	* generated/_acosh_r16.F90: Regenerated (comment change).
	* generated/_acosh_r4.F90: Regenerated (comment change).
	* generated/_acosh_r8.F90: Regenerated (comment change).
	* generated/_acos_r10.F90: Regenerated (comment change).
	* generated/_acos_r16.F90: Regenerated (comment change).
	* generated/_acos_r4.F90: Regenerated (comment change).
	* generated/_acos_r8.F90: Regenerated (comment change).
	* generated/_aimag_c10.F90: Regenerated (comment change).
	* generated/_aimag_c16.F90: Regenerated (comment change).
	* generated/_aimag_c4.F90: Regenerated (comment change).
	* generated/_aimag_c8.F90: Regenerated (comment change).
	* generated/_aint_r10.F90: Regenerated (comment change).
	* generated/_aint_r16.F90: Regenerated (comment change).
	* generated/_aint_r4.F90: Regenerated (comment change).
	* generated/_aint_r8.F90: Regenerated (comment change).
	* generated/_anint_r10.F90: Regenerated (comment change).
	* generated/_anint_r16.F90: Regenerated (comment change).
	* generated/_anint_r4.F90: Regenerated (comment change).
	* generated/_anint_r8.F90: Regenerated (comment change).
	* generated/_asinh_r10.F90: Regenerated (comment change).
	* generated/_asinh_r16.F90: Regenerated (comment change).
	* generated/_asinh_r4.F90: Regenerated (comment change).
	* generated/_asinh_r8.F90: Regenerated (comment change).
	* generated/_asin_r10.F90: Regenerated (comment change).
	* generated/_asin_r16.F90: Regenerated (comment change).
	* generated/_asin_r4.F90: Regenerated (comment change).
	* generated/_asin_r8.F90: Regenerated (comment change).
	* generated/_atan2_r10.F90: Regenerated (comment change).
	* generated/_atan2_r16.F90: Regenerated (comment change).
	* generated/_atan2_r4.F90: Regenerated (comment change).
	* generated/_atan2_r8.F90: Regenerated (comment change).
	* generated/_atanh_r10.F90: Regenerated (comment change).
	* generated/_atanh_r16.F90: Regenerated (comment change).
	* generated/_atanh_r4.F90: Regenerated (comment change).
	* generated/_atanh_r8.F90: Regenerated (comment change).
	* generated/_atan_r10.F90: Regenerated (comment change).
	* generated/_atan_r16.F90: Regenerated (comment change).
	* generated/_atan_r4.F90: Regenerated (comment change).
	* generated/_atan_r8.F90: Regenerated (comment change).
	* generated/_conjg_c10.F90: Regenerated (comment change).
	* generated/_conjg_c16.F90: Regenerated (comment change).
	* generated/_conjg_c4.F90: Regenerated (comment change).
	* generated/_conjg_c8.F90: Regenerated (comment change).
	* generated/_cosh_r10.F90: Regenerated (comment change).
	* generated/_cosh_r16.F90: Regenerated (comment change).
	* generated/_cosh_r4.F90: Regenerated (comment change).
	* generated/_cosh_r8.F90: Regenerated (comment change).
	* generated/_cos_c10.F90: Regenerated (comment change).
	* generated/_cos_c16.F90: Regenerated (comment change).
	* generated/_cos_c4.F90: Regenerated (comment change).
	* generated/_cos_c8.F90: Regenerated (comment change).
	* generated/_cos_r10.F90: Regenerated (comment change).
	* generated/_cos_r16.F90: Regenerated (comment change).
	* generated/_cos_r4.F90: Regenerated (comment change).
	* generated/_cos_r8.F90: Regenerated (comment change).
	* generated/_dim_i16.F90: Regenerated (comment change).
	* generated/_dim_i4.F90: Regenerated (comment change).
	* generated/_dim_i8.F90: Regenerated (comment change).
	* generated/_dim_r10.F90: Regenerated (comment change).
	* generated/_dim_r16.F90: Regenerated (comment change).
	* generated/_dim_r4.F90: Regenerated (comment change).
	* generated/_dim_r8.F90: Regenerated (comment change).
	* generated/_exp_c10.F90: Regenerated (comment change).
	* generated/_exp_c16.F90: Regenerated (comment change).
	* generated/_exp_c4.F90: Regenerated (comment change).
	* generated/_exp_c8.F90: Regenerated (comment change).
	* generated/_exp_r10.F90: Regenerated (comment change).
	* generated/_exp_r16.F90: Regenerated (comment change).
	* generated/_exp_r4.F90: Regenerated (comment change).
	* generated/_exp_r8.F90: Regenerated (comment change).
	* generated/_log10_r10.F90: Regenerated (comment change).
	* generated/_log10_r16.F90: Regenerated (comment change).
	* generated/_log10_r4.F90: Regenerated (comment change).
	* generated/_log10_r8.F90: Regenerated (comment change).
	* generated/_log_c10.F90: Regenerated (comment change).
	* generated/_log_c16.F90: Regenerated (comment change).
	* generated/_log_c4.F90: Regenerated (comment change).
	* generated/_log_c8.F90: Regenerated (comment change).
	* generated/_log_r10.F90: Regenerated (comment change).
	* generated/_log_r16.F90: Regenerated (comment change).
	* generated/_log_r4.F90: Regenerated (comment change).
	* generated/_log_r8.F90: Regenerated (comment change).
	* generated/_mod_i16.F90: Regenerated (comment change).
	* generated/_mod_i4.F90: Regenerated (comment change).
	* generated/_mod_i8.F90: Regenerated (comment change).
	* generated/_mod_r10.F90: Regenerated (comment change).
	* generated/_mod_r16.F90: Regenerated (comment change).
	* generated/_mod_r4.F90: Regenerated (comment change).
	* generated/_mod_r8.F90: Regenerated (comment change).
	* generated/_sign_i16.F90: Regenerated (comment change).
	* generated/_sign_i4.F90: Regenerated (comment change).
	* generated/_sign_i8.F90: Regenerated (comment change).
	* generated/_sign_r10.F90: Regenerated (comment change).
	* generated/_sign_r16.F90: Regenerated (comment change).
	* generated/_sign_r4.F90: Regenerated (comment change).
	* generated/_sign_r8.F90: Regenerated (comment change).
	* generated/_sinh_r10.F90: Regenerated (comment change).
	* generated/_sinh_r16.F90: Regenerated (comment change).
	* generated/_sinh_r4.F90: Regenerated (comment change).
	* generated/_sinh_r8.F90: Regenerated (comment change).
	* generated/_sin_c10.F90: Regenerated (comment change).
	* generated/_sin_c16.F90: Regenerated (comment change).
	* generated/_sin_c4.F90: Regenerated (comment change).
	* generated/_sin_c8.F90: Regenerated (comment change).
	* generated/_sin_r10.F90: Regenerated (comment change).
	* generated/_sin_r16.F90: Regenerated (comment change).
	* generated/_sin_r4.F90: Regenerated (comment change).
	* generated/_sin_r8.F90: Regenerated (comment change).
	* generated/_sqrt_c10.F90: Regenerated (comment change).
	* generated/_sqrt_c16.F90: Regenerated (comment change).
	* generated/_sqrt_c4.F90: Regenerated (comment change).
	* generated/_sqrt_c8.F90: Regenerated (comment change).
	* generated/_sqrt_r10.F90: Regenerated (comment change).
	* generated/_sqrt_r16.F90: Regenerated (comment change).
	* generated/_sqrt_r4.F90: Regenerated (comment change).
	* generated/_sqrt_r8.F90: Regenerated (comment change).
	* generated/_tanh_r10.F90: Regenerated (comment change).
	* generated/_tanh_r16.F90: Regenerated (comment change).
	* generated/_tanh_r4.F90: Regenerated (comment change).
	* generated/_tanh_r8.F90: Regenerated (comment change).
	* generated/_tan_r10.F90: Regenerated (comment change).
	* generated/_tan_r16.F90: Regenerated (comment change).
	* generated/_tan_r4.F90: Regenerated (comment change).
	* generated/_tan_r8.F90: Regenerated (comment change).

From-SVN: r178140
2011-08-28 10:08:50 +00:00
GCC Administrator
aa35481fbf Daily bump.
From-SVN: r178139
2011-08-28 00:18:34 +00:00
Bernd Schmidt
268987713c rtl.texi (simple_return): Document.
* doc/rtl.texi (simple_return): Document.
	(parallel, PATTERN): Here too.
	* doc/md.texi (return): Mention it's allowed to expand to simple_return
	in some cases.
	(simple_return): Document standard pattern.
	* gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
	* final.c (final_scan_insn): Use ANY_RETURN_P on body.
	* reorg.c (function_return_label, function_simple_return_label):
	New static variables, replacing...
	(end_of_function_label): ... this.
	(simplejump_or_return_p): New static function.
	(optimize_skip, steal_delay_list_from_fallthrough,
	fill_slots_from_thread): Use it.
	(relax_delay_slots): Likewise.  Use ANY_RETURN_P on body.
	(rare_destination, follow_jumps): Use ANY_RETURN_P on body.
	(find_end_label): Take a new arg which is one of the two return
	rtxs.  Depending on which, set either function_return_label or
	function_simple_return_label.  All callers changed.
	(make_return_insns): Make both kinds.
	(dbr_schedule): Adjust for two kinds of end labels.
	* function.c (emit_return_into_block): Set JUMP_LABEL properly.
	* genemit.c (gen_exp): Handle SIMPLE_RETURN.
	(gen_expand, gen_split): Use ANY_RETURN_P.
	* df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
	* rtl.def (SIMPLE_RETURN): New code.
	* ifcvt.c (find_if_case_1): Be more careful about
	redirecting jumps to the EXIT_BLOCK.
	* jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
	returnjump_p_1): Handle SIMPLE_RETURNs.
	* print-rtl.c (print_rtx): Likewise.
	* rtl.c (copy_rtx): Likewise.
	* bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
	* combine.c (simplify_set): Likewise.
	* resource.c (find_dead_or_set_registers, mark_set_resources):
	Likewise.
	* emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
	copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
	(init_emit_regs): Initialize simple_return_rtx.
	* cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
	force_nonfallthru_and_redirect.
	* rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
	(GR_SIMPLE_RETURN): New enum value.
	(simple_return_rtx): New macro.
	* basic-block.h (force_nonfallthru_and_redirect): Adjust
	declaration.
	* cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
	argument.  All callers changed.  Be careful about what kinds of
	returnjumps to generate.
	* config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
	ix86_pad_short_function): Likewise.
	* config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
	of return.
	* config/mips/mips.md (any_return): New code_iterator.
	(optab): Add cases for return and simple_return.
	(return): Expand to a simple_return.
	(simple_return): New pattern.
	(*<optab>, *<optab>_internal for any_return): New patterns.
	(return_internal): Remove.
	* config/mips/mips.c (mips_expand_epilogue): Make the last insn
	a simple_return_internal.

From-SVN: r178135
2011-08-27 17:38:58 +00:00
Uros Bizjak
3b0eee5d58 sse.md (*absneg<mode>2): Fix split condition.
* config/i386/sse.md (*absneg<mode>2): Fix split condition.
	(vec_extract_lo_<mode>): Prevent both operands in memory.
	(vec_extract_lo_v16hi): Ditto.
	(*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.

	* config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
	(*sse2_mulv4si3): Ditto.
	(mulv2di3): Ditto.
	* config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
	notes to REG_EQUAL.

From-SVN: r178132
2011-08-27 12:44:00 +02:00
Uros Bizjak
b807694e27 re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn) with __builtin_ia32_pcmpistri128)
PR target/50202
	* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
	when all outputs are unused.
	(sse4_2_pcmpestr): Ditto.

testsuite/ChangeLog:

	PR target/50202
	* gcc.target/i386/pr50202.c: New test.

From-SVN: r178130
2011-08-27 09:46:35 +02:00
GCC Administrator
851018fb85 Daily bump.
From-SVN: r178129
2011-08-27 00:18:32 +00:00
Uros Bizjak
734dfb474f i386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
* config/i386/i386.c (ix86_build_const_vector): Rewrite using loop
	with RTVEC_ELT accessor.

From-SVN: r178124
2011-08-26 22:53:38 +02:00
Uros Bizjak
bbeb5bebd6 i386.md (round<mode>2): New expander.
* config/i386/i386.md (round<mode>2): New expander.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
	(struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
	descriptions.
	(ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.

testsuite/ChangeLog:

	* gcc.target/i386/sse_4_1-round-vec.c: New test.
	* gcc.target/i386/sse_4_1-roundf-vec.c: New test.
	* gcc.target/i386/avx-round-vec.c: New test.
	* gcc.target/i386/avx-roundf-vec.c: New test.

From-SVN: r178123
2011-08-26 21:42:30 +02:00
Uros Bizjak
44782c0cba re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
PR middle-end/50083
	* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
	only when TARGET_C99_FUNCTIONS.
	<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
	<BUILT_IN_RINT{,F,L}>: Ditto.

From-SVN: r178119
2011-08-26 18:10:45 +02:00
Michael Matz
0b11d702db re PR lto/50165 (Huge build time regression (Firefox lto build))
PR lto/50165
	* lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
	don't call strlen twice, use memcpy.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r178118
2011-08-26 16:02:17 +00:00
H.J. Lu
f13677ba99 Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
2011-08-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/bmi2intrin.h: Allow in <immintrin.h>.
	* config/i386/bmiintrin.h: Likewise.
	* config/i386/lzcntintrin.h: Likewise.

	* config/i386/immintrin.h: Include <lzcntintrin.h>,
	<bmiintrin.h> and <bmi2intrin.h>.

From-SVN: r178117
2011-08-26 08:45:32 -07:00
Rainer Orth
a26479f3cc Disable .init_array/.fini_array support on Solaris (PR target/50166)
PR target/50166
	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
	* configure: Regenerate.

From-SVN: r178116
2011-08-26 15:17:42 +00:00
Jakub Jelinek
a6c975bd8e trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.
* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
	if threadprivate.
	* symbol.c (check_conflict): Allow threadprivate attribute with
	FL_PROCEDURE if proc_pointer.

	* testsuite/libgomp.fortran/threadprivate4.f90: New test.

From-SVN: r178114
2011-08-26 16:55:05 +02:00
Jakub Jelinek
2f27df53e7 cmpxchg16b-1.c: Match also space after the instruction.
* gcc.target/i386/cmpxchg16b-1.c: Match also space after the
	instruction.

From-SVN: r178113
2011-08-26 16:52:54 +02:00
Jakub Jelinek
f1a89dd00c re PR c/50179 (wrong "set but not used" warning)
PR c/50179
	* c-typeck.c (c_process_expr_stmt): Skip over nops and
	call mark_exp_read even if exprv is ADDR_EXPR.

	* c-c++-common/Wunused-var-14.c: New test.

From-SVN: r178110
2011-08-26 16:37:22 +02:00
Richard Sandiford
fd3e0a33c7 df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw.
gcc/
	* df-problems.c (df_note_bb_compute): Pass uses rather than defs
	to df_set_dead_notes_for_mw.

From-SVN: r178109
2011-08-26 14:21:19 +00:00
Richard Guenther
315036fe54 varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
2011-08-26  Richard Guenther  <rguenther@suse.de>

	* varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].

From-SVN: r178107
2011-08-26 14:02:28 +00:00
Tom de Vries
3e0694cf75 ivopts-lt.c: New test.
2011-08-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-ssa/ivopts-lt.c: New test.

From-SVN: r178105
2011-08-26 13:38:22 +00:00
Zdenek Dvorak
d8af4ba307 tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
2011-08-26  Zdenek Dvorak  <ook@ucw.cz>
	    Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
	(struct ivopts_data): Add loop_single_exit_p field.
	(niter_for_exit): Change parameter desc_p into return value.  Return
	desc if	desc->may_be_zero.  Free desc if unused.
	(niter_for_single_dom_exit): Change return type.
	(find_induction_variables): Handle changed return type of
	niter_for_single_dom_exit.  Dump may_be_zero.
	(add_candidate_1): Keep original base and step type for IP_ORIGINAL.
	(set_use_iv_cost): Add and handle comp parameter.
	(determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
	comp argument to set_use_iv_cost.
	(strip_wrap_conserving_type_conversions, expr_equal_p)
	(difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
	(may_eliminate_iv): Add comp parameter.  Handle new return type of
	niter_for_exit.  Use loop_single_exit_p.  Use iv_elimination_compare_lt.
	(determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
	and may_eliminate_iv.
	(rewrite_use_compare): Move call to iv_elimination_compare to ...
	(may_eliminate_iv): Here.
	(tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r178104
2011-08-26 13:36:28 +00:00
Tom de Vries
fd1777ca0f tree-pretty-print (dump_generic_node): Test for NULL_TREE before accessing TREE_TYPE.
2011-08-26  Tom de Vries  <tom@codesourcery.com>

	* tree-pretty-print (dump_generic_node): Test for NULL_TREE before
	accessing TREE_TYPE.

From-SVN: r178103
2011-08-26 13:03:58 +00:00
Jiangning Liu
990b31f717 Commit for Jiangning.
Add conditional compare support for Thumb2.

From-SVN: r178102
2011-08-26 12:50:19 +00:00
Jakub Jelinek
8840ae2b09 * rtlanal.c (nonzero_bits1): Handle CLRSB.
From-SVN: r178101
2011-08-26 14:15:25 +02:00
Richard Guenther
321358d4e4 expr.c (string_constant): Handle &MEM_REF.
2011-08-26  Richard Guenther  <rguenther@suse.de>

	* expr.c (string_constant): Handle &MEM_REF.

From-SVN: r178100
2011-08-26 11:23:37 +00:00
Andrew Stubbs
c2b640a7ca arm.c (struct four_ints): New type.
2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm.c (struct four_ints): New type.
	(count_insns_for_constant): Delete function.
	(find_best_start): Delete function.
	(optimal_immediate_sequence): New function.
	(optimal_immediate_sequence_1): New function.
	(arm_gen_constant): Move constant splitting code to
	optimal_immediate_sequence.
	Rewrite constant negation/invertion code.

	gcc/testsuite/
	* gcc.target/arm/thumb2-replicated-constant1.c: New file.
	* gcc.target/arm/thumb2-replicated-constant2.c: New file.
	* gcc.target/arm/thumb2-replicated-constant3.c: New file.
	* gcc.target/arm/thumb2-replicated-constant4.c: New file.

2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm-protos.h (const_ok_for_op): Add prototype.
	* config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
	Remove prototype. Remove static function type.
	* config/arm/arm.md (*arm_addsi3): Add addw/subw support.
	Add arch attribute.
	* config/arm/constraints.md (Pj, PJ): New constraints.

From-SVN: r178099
2011-08-26 09:53:06 +00:00
Ramana Radhakrishnan
58a2bda0e5 Fix scheduling descriptions for smull, smmul and friends on Cortex-A9.
From-SVN: r178098
2011-08-26 08:44:21 +00:00
GCC Administrator
e4680a3ba0 Daily bump.
From-SVN: r178095
2011-08-26 00:18:33 +00:00
Ian Lance Taylor
48ab8ba6b8 Change Bound_method_expression to refer to a constant method.
From-SVN: r178091
2011-08-25 23:14:20 +00:00
Uros Bizjak
2e335040bc * config/i386/i386.md: Do not explicitly set default isa attribute.
From-SVN: r178088
2011-08-25 21:38:57 +02:00
Mikael Morin
d54e80ce32 re PR fortran/50050 (Internal compiler error free_expr0 at expr.c:3709 via gfc_done_2)
2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

	PR fortran/50050
	* expr.c (gfc_free_shape): Do nothing if shape is NULL.
	(free_expr0): Remove redundant NULL shape check.
	* resolve.c (check_host_association): Ditto.
	* trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
	non-NULL.
	* trans-io.c (transfer_array_component): Ditto.

2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

	PR fortran/50050
	* gfortran.dg/pointer_comp_init_1.f90: New test.

From-SVN: r178086
2011-08-25 19:10:06 +00:00
Richard Henderson
42aa5124f7 re PR debug/50132 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fno-asynchronous-unwind-tables and long double)
PR 50132
PR 49864
        * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
        non-constant stack adjutment.
        * expr.c (find_args_size_adjust): Break out from ...
        (fixup_args_size_notes): ... here.
        * rtl.h (find_args_size_adjust): Declare.

From-SVN: r178084
2011-08-25 11:57:48 -07:00
Jason Merrill
0ab71f306c * call.c (convert_like_real): Remove redundant complain checks.
From-SVN: r178082
2011-08-25 14:22:54 -04:00
Jason Merrill
7888350f39 re PR c++/50157 ([C++0x] Non-silent SFINAE in new expression with explicit conversion)
PR c++/50157
	* call.c (convert_like_real): Exit early if bad and !tf_error.

From-SVN: r178081
2011-08-25 14:22:46 -04:00
Uros Bizjak
a02f398da4 i386.md (isa): Add sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
* config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
	sse4 and sse4_noavx.
	(enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
	(*pushdf_rex64): Change Y2 register constraint to x.
	(*movdf_internal_rex64): Ditto.
	(*zero_extendsidi2_rex64): Ditto.
	(*movdi_internal): Change Y2 register constraint to x
	and update "isa" attribute.
	(*pushdf): Ditto.
	(*movdf internal): Ditto.
	(zero_extendsidi2_1): Ditto.
	(*truncdfdf_mixed): Ditto.
	(*truncxfdf2_mixed): Ditto.
	* config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
	register constraint to x.
	(*movv2sf_internal_rex64): Ditto.
	(*mov<mode>_internal): Change Y2 register constraint to x
	and add "isa" attribute.
	(*movv2sf_internal): Ditto.
	(*vec_extractv2si_1): Ditto.
	* config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
	constraints to x and update "isa" attribute.
	(*vec_interleave_highv2df): Change Y3 registerconstraint
	to x and update "isa" attribute.
	(*vec_interleave_lowv2df): Ditto.
	(*vec_concatv2df): Change Y2 register constraint to x and
	update "isa" attribute.
	(sse2_loadld): Ditto.
	(*vec_extractv2di_1): Ditto.
	(*vec_dupv4si): Ditto.
	(*vec_dupv2di): Ditto.
	(*vec_concatv4si): Ditto.
	(vec_concatv2di): Ditto.
	* config/i386/constraints.md (Y2): Remove.
	(Y3): Ditto.
	(Y4): Ditto.

From-SVN: r178073
2011-08-25 19:05:34 +02:00
Tobias Burnus
aa13dc3c93 trans-array.c (gfc_conv_descriptor_token): Add assert.
2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_conv_descriptor_token): Add assert.
        * trans-decl.c (gfc_build_qualified_array,
        create_function_arglist): Handle assumed-shape arrays.
        * trans-expr.c (gfc_conv_procedure_call): Ditto.
        * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
        add "caf_token" to assumed-shape descriptors, new akind argument.
        (gfc_get_array_type_bounds): Pass akind.
        * trans.h (lang_decl): New elements caf_offset and token.
        (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_4.f90: New.

From-SVN: r178069
2011-08-25 18:27:39 +02:00
Tobias Burnus
241e79cfc4 trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components.
2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (structure_alloc_comps): Fix for allocatable
        scalar coarray components.
        * trans-expr.c (gfc_conv_component_ref): Ditto.
        * trans-type.c (gfc_get_derived_type): Ditto.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/alloc_comp_1.f90: New.

From-SVN: r178068
2011-08-25 17:59:40 +02:00
Georg-Johann Lay
3e4c754bbf * config/avr/avr.c (byte_immediate_operand): Remove Function.
From-SVN: r178067
2011-08-25 14:36:01 +00:00