Commit Graph

103600 Commits

Author SHA1 Message Date
Arnaud Charlet 2604ec03c9 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb: Minor reformatting.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Derived_Type_Declaration): In the private part of an
	instance, it is legal to derive from a non-limited actual when the
	formal type is untagged limited.
	* sem_ch12.adb (Instantiate_Type): For a formal private type, use
	analyzed formal as Generic_Parent_Type, to simplify later checks.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Insert_Default): If default value is already a
	raise_constraint_error do not rewrite it as new raise node, to prevent
	infinite loops in the warning removal machinery.

From-SVN: r165156
2010-10-08 12:17:10 +02:00
Arnaud Charlet c86ee18adc [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_prag.adb: Minor reformatting

2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
	Add section on pragma Implemented.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
	concrete parent with a concrete constructor, the inherited constructor
	is abstract even if the derived type is a null extension.

From-SVN: r165155
2010-10-08 12:13:14 +02:00
Arnaud Charlet bfae1846ce [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb: Minor reformatting.

2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
	(Implemented_By_Entry): Removed.
	(Set_Implemented_By_Entry): Removed.
	(Write_Entity_Flags): Remove the output for Implemented_By_Entry.
	* einfo.ads: Remove flag Implemented_By_Entry and its usage in entities.
	(Implemented_By_Entry): Removed along with its associated pragma Inline.
	(Set_Implemented_By_Entry): Removed along with its associated pragma
	Inline.
	* exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
	(Build_Dispatching_Call_Equivalent): New routine.
	(Build_Dispatching_Requeue): New routine.
	(Build_Dispatching_Requeue_To_Any): New routine.
	(Build_Normal_Requeue): New routine.
	(Build_Skip_Statement): New routine.
	(Expand_N_Requeue_Statement): Rewritten. The logic has been split into
	several subroutines.
	* par-prag.adb: Replace Pragma_Implemented_By_Entry by
	Pragma_Implemented.
	* sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
	pragma Implemented.
	(Check_Pragma_Implemented): New routines.
	(Inherit_Pragma_Implemented): New routine.
	* sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
	dispatching requeue.
	* sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
	and adding Implemented.
	(Ada_2012_Pragma): New routine.
	(Analyze_Pragma, case Implemented): Perform all necessary checks
	concerning pragma Implemented and register the pragma as a
	representation item with the procedure_LOCAL_NAME.
	(Analyze_Pragma, case Implemented_By_Entry): Removed.
	* sem_util.adb (Implementation_Kind): New routine.
	* sem_util.ads (Implementation_Kind): New routine.
	* snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
	Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
	add Pragma_Implemented. Add special names By_Any, By_Entry and
	By_Protected_Procedure.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
	variable Has_Static_DT by invocation of function Building_Static_DT.

2010-10-08  Vincent Celier  <celier@adacore.com>

	* g-dirope.adb (Remove_Dir): Do not change the current directory when
	doing a recursive remove of a subdirectory.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.ad (Freeze_Subprogram): Factorize code.
	* exp_disp.adb (Make_Secondary_DT): Factorize code.
	(Make_DT): Factorize code.

From-SVN: r165154
2010-10-08 12:04:58 +02:00
Robert Dewar 40b93859aa sem_ch4.adb: Minor reformatting.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb: Minor reformatting.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Check_Conformance): Check null exclusion match for full
	conformance.

From-SVN: r165153
2010-10-08 11:46:51 +02:00
Arnaud Charlet d7bab7e6c7 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
	consistency with Gen_T in Instantiate_Type.
	Introduce constant A_Gen_Obj to avoid repeated queries for
	Defining_Identifier (Analyzed_Formal).

2010-10-08  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb: Minor comment fix.

From-SVN: r165152
2010-10-08 11:40:32 +02:00
Paolo Carlini 135a0d0ac5 future (uses_allocator<packaged_task<>,>): Add; minor formatting tweaks.
2010-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (uses_allocator<packaged_task<>,>): Add;
	minor formatting tweaks.

From-SVN: r165151
2010-10-08 09:22:16 +00:00
Alexandre Oliva 5f262d1320 re PR debug/45656 (gfortran.dg/forall_4.f90 -O3, wrong code with -g)
PR debug/45656
* cse.c (cse_extended_basic_block): Preserve cc0 info across
debug isnsn.  Skip them when searching for cc0 setter.
(set_live_p): Skip debug insns when searching for cc0 user.

From-SVN: r165150
2010-10-08 04:41:14 +00:00
Alexandre Oliva 7de9e0a108 re PR debug/45673 (-fcompare-debug failure with minor difference in dumps)
PR debug/45673
PR debug/45604
PR debug/45419
PR debug/45408
* tree-pretty-print.c (dump_generic_node): Explicitly dump the
type of MEM_REFs to INTEGER_CSTs.

From-SVN: r165149
2010-10-08 04:40:59 +00:00
Nathan Froyd 5bd84829f7 m68hc11.c (m68hc11_print_operand): Call m68hc11_print_operand_address.
* config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
	m68hc11_print_operand_address.

From-SVN: r165148
2010-10-08 01:47:33 +00:00
Jonathan Wakely d3ec3e15d3 future: Enable allocator support.
* include/std/future: Enable allocator support.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Expect PASS.
	* testsuite/30_threads/promise/cons/alloc.cc: Expect PASS.

From-SVN: r165147
2010-10-08 02:06:27 +01:00
Nathan Froyd 43ea30dc94 builtins.c (rewrite_call_expr): Move code to...
* builtins.c (rewrite_call_expr): Move code to...
	(rewrite_call_expr_valist): ...here.  Call
	build_call_expr_loc_array.
	(rewrite_call_expr_array): New function.
	(fold_builtin_sprintf_chk_1): New function.
	(fold_builtin_sprintf_chk): Call it.
	(gimple_fold_builtin_sprintf_chk): Likewise.
	(fold_builtin_snprintf_chk_1): New function.
	(fold_builtin_snprintf_chk): Call it.
	(gimple_fold_builtin_snprintf_chk): Likewise.
	(gimple_rewrite_call_expr): Delete.

From-SVN: r165146
2010-10-08 01:06:14 +00:00
Jan Hubicka 937f7f69bc * lto.c (lto_balanced_map): Fix accounting of program size.
From-SVN: r165145
2010-10-08 00:50:24 +00:00
Jonathan Wakely 1b3fad8156 re PR libstdc++/45893 ([C++0x] [DR 817] Finish updating std::bind to rvalue refs)
2010-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45893
	* include/std/functional (bind): Implement DR 817 and add support
	for volatile-qualified call wrappers.
	* include/std/mutex (call_once): Implement DR 891.
	* include/std/thread (thread::thread): Implement DR 929.
	* include/std/future: Optimise use of std::bind.
	* testsuite/20_util/bind/cv_quals.cc: Test volatile-qualification.
	* testsuite/20_util/bind/move.cc: New.

From-SVN: r165144
2010-10-08 01:44:12 +01:00
GCC Administrator 65d09bfe2a Daily bump.
From-SVN: r165142
2010-10-08 00:18:56 +00:00
Nicola Pero c154b3d8a1 In gcc/testsuite/: 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

        * obj-c++.dg/encode-10.mm: New testcase.

In gcc/cp/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

        * cp-tree.def: Changed type of AT_ENCODE_EXPR from tcc_unary to
        tcc_expression.
        * cxx-pretty-print.c (pp_cxx_unary_expression): Added case for
        AT_ENCODE_EXPR.
        * error.c (dump_expr): Added case for AT_ENCODE_EXPR.
        * pt.c (tsubst_copy): Added case for AT_ENCODE_EXPR.
        (value_dependent_expression_p): Added case for AT_ENCODE_EXPR.
        (type_dependent_expression_p): Added case for AT_ENCODE_EXPR.
        * parser.c (cp_parser_objc_encode_expression): Updated comment.

From-SVN: r165138
2010-10-07 22:34:50 +00:00
Nicola Pero 2fb996b6d2 In gcc/testsuite/: 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

       PR objc++/23614
       * obj-c++.dg/lookup-2.mm: Do not assign 'nil' to a pointer to a
       C++ class.  Removed XFAIL.

From-SVN: r165137
2010-10-07 22:26:43 +00:00
Hans-Peter Nilsson 599fdf0ca5 re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
PR libstdc++/45841
	* testsuite/lib/libstdc++.exp (check_v3_target_fileio): Rewrite to
	use an actual testsuite file and machinery, not ".".  Specifically
	check that incorrectly seeking backwards from 0 yields an error,
	and that reading, seeking backwards and reading again works.

From-SVN: r165136
2010-10-07 21:46:51 +00:00
Hans-Peter Nilsson 38851a969d conformance.exp: Apply check_v3_target_fileio as a gate for tests in subdirectories matching the...
* testsuite/libstdc++-dg/conformance.exp: Apply
	check_v3_target_fileio as a gate for tests in
	subdirectories matching the substring _filebuf.

From-SVN: r165135
2010-10-07 21:44:36 +00:00
Dave Korn 39604ffed7 config.host: Update copyright year.
* config.host: Update copyright year.

From-SVN: r165134
2010-10-07 21:04:47 +00:00
Dave Korn 1cd0b7167e configure.ac (build_lto_plugin): New shell variable.
ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac (build_lto_plugin): New shell variable.
	(--enable-lto): Turn on by default for all non-ELF platforms that
	have had LTO support added so far.  Set build_lto_plugin appropriately
	for both ELF and non-ELF.
	(configdirs): Add lto-plugin or not based on build_lto_plugin.
	* configure: Regenerate.

gcc/ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* config.host (host_lto_plugin_soname): New shell variable.
	* configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
	* config.in: Regenerate.
	* configure: Regenerate.
	* gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
	LTO plugin shared library.

lto-plugin/ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac: Source config.gcc to determine lto_binary_reader.
	(LTO_FORMAT): New AC_SUBST variable inferred from lto_binary_reader.
	* Makefile.am (LTO_FORMAT): Import.
	(liblto_plugin_la_SOURCES): Add object format dependent module
	defined by LTO_FORMAT.
	(liblto_plugin_la_LIBADD): Allow for both PIC and non-PIC libiberty,
	and work around libtool warning.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* lto-plugin.c (struct sym_aux): Move to new lto-plugin.h.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(LTO_SECTION_PREFIX): Likewise.
	(add_symbols):  Make non-static.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	(check): Likewise.
	(parse_table_entry): Likewise.
	(translate): Likewise.
	(resolve_conflicts): Likewise.
	(process_symtab): Move to new lto-plugin-elf.c object format dependent
	source file.
	(claim_file_handler): Likewise, and make non-static.
	(onload): Call new onload_format_checks function.
	* lto-plugin.h: New file.
	(LTO_SECTION_PREFIX): Move here.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(claim_file_handler): Add new function prototype.
	(onload_format_checks): Likewise.
	(check): Declare extern.
	(translate): Likewise.
	(parse_table_entry): Likewise.
	(resolve_conflicts): Likewise.
	(add_symbols):  Likewise.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	* lto-plugin-elf.c (process_symtab): Move here.
	(claim_file_handler): Likewise, and make non-static.
	(onload_format_checks): New function factored out from onload.
	* lto-plugin-coff.c (claim_file_handler): New function stub.
	(onload_format_checks): Likewise.

From-SVN: r165133
2010-10-07 20:28:59 +00:00
Richard Henderson 6ba74c2d19 Move enum unwind_info_type from target.h to coretypes.h.
From-SVN: r165131
2010-10-07 13:03:13 -07:00
Ralf Wildenhues d4c1abb35d Fixup botched sync of toplevel configure from src.
/:
	Sync from src:
	* configure.ac (v850 support): Remove target-libgloss from
	noconfigdirs.
	* configure: Regenerate.

From-SVN: r165130
2010-10-07 19:26:41 +00:00
Nicola Pero 038d22b6c8 In gcc/: 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

        * doc/objc.texi (Fast enumeration protocol): Mention that
        'unsigned int' can also be used instead of 'unsigned long' in
        countByEnumeratingWithState:objects:count:.

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

        PR objc/45925
        * objc-act.c (objc_finish_foreach_loop): Convert return value of
        countByEnumeratingWithState:objects:count: to long unsigned int.

From-SVN: r165129
2010-10-07 18:37:43 +00:00
Janus Weil 061e60bd78 re PR fortran/45933 ([OOP] ICE in gfc_add_component_ref, at fortran/class.c:77)
2010-10-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45933
	* resolve.c (resolve_typebound_function): Use correct declared type
	for type-bound operators.


2010-10-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45933
	* gfortran.dg/typebound_operator_5.f03: New.

From-SVN: r165126
2010-10-07 19:35:18 +02:00
Nicola Pero 3cfa8f8272 In gcc/cp/: 2010-10-07 Nicola Pero <nicola@nicola.brainstorm.co.uk>
In gcc/cp/:
2010-10-07  Nicola Pero  <nicola@nicola.brainstorm.co.uk>

        Merge from apple/trunk branch on FSF servers.

        2006-04-26  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4508851
        * parser.c (cp_parser_objc_interstitial_code): Recognize
        and parse RID_NAMESPACE keyword.

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

        Merge from 'apple/trunk' branch on FSF servers.

        2006-04-26  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4508851
        * obj-c++.dg/method-namespace-1.mm: New.

From-SVN: r165125
2010-10-07 17:17:22 +00:00
Martin Jambor fc37536b9d tree-sra.c (struct access): New field grp_assignment_write.
2010-10-07  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (struct access): New field grp_assignment_write.
	(dump_access): Dump grp_assignment_write.
	(build_accesses_from_assign): Set grp_assignment_write.
	(sort_and_splice_var_accesses): Aggregate grp_assignment_write.
	(mark_read_status): Renamed to mark_rw_status, individual values
	renamed too.
	(analyze_access_subtree): Changed type of mark_write to
	mark_read_status.  Fixed propagating of mark_read and
	mark_write.  Changed benefit estimate.  Updated comment.

	* testsuite/gcc.dg/tree-ssa/sra-11.c: New test.

From-SVN: r165124
2010-10-07 18:15:46 +02:00
Tejas Belagod d163c4f757 tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL check for vectype_out returned by get_vectype_for_scalar_type().
gcc/

2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>

	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
	check for vectype_out returned by get_vectype_for_scalar_type().

testsuite/

2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>

	* gcc.dg/vect/pr45847.c: New test.

From-SVN: r165123
2010-10-07 17:07:21 +01:00
Tejas Belagod 7f27ec08af re PR target/45805 (VFP/Neon double precision register expected -- `vmovl.s16 q2,s8)
2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>

	PR target/45805
        * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
        constraint, add register specifier in instruction template.
        (neon_vec_pack_trunc_<mode>): Likewise.
        (neon_vec_<US>mult_<mode>): Add register specifier to
        instruction template.

From-SVN: r165122
2010-10-07 17:00:06 +01:00
Iain Sandoe 58be5bf69d fix for targets with different long and ptr sizes.
* objc.dg/proto-lossage-4.m: Use intptr_t instead of long type.


Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>

From-SVN: r165121
2010-10-07 15:28:06 +00:00
Richard Guenther fa45f8d7f2 re PR tree-optimization/45732 (ICE: in bit_value_unop, at tree-ssa-ccp.c:1861 at -O1)
2010-10-07  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45732
	* gcc.dg/torture/pr45732.c: New testcase.

From-SVN: r165120
2010-10-07 15:00:18 +00:00
Dave Korn 3edeb30d04 config.gcc (c_target_objs): Don't add cygwin2.o.
* config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
	cygwin2.o.
	(cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
	(extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
	* config/i386/t-cygwin (cygwin1.o): Delete build rule.
	(cygwin2.o): Likewise.
	* config/i386/cygwin1.c: Delete file.
	* config/i386/cygwin2.c: Likewise.
	* config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
	make all {%!mno-cygwin} ones unconditional.
	(STARTFILE_SPEC): Likewise.
	(REAL_LIBGCC_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(CXX_WRAP_SPEC): Likewise.
	(LINK_SPEC): Likewise.
	(CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
	(CYGWIN_MINGW_SUBDIR_LEN): Likewise.
	(cygwin_gplusplus_include_dir): Delete now-unused array.
	(GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_gplusplus_tool_include_dir): Delete now-unused array.
	(GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_gplusplus_backward_include_dir): Delete now-unused array.
	(GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_local_include_dir): Delete now-unused array.
	(LOCAL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_cross_include_dir): Delete now-unused array.
	(CROSS_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_tool_include_dir): Delete now-unused array.
	(TOOL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_standard_include_dir): Delete now-unused array.
	(STANDARD_INCLUDE_DIR): Don't redefine to point to it.
	(GEN_CVT_ARRAY): Delete now-unused macro definition.
	(cvt_to_mingw): Delete now-unused array.
	(mingw_scan): Remove prototype of deleted function.
	(GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
	* config/i386/cygming.opt (mcygwin): Delete target-specific option.
	* doc/invoke.texi (-mcygwin): Don't document removed option.
	(-mno-cygwin): Likewise.

From-SVN: r165119
2010-10-07 14:44:47 +00:00
Iain Sandoe a4c37c1616 foreach-1.m: Adjust for -fnext-runtime compatibility.
gcc/testsuite:

	* objc.dg/foreach-1.m: Adjust for -fnext-runtime compatibility.
	* objc.dg/foreach-2.m: Likewise.
	* objc.dg/foreach-3.m: Likewise.
	* objc.dg/foreach-4.m: Likewise.
	* objc.dg/foreach-5.m: Likewise.
	* objc.dg/foreach-6.m: Likewise.
	* objc.dg/foreach-7.m: Likewise.
	* objc.dg/objc-foreach-4.m: Likewise.
	* objc.dg/objc-foreach-5.m: Likewise.

From-SVN: r165117
2010-10-07 14:40:33 +00:00
Richard Guenther bb67d9c7ce machmode.h (mode_for_vector): Declare.
2010-10-07  Richard Guenther  <rguenther@suse.de>

	* machmode.h (mode_for_vector): Declare.
	* stor-layout.c (mode_for_vector): New function, split out from ...
	(layout_type): ... here.
	* tree-vectorizer.h (current_vector_size): Declare.
	* tree-vect-stmts.c (perm_mask_for_reverse): Check if the
	mask vector type is available.
	(get_vectype_for_scalar_type): Rename to ...
	(get_vectype_for_scalar_type_and_size): ... this.  Get a vector
	size argument.
	(get_vectype_for_scalar_type): New wrapper around
	get_vectype_for_scalar_type_and_size using current_vector_size.
	(get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
	* tree-vect-loop.c (vect_analyze_loop_2): Split out core part
	of vect_analyze_loop here.
	(vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
	* tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
	to autodetect.
	* config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
	V8SF to V8SI conversion builtin.

From-SVN: r165116
2010-10-07 14:36:38 +00:00
Richard Guenther 767f865fb8 target.def (autovectorize_vector_sizes): New target hook.
2010-10-07  Richard Guenther  <rguenther@suse.de>

	* target.def (autovectorize_vector_sizes): New target hook.
	* targhooks.c (default_autovectorize_vector_sizes): New function.
	* targhooks.h (default_autovectorize_vector_sizes): Declare.
	* doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
	Document.
	* doc/tm.texi: Update.
	* config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.

From-SVN: r165115
2010-10-07 14:35:38 +00:00
Richard Guenther cc4b517087 target.def (units_per_simd_word): Rename to ...
2010-10-07  Richard Guenther  <rguenther@suse.de>

	* target.def (units_per_simd_word): Rename to ...
	(preferred_simd_mode): ... this.  Return mode instead of size.
	* targhooks.c (default_units_per_simd_word): Rename to ...
	(default_preferred_simd_mode): ... this.  Return word_mode.
	* targhooks.h (default_preferred_simd_mode): Declare.
	* config/arm/arm.c (arm_units_per_simd_word): Rename to ...
	(arm_preferred_simd_mode): ... this.  Re-implement.
	* config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
	(ix86_preferred_simd_mode): ... this.  Re-implement.
	* config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
	(sparc_preferred_simd_mode): ... this.  Re-implement.
	* config/mips/mips.c (mips_units_per_simd_word): Rename to ...
	(mips_preferred_simd_mode): ... this.  Re-implement.
	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
	(rs6000_preferred_simd_mode): ... this.  Re-implement.
	* tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
	* doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
	* doc/tm.texi: Update.

From-SVN: r165114
2010-10-07 14:34:44 +00:00
Richard Guenther 65dcb90121 re PR middle-end/45869 (type mismatch in shift expression produces ice with -O3 and -m32)
2010-10-07  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45869
	* tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
	of pointers.

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

From-SVN: r165113
2010-10-07 14:32:20 +00:00
Iain Sandoe 7427ba36d5 vec-ify ObjC* build_objc_method_call()
gcc/objc:
	* objc-act.c (build_objc_method_call): Replace calls to 
	build_function_call () with the VEC equivalent.  Construct parameter
	lists as VECs.

From-SVN: r165112
2010-10-07 14:22:27 +00:00
Iain Sandoe fd6510698d do not emit bogus set-not-used warnings for objc* entities used as message receivers.
gcc/objc:
	* objc-act.c (objc_build_message_expr):  Call mark_exp_read () to signal that
	the receiver has been used.
gcc/testsuite:
	* objc.dg/set-not-used-1.m: New
	* obj-c++.dg/set-not-used-1.mm: New.

From-SVN: r165111
2010-10-07 14:05:24 +00:00
Arnaud Charlet 518ade91f4 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
	* gcc-interface/Make-lang.in: Update dependencies.

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
	unit, if the type of the formal is declared in a parent unit and is not
	a formal itself, the actual must be located from an enclosing parent
	instance by normal visibility.

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
	indicator is illegal for an uninitialized allocator.

From-SVN: r165110
2010-10-07 15:59:38 +02:00
Iain Sandoe 4e4edb3b3a fix cut & paste error in cp/parser and add testscases in case of fture error.
gcc/cp:

	parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after
	finding ellipsis, before checking for attributes.

testsuite:

	* objc.dg/attributes/method-attribute-3.m: New.
	* obj-c++.dg/attributes/method-attribute-3.mm: New.

From-SVN: r165109
2010-10-07 13:51:38 +00:00
Arnaud Charlet feab35499e [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Attribute_Definition_Clause, case
	Component_Size): Complete previous change.

2010-10-07  Vincent Celier  <celier@adacore.com>

	* scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
	even for keywords, to avoid having the checksum to depend on the Ada
	version.

2010-10-07  Gary Dismukes  <dismukes@adacore.com>

	* sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
	exp_ch3.adb: Minor reformatting.

From-SVN: r165106
2010-10-07 15:26:02 +02:00
Arnaud Charlet ffdb3d3bfc [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	Component_Size): It is now illegal to give an incorrect component size
	clause in the case of aliased or atomic components.
	* sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
	an effective pragma Pack in the case of aliased or atomic components.

2010-10-07  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
	in the case of a violation of an active No_Task_Hierarchy restriction.

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
	type is non-limited, an actual for it cannot be limited.

From-SVN: r165105
2010-10-07 15:21:42 +02:00
Arnaud Charlet 8da337c502 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* einfo.ads (No_Pool_Assigned): Update documentation.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	Storage_Size): We only set No_Pool_Assigned if the expression is a
	static constant and zero.
	* sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
	should be an error not a warning.

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
	where an aggregate in an assignment can be built directly into the
	target, and does not require the creation of a temporary that may
	overflow the stack.

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
	in a record aggregate can correspond to several components of
	anonymous access types, as long as the designated subtypes match.

From-SVN: r165104
2010-10-07 15:06:22 +02:00
Robert Dewar dcffd51576 gnat_rm.texi, [...]: Change spelling parametrize(d) => parameterize(d).
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
	sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
	restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
	spelling parametrize(d) => parameterize(d).

From-SVN: r165103
2010-10-07 14:59:00 +02:00
Robert Dewar 2bfb1b72be sem_ch12.adb: Add comment.
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Add comment.
	* sem_ch6.adb: Minor reformatting.

From-SVN: r165102
2010-10-07 14:52:01 +02:00
Alan Modra a557f9cc0e rs6000.c (rs6000_emit_prologue): Use gen_int_mode rather than sign extension by hand.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
	rather than sign extension by hand.

From-SVN: r165101
2010-10-07 23:17:52 +10:30
Arnaud Charlet 2e79de51b0 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
	Pexp to Pf_Rec constants
	(P_Subprogram): Expression is always enclosed in parentheses
	* par.adb (Pf_Rec): add Pexp flag for parametrized expression
	* sinfo.ads (N_Parametrized_Expression): Expression must be in parens

2010-10-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
	checks on functions that return an abstract type or have a controlling
	result whose designated type is an abstract type.
	(Check_Private_Overriding): Implement Ada2012 checks on functions
	declared in the private part, if an abstract type is involved.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
	reject a generic function that returns an abstract type.
	* exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
	function has a controlling access result, check that the tag of the
	return value matches the designated type of the return expression.

From-SVN: r165100
2010-10-07 14:45:48 +02:00
Arnaud Charlet da7d70aae3 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* par-ch6.adb: Fix error in handling of parametrized expressions.
	* par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
	mode.
	(P_Simple_Expression): Better message for qualified expression prefix
	* s-crc32.adb: Minor reformatting.
	* exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
	storage pool (this test is moved to Sem_Intr).
	* sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
	empty storage pool, moved here from Exp_Intr and made into error.
	(Check_Intrinsic_Call): Remove assumption in generating not-null free
	warning that the name of the instantiation is Free.
	* sinput.adb (Tree_Read): Document use of illegal free call allowed in
	GNAT mode.
	* types.ads: Remove storage size clauses from big types (since we may
	need to do deallocations, which are now illegal for empty pools).

2010-10-07  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Add missing word.

From-SVN: r165099
2010-10-07 14:37:10 +02:00
Robert Dewar ad110ee887 exp_util.adb (Insert_Actions): Add handling of N_Parametrized_Expression.
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Insert_Actions): Add handling of
	N_Parametrized_Expression.
	* par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
	* sem.adb: Add entry for N_Parametrized_Expression
	* sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
	* sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
	* sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
	* sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
	* par-ch4.adb: Minor reformatting.

From-SVN: r165098
2010-10-07 14:33:30 +02:00
Arnaud Charlet 2385e00749 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* scng.adb (Skip_Other_Format_Characters): New procedure
	(Start_Of_Wide_Character): New procedure
	(Scan): Use Start_Of_Wide_Character where appropriate
	(Scan): Improve error message for other_format chars in identifier
	(Scan): Allow other_format chars between tokens

2010-10-07  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
	Add missing support for explicit dereferences.

2010-10-07  Robert Dewar  <dewar@adacore.com>

	* par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.

From-SVN: r165097
2010-10-07 14:24:31 +02:00