Commit Graph

103514 Commits

Author SHA1 Message Date
Robert Dewar
87003b2853 ali.adb: Set Allocator_In_Body if AB parameter present on M line
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* ali.adb: Set Allocator_In_Body if AB parameter present on M line
	* ali.ads (Allocator_In_Body): New flag
	* bcheck.adb (Check_Consistent_Restrictions): Handle case of main
	program violating No_Allocators_After_Elaboration restriction.
	* gnatbind.adb (No_Restriction_List): Add entries for
	No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
	* lib-load.adb: Initialize Has_Allocator flag
	* lib-writ.adb: Initialize Has_Allocator flag
	(M_Parameters): Set AB switch if Has_Allocator flag set
	* lib-writ.ads: Document AB flag on M line
	* lib.adb (Has_Allocator): New function
	(Set_Has_Allocator): New procedure
	* lib.ads (Has_Allocator): New function
	(Set_Has_Allocator): New procedure
	(Has_Allocator): New flag in Unit_Record
	* sem_ch4.adb (Analyze_Allocator): Add processing for
	No_Allocators_After_Elaboration.

From-SVN: r165171
2010-10-08 14:54:03 +02:00
Arnaud Charlet
0b89eea892 [multiple changes]
2010-10-08  Geert Bosch  <bosch@adacore.com>

	* a-textio.adb (Get_Line): Rewrite to use fgets instead of fgetc.

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

	* sem_prag.adb (Analyze_Pragma): Relax semantic rule of
	Java_Constructors because in the JRE library we generate occurrences
	in which the "this" parameter is not the first formal.

From-SVN: r165170
2010-10-08 14:49:46 +02:00
Arnaud Charlet
bd622b6454 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* par-ch3.adb: Minor reformatting.

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

	* exp_disp.adb (Make_DT): Do not generate dispatch tables for CIL/Java
	types.

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

	* par-ch8.adb (P_Use_Type_Clause): Recognize ALL keyword in Ada 2012
	mode.
	* sinfo.adb (Use_Type_Clause): Add All_Present flag.
	* sinfo.ads (Use_Type_Clause): Add All_Present flag.
	* s-rident.ads: Add entry for No_Allocators_After_Elaboration,
	No_Anonymous_Allocators.

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

	* bindgen.adb (Gen_Restrictions_Ada): No new line after last
	restriction, so that the last comma is always replaced with a left
	parenthesis.

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

	* sem_prag.adb (Analyze_Pragma): Add specific check on the type of the
	first formal of delegates.

From-SVN: r165169
2010-10-08 14:40:25 +02:00
Robert Dewar
3786bbd19b sem_aggr.adb: Minor reformatting.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb: Minor reformatting.

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

	* exp_imgv.adb (Expand_Image_Attribute): Handle special calling
	sequence for soft hyphen for Character'Image case.
	* rtsfind.ads (Image_Character_05): New entry
	* s-imgcha.adb (Image_Character_05): New procedurew
	* s-imgcha.ads (Image_Character_05): New procedure
	* s-imgwch.adb (Image_Wide_Character): Deal with Ada 2005 soft hyphen
	case.
	* s-valcha.adb (Value_Character): Recognize SOFT_HYPHEN for 16#AD#
	* sem_attr.adb (Eval_Attribute, case Width): Handle soft_hyphen name
	properly.

From-SVN: r165168
2010-10-08 14:34:08 +02:00
Javier Miranda
bcae2eaac7 sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of pragmas CIL_Constructor and Java_Constructor.
* sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
	pragmas CIL_Constructor and Java_Constructor.

From-SVN: r165167
2010-10-08 14:30:52 +02:00
Robert Dewar
394860586c sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop for case of Wide_[Wide_]Character.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop
	for case of Wide_[Wide_]Character.

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

	* exp_ch3.adb: Minor reformating
	Minor code reorganization.

