1. 19 Oct, 2010 12 commits
  2. 18 Oct, 2010 28 commits
    • In gcc/testsuite/: 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> · 2a613cff
      In gcc/testsuite/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
      
              2006-03-16 Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4293709
              * objc.dg/proto-init-mimatch-1.m: New.
              * obj-c++.dg/proto-init-mimatch-1.mm: New.
      
      From-SVN: r165668
      Nicola Pero committed
    • In gcc/: 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> · da57d1b9
      In gcc/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented parsing @synthesize and @dynamic for Objective-C.
              * c-parser.c (c_parser_external_declaration): Recognize
              RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
              (c_parser_objc_at_synthesize_declaration): New.
              (c_parser_objc_at_dynamic_declaration): New.
      
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * c-parser.c (c_parser_objc_class_declaration): After finding an
              error, parse the whole declaration then reset parser->error.
      
      In gcc/cp/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented parsing @synthesize and @dynamic for Objective-C++.
              * parser.c (cp_parser_objc_method_definition_list): Recognize
              RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
              (cp_parser_objc_at_dynamic_declaration): New.
              (cp_parser_objc_at_synthesize_declaration): New.
      
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * parser.c (cp_parser_objc_identifier_list): Check the return
              value of cp_parser_identifier and react if it is error_mark_node.
      
      In gcc/objc/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented parsing @synthesize and @dynamic for
              Objective-C/Objective-C++.
              * objc-act.c (objc_add_synthesize_declaration): New.
              (objc_add_dynamic_declaration): New.
      
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc-act.c (lookup_and_install_protocols): Return NULL if passed
              error_mark_node.
      
      In gcc/testsuite/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented parsing @synthesize and @dynamic for
              Objective-C/Objective-C++.
              * objc.dg/property/dynamic-1.m: New.
              * objc.dg/property/synthesize-1.m: New.
              * obj-c++.dg/property/dynamic-1.mm: New.
              * obj-c++.dg/property/synthesize-1.mm: New.
      
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc.dg/at-class-1.m: New.
              * objc.dg/at-class-1.mm: New.
      
      From-SVN: r165667
      Nicola Pero committed
    • Fix PR 46041 · 0069111f
      From-SVN: r165666
      Michael Meissner committed
    • 920625-1.c: Remove dg-prune-output lines. · cd9c769a
      2010-10-18  Steve Ellcey  <sje@cup.hp.com>
      
      	* gcc.c-torture/compile/920625-1.c: Remove dg-prune-output lines.
      
      From-SVN: r165665
      Steve Ellcey committed
    • re PR target/36898 (Insufficient qp-mutex declarations) · 89774469
      2010-10-18  Steve Ellcey  <sje@cup.hp.com>
      
      	PR target/36898
      	PR middle-end/43760
      	* config/ia64/ia64.c (rws_access_regno): Remove predicate check.
      
      From-SVN: r165664
      Steve Ellcey committed
    • i386.c (ix86_option_override_internal): Define and use USE_X86_64_FRAME_POINTER… · b69da3d8
      i386.c (ix86_option_override_internal): Define and use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer default.
      
      	* config/i386/i386.c (ix86_option_override_internal): Define and
      	use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
      	default.
      	* config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
      	(USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
      
      From-SVN: r165660
      Joseph Myers committed
    • In gcc/objc/: 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> · fd4e428a
      In gcc/objc/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
      
              2006-03-10  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4407151
              * objc/objc-act.c (objc_is_class_name): template parameter is not
              an objective class name.
              (objc_generate_cxx_cdtors): Check for the null
              objc_implementation_context.
      
      In gcc/testsuite/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
      
              2006-01-17  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4407151
              * obj-c++.dg/template-7.mm: New.
      
      From-SVN: r165657
      Nicola Pero committed
    • In gcc/: 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> · 71fc71d8
      In gcc/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers. 
              * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
              following Objective-C change:
      
              2005-10-10  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4301047
              * c-parse.in (objc_quals): Build objc qualifier list same way
              as gcc-3.3
              
      In gcc/testsuite/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc.dg/proto-qual-1.m: Adjust test for GNU runtime to match
              bugfix.
      
      From-SVN: r165656
      Nicola Pero committed
    • ipa.c (cgraph_externally_visible_p, [...]): Revert accidental commit. · 7ba6eb1e
      	* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
      	function_and_variable_visibility): Revert accidental commit.
      
      From-SVN: r165655
      Jan Hubicka committed
    • In gcc/: 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> · e426b47b
      In gcc/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
              * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
              the following Objective-C change:
      
              2005-10-07  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4204796
              * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
              'volatilized' type used in a typeof operator.
      
      In gcc/c-family/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
              
              2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4330422
              * c-common.h (objc_non_volatilized_type): New declaration
              * stub-objc.c (objc_non_volatilized_type): New stub.
      
      In gcc/cp/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
              
              Merge from apple/trunk branch on FSF servers.
              
              2005-03-01 Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4451818
              * call.c (standard_conversion, implicit_conversion): Ignore
              'volatile' attribute of artificially volatized type in objc when
              evaluating various conversion weights.
      
              2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4330422
              * typeck.c (comp_ptr_ttypes_real): Remove the hack. un-volatize the
              artiificially 'volatized' type before doing pointer comparison.
              
      In gcc/objc/:
      2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Merge from 'apple/trunk' branch on FSF servers.
              
              2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4330422
              * objc/objc-act.c (objc_non_volatilized_type): New
      
              2005-10-07  Fariborz Jahanian <fjahanian@apple.com>
              
              Radar 4204796
              * objc-act.c (objc_build_volatilized_type): Build 'volatilzed'
              types with proper attribute set and correctly.
              (objc_volatilize_decl): Remove unneeded code.
              (objc_type_quals_match): Use the new attribute to check on
              'volatilzed' type.
              (hash_init): removed unneeded code.
              
      In gcc/testsuite/:
      2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
              
              Merge from 'apple/trunk' branch on FSF servers.
      
              2005-03-01 Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4451818
              * obj-c++.dg/try-catch-16.mm: New.
              * obj-c++.dg/try-catch-17.mm: New.
      
              2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4330422
              * obj-c++.dg/try-catch-15.mm: New
      
              2005-10-07  Fariborz Jahanian <fjahanian@apple.com>
      
              Radar 4204796
              * obj-c++.dg/try-catch-12.mm: New
              * obj-c++.dg/try-catch-13.mm: New
              * obj-c++.dg/try-catch-14.mm: New
              * objc.dg/try-catch-11.m: New
              * objc.dg/try-catch-12.m: New
              * objc.dg/try-catch-13.m: New
      
      From-SVN: r165654
      Nicola Pero committed
    • re PR libstdc++/45866 ([C++0x] std::ratio_add, ratio_sub, ratio_multiply,… · e1d4e035
      re PR libstdc++/45866 ([C++0x] std::ratio_add, ratio_sub, ratio_multiply, ratio_divide do not have num and den members.)
      
      2010-10-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/45866
      	* include/std/ratio (ratio<>::type): Add.
      	(ratio_add<>::num, ratio_add<>::den,
      	ratio_subtract<>::num, ratio_subtract<>::den,
      	ratio_multiply<>::num, ratio_multiply<>::den,
      	ratio_divide<>::num, ratio_divide<>::den): Likewise.
      	* testsuite/20_util/ratio/operations/45866.cc: New.
      
      From-SVN: r165649
      Paolo Carlini committed
    • tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare. · 30fd5881
      	* tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
      	* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
      	rewrite modelled on gimple_purge_dead_eh_edges.
      	(gimple_purge_all_dead_abnormal_call_edges): New function.
      	* tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
      	directly instead of through gimple_purge_dead_abnormal_call_edges.
      	* tree-ssa-pre.c (need_ab_cleanup): New static variable.
      	(eliminate): Set bit in need_ab_cleanup for the basic block if we have
      	removed AB side-effects from one of its statements.
      	(init_pre): Initialize need_ab_cleanup.
      	(fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
      	are set in need_ab_cleanup.  Free need_ab_cleanup afterward.
      
      From-SVN: r165646
      Eric Botcazou committed
    • re PR c/46015 (-Wunused-but-set-variable warns for arrays used in gotos) · 84628aa8
      	PR c/46015
      	* c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
      	on computed goto argument.
      
      	* semantics.c (finish_goto_stmt): Call mark_rvalue_use on computed
      	goto destination.
      
      	* c-c++-common/Wunused-var-13.c: New test.
      
      From-SVN: r165643
      Jakub Jelinek committed
    • re PR tree-optimization/45967 (gcc-4.5.x optimizes code with side-effects away) · 0f8d6231
      2010-10-18  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/45967
      	* tree-ssa-structalias.c (type_could_have_pointers): Remove.
      	(could_have_pointers): Likewise.
      	(handle_rhs_call, handle_const_call, handle_pure_call,
      	find_func_aliases, intra_create_variable_infos): Remove calls to them.
      	(struct fieldoff): Add must_have_pointers field.
      	(type_must_have_pointers): New function.
      	(field_must_have_pointers): Likewise.
      	(push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
      	Adjust field merging.
      	(create_function_info_for): May-have-pointers of varinfo is
      	almost always true.
      	(create_variable_info_for_1): Likewise.
      
      	* gcc.dg/torture/pr45967.c: New testcase.
      	* gcc.dg/ipa/ipa-pta-10.c: Adjust.
      	* gcc.dg/ipa/ipa-pta-13.c: Likewise
      	* gcc.dg/torture/pr39074-2.c: Likewise
      	* gcc.dg/torture/pta-escape-1.c: Likewise
      	* gcc.dg/torture/pta-ptrarith-1.c: Likewise
      	* gcc.dg/tree-ssa/pta-callused.c: Likewise
      	* gcc.dg/tree-ssa/pta-escape-1.c: Likewise
      	* gcc.dg/tree-ssa/pta-escape-2.c: Likewise
      	* gcc.dg/tree-ssa/pta-escape-3.c: Likewise
      	* gcc.dg/tree-ssa/ssa-pre-21.c: Likewise
      
      From-SVN: r165641
      Richard Guenther committed
    • re PR lto/45638 (No rule to make target `check-lto', needed by `check'. Stop.) · 1915c739
      	PR lto/45638
      	* Make-lang.in (check-lto): New dummy target.
      
      From-SVN: r165638
      Jakub Jelinek committed
    • [multiple changes] · fab2daeb
      2010-10-18  Bob Duff  <duff@adacore.com>
      
      	* sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
      	correct, and to be in a more convenient order.
      	(Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
      	recording the Default_Storage_Pool for a parent library unit.
      	* einfo.ads (Etype): Document the case in which Etype can be Empty.
      	* sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
      	Default_Storage_Pool pragma.
      	* sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
      	* gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
      	pragma.
      	* freeze.adb (Freeze_Entity): When freezing an access type, take into
      	account any Default_Storage_Pool pragma that applies. We have to do
      	this at the freezing point, because up until that point, a Storage_Pool
      	or Storage_Size clause could occur, which should override the
      	Default_Storage_Pool.
      	* par-prag.adb: Add this pragma to the list of pragmas handled entirely
      	during semantics.
      	* sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
      	Default_Storage_Pool information.
      	* opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
      	currently-applicable Default_Storage_Pool pragmas.
      	* opt.adb: Save/restore the globals as appropriate.
      	* snames.ads-tmpl (Name_Default_Storage_Pool,
      	Pragma_Default_Storage_Pool): New pragma name.
      
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Switches_Of): Put the spec and body suffix in canonical
      	case.
      
      From-SVN: r165637
      Arnaud Charlet committed
    • [multiple changes] · 6191e212
      2010-10-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
      	library level, the pre/postconditions must be treated as global
      	declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
      	* freeze.adb (Freeze_Expression): If the expression is at library level
      	there is no enclosing record to check.
      
      2010-10-18  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.ads (Find_Type_Name): Add documentation.
      	* sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
      	propagation of the class-wide entity is now done by routine
      	Find_Type_Name to factorize this code.
      	(Analyze_Private_Extension_Declaration): Handle private type that
      	completes an incomplete type.
      	(Tag_Mismatch): Add error message for tag mismatch in a private type
      	declaration that completes an incomplete type.
      	(Find_Type_Name): Handle completion of incomplete type by means of
      	a private declaration. Generate an error if a tagged incomplete type
      	is completed by an untagged private type.
      	* sem_ch7.adb (New_Private_Type): Handle private type that completes an
      	incomplete type.
      	* einfo.ads (Full_View): Add documentation.
      
      2010-10-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
      	a renaming, generate a reference for it before analyzing the renamed
      	entity, to prevent spurious warnings.
      
      From-SVN: r165636
      Arnaud Charlet committed
    • adaint.c (__gnat_pthread_setaffinity_np, [...]): Remove wrappers, no longer needed. · 0ae44446
      2010-10-18  Jose Ruiz  <ruiz@adacore.com>
      
      	* adaint.c (__gnat_pthread_setaffinity_np,
      	__gnat_pthread_attr_setaffinity_np): Remove wrappers, no longer needed.
      	* s-osinte-linux.ads (pthread_setaffinity_np,
      	pthread_attr_setaffinity_np): Remove use of wrappers.
      	* s-taprop-linux.adb (Create_Task, Initialize): Restore check to verify
      	whether the affinity functionality is available in the OS.
      	* gcc-interface/utils.c: Set TREE_STATIC on functions only when there
      	are defined.
      
      From-SVN: r165635
      Jose Ruiz committed
    • [multiple changes] · 3fd9f17c
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, einfo.adb: Minor reformatting.
      	* gnat_ugn.texi, ug_words: Add missing entries, fix typos.
      
      2010-10-18  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb (Is_In_Config): When the switch accepts either a space
      	or equal, we output an equal every time.
      
      2010-10-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Entry_Call): Handle call to an entry family
      	member when pre/post conditions are present.
      	* exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family
      	includes an index parameter, and the name of the enclosed entry call is
      	an indexed component.
      
      From-SVN: r165634
      Arnaud Charlet committed
    • bessel_7.f90: Set xfail for mingw targets. · 5e690fe3
      2010-10-18  Kai Tietz  <kai.tietz@onevision.com>
      
              * gfortran.dg/bessel_7.f90: Set xfail for mingw targets.
      
      From-SVN: r165633
      Kai Tietz committed
    • einfo.ads, einfo.adb: Minor reformatting. · cdcb8ccb
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, einfo.adb: Minor reformatting.
      
      From-SVN: r165631
      Robert Dewar committed
    • neon.md (neon_move_hi_quad_<mode>): Fix the order of operands to vec_concat. · 3f2c0baf
      2010-10-18  Tejas Belagod  <tejas.belagod@arm.com>
      
      	* config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
      	of operands to vec_concat.
      
      From-SVN: r165630
      Tejas Belagod committed
    • re PR lto/44950 (ICE in dwarf2out_finish, at dwarf2out.c:22271) · e20efbfb
      2010-10-18  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/44950
      	* tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
      	also clear references to entries of it.
      
      	* g++.dg/lto/20101015-2_0.C: New testcase.
      
      From-SVN: r165629
      Richard Guenther committed
    • adaint.c (__gnat_pthread_setaffinity_np, [...]): Add these wrappers which check… · ee1feb14
      adaint.c (__gnat_pthread_setaffinity_np, [...]): Add these wrappers which check the availability of the underlying OS...
      
      2010-10-18  Jose Ruiz  <ruiz@adacore.com>
      
      	* adaint.c (__gnat_pthread_setaffinity_np,
      	__gnat_pthread_attr_setaffinity_np): Add these wrappers which check the
      	availability of the underlying OS functionality before calling.
      	* s-osinte-linux.ads (pthread_setaffinity_np,
      	pthread_attr_setaffinity_np): Call a wrapper instead of the OS function
      	to perform a check of its availability.
      	* s-taprop-linux.adb (Create_Task): Remove the check to verify whether
      	the affinity functionality is available in the OS. Now done in a wrapper
      	* gcc-interface/Makefile.in: Remove vmshandler.asm, unused.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r165628
      Jose Ruiz committed
    • Updated changelog tense. · c68015cd
      From-SVN: r165627
      Basile Starynkevitch committed
    • sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is standard field). · adcf6b32
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is
      	standard field).
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads:
      	Minor reformatting.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* exp_strm.adb (Build_Elementary_Input_Call): Check
      	No_Default_Stream_Attributes.
      	(Build_Elementary_Write_Call): Check No_Default_Stream_Attributes
      	* s-rident.ads: Add restriction No_Default_Stream_Attributes
      	Put restriction No_Allocators_After_Elaboration in alpha order
      
      From-SVN: r165626
      Robert Dewar committed
    • [multiple changes] · 8918fe18
      2010-10-18  Jose Ruiz  <ruiz@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
      	to the affinity when expanding the task declaration.
      	(Make_Task_Create_Call): Add the affinity parameter to the call to
      	create task.
      	* sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU,
      	taking into account the case when it applies to a subprogram (only for
      	main and with static expression) or to a task.
      	* par_prag.adb:(Prag): Make pragma CPU a valid one.
      	* snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers
      	used by the expander for handling the affinity parameter when creating
      	a task.
      	(Pragma_Id): Add Pragma_CPU as a valid one.
      	* rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible.
      	(RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and
      	RE_Unspecified_CPU visible.
      	* sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these
      	two subprograms to set/get the flag indicating whether there is a
      	pragma CPU which applies to the entity.
      	* lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU,
      	Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value
      	of the affinity associated to the main subprogram (if any).
      	Default_Main_CPU is used when no affinity is set. Subprograms
      	Set_Main_CPU and Main_CPU are added to set/get the affinity of the main
      	subprogram.
      	* ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the
      	value of the affinity of the main subprogram.
      	(Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in
      	the M line).
      	* lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the
      	main subprogram in the M (main) line using C=XX.
      	* lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source,
      	Load_Unit): Add new field Main_CPU.
      	* bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass
      	the affinity of the main subprogram to the run time.
      	* s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the
      	affinity.
      	(Unspecified_CPU): Add this constant to identify the case when no
      	affinity is set for tasks.
      	* s-taskin.adb (Initialize_ATCB): Store the value coming from pragma
      	CPU in the common part of the ATCB.
      	(Initialize): Store the value coming from pragma CPU (for the
      	environment task) in the common part of the ATCB.
      	* s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified
      	by pragma CPU to the ATCB.
      	* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity
      	specified by pragma CPU to the ATCB.
      	* s-tporft.adb (Register_Foreign_Thread): Add the new affinity
      	parameter to the call to Initialize_ATCB.
      	* s-taprop-linux.adb (Create_Task): Change the attributes of the thread
      	to include the task affinity before creation. Additionally, the
      	affinity selected with Task_Info is also enforced changing the
      	attributes at task creation time, instead of changing it after creation.
      	(Initialize): Change the affinity of the environment task if required
      	by a pragma CPU.
      	* s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a
      	wrapper to check whether the function is available or not, use a weak
      	symbol.
      	(pthread_attr_setaffinity_np): Add the import of this function which is
      	used to change the affinity in the attributes used to create a thread.
      	* adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper.
      	It was used to check whether the pthread function was available or not,
      	but the use of a weak symbol handles this situation in a cleaner way.
      	* s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of
      	tasks (including the environment task) if required by a pragma CPU.
      	* s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks
      	(including the environment task) if required by a pragma CPU.
      	* s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity
      	of tasks (including the environment task) if required by a pragma CPU.
      	* init.c (__gl_main_cpu): Make this value visible to the run time. It
      	will pass the affinity of the environment task.
      
      2010-10-18  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.adb (Direct_Primitive_Operations): Complete assertion.
      
      From-SVN: r165625
      Arnaud Charlet committed