From-SVN: r165166
2010-10-08 14:30:30 +02:00
Javier Miranda
fe2eee8e21 sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of pragmas CIL_Constructor and Java_Constructor.
2010-10-08  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
	pragmas CIL_Constructor and Java_Constructor.
	* exp_ch3.adb (Expand_Freeze_Record_Type): Do not generate the
	predefined primitives for CIL/Java tagged types.

From-SVN: r165165
2010-10-08 14:27:41 +02:00
Jonathan Wakely
708f539dd1 re PR libstdc++/45403 (python pretty printer for std::string requires GDB 7.1)
PR libstdc++/45403
	* python/libstdcxx/v6/printers.py: Check for lazy_string support.

From-SVN: r165163
2010-10-08 12:31:56 +01:00
Arnaud Charlet
105b5e659a [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

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

	* gnat1drv.adb: Add call to Validate_Independence.
	* par-prag.adb: Add dummy entries for Independent,
	Independent_Componentsa.
	* sem_ch13.adb (Validate_Independence): New procedure
	(Initialize): Initialize address clause and independence check tables
	* sem_ch13.ads (Independence_Checks): New table
	(Validate_Independence): New procedure
	* sem_prag.adb: Add processing for pragma Independent[_Components]
	* snames.ads-tmpl: Add entries for pragma Independent[_Components]

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

	* sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
	component with box initialization, if the component is a variant record
	use the values of the discriminants to select the proper variant for
	further box initialization.

From-SVN: r165162
2010-10-08 12:51:09 +02:00
Nathan Froyd
fd02e833d8 mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
* config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
	* config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.

From-SVN: r165161
2010-10-08 10:46:38 +00:00
Arnaud Charlet
8779dffad8 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* xsnames.adb: Remove obsolete file.
	* make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.

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

	* exp_aggr.adb: Complete previous change.

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

	* sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
	extended return must match statically the return subtype of the
	enclosing function if the type is an elementary type or if it is
	constrained.

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

	* prj-nmsc.adb (Add_Source): Report all duplicate units and source file
	names.  Do not report the same duplicate unit several times.
	* prj.ads (Source_Data): New Boolean component Duplicate_Unit,
	defaulted to False, to avoid reporting the same unit as duplicate
	several times.

From-SVN: r165160
2010-10-08 12:45:13 +02:00
Arnaud Charlet
094cefda51 [multiple changes]
2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
	others choice is a literal analyze it now to enable later optimizations.
	* exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
	and components can be handled by the backend even if it is of a limited
	type.

2010-10-08  Arnaud Charlet  <charlet@adacore.com>

	* a-rttiev.adb (task Timer): Since this package may be elaborated
	before System.Interrupt, we need to call Setup_Interrupt_Mask
	explicitly to ensure that this task has the proper signal mask.

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

	* freeze.adb (Freeze_Entity): For array case, move some processing for
	pragma Pack, Component_Size clause and atomic/volatile components here
	instead of trying to do the job in Sem_Ch13 and Freeze.
	* layout.adb: Use new Addressable function
	* sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
	Component_Size): Move some handling to freeze point in
	Freeze.Freeze_Entity.
	* sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
	freeze point in Freese.Freeze_Entity.
	* sem_util.ads, sem_util.adb (Addressable): New function.

From-SVN: r165159
2010-10-08 12:32:07 +02:00
Arnaud Charlet
0ac2a66075 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Minor reformatting.

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

	* exp_ch4.adb (Real_Range_Check): Declare temporary as constant.

From-SVN: r165158
2010-10-08 12:25:23 +02:00
Arnaud Charlet
ef23710410 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

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

	* ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
	not a reserved word.
	* prj-proc.adb (Expression): Process string list external references.
	* prj-strt.adb (External_Reference): Parse external_as_list external
	references.
	* prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
	(Set_Expression_Kind_Of): Ditto
	* prj.adb (Initialize): Set external_as_list as a reserved word
	* projects.texi: Document new string external reference external_as_list
	* scans.ads (Token_Type): New token Tok_External_As_List
	* snames.ads-tmpl: New standard name Name_External_As_List

From-SVN: r165157
2010-10-08 12:22:31 +02:00
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