1. 19 Oct, 2010 4 commits
    • io.h: Remove definition of the BT enumerator. · a11930ba
      2010-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* io/io.h: Remove definition of the BT enumerator.
      	* libgfortran.h: Replace GFC_DTYPE enumerator with BT.
      	* intrinsics/iso_c_generated_procs.c: Likewise
      	* intrinsics/date_and_time.c: Likewise.
      	* intrinsics/iso_c_binding.c: Likewise.
      	* io/list_read.c: Likewise.
      	* io/transfer.c: Likewise.
      	* io/write.c: Likewise.
      
      2010-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* gfortran.h: Remove definition of bt enumerator.
      	* libgfortran.h: Add bt enumerator type alighned with defintion.
      	Remove the dtype enumerator, no longer used.
      	previously given in libgfortran/io.h
      	* trans-types.c: Use new bt enumerator.
      	* trans-io.c: Likewise.
      
      From-SVN: r165675
      Jerry DeLisle committed
    • re PR rtl-optimization/45966 (Incorrect combiner transformation.) · 21016e43
      	PR rtl-optimization/45966
      	* combine.c (try_combine): If added_sets_2, deal with the case
      	where i0 feeds i1 and i1 feeds i2.
      
      From-SVN: r165674
      Bernd Schmidt committed
    • Daily bump. · 91d2ae68
      From-SVN: r165673
      GCC Administrator committed
    • ipa.c (cgraph_externally_visible_p): Handle externally visible and preserve… · 93a3eea4
      ipa.c (cgraph_externally_visible_p): Handle externally visible and preserve flags before trying to guess on visibility.
      
      	* ipa.c (cgraph_externally_visible_p): Handle externally visible and
      	preserve flags before trying to guess on visibility.
      	(varpool_externally_visible_p): New function.
      	(function_and_variable_visibility): Use it.
      
      From-SVN: r165669
      Jan Hubicka committed
  2. 18 Oct, 2010 36 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
    • [multiple changes] · e57ab550
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* prj.ads (Source_Data): New Boolean flag In_The_Queue.
      
      2010-10-18  Tristan Gingold  <gingold@adacore.com>
      
      	* s-stausa.ads: Add the Top parameter to Initialize_Analyzer.
      	* s-stausa.adb: Use the top parameter.  In Fill_Stack, use the
      	stack top if known.
      	* s-tassta.adb (Task_Wrapper): Call Initialize_Analyzer after Enter_Task
      	so that Pri_Stack_Info.Limit can be set and used.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads: Minor reformatting.
      	* sem_res.adb (Resolve_Allocator): Add test for violating
      	No_Anonymous_Allocators.
      
      From-SVN: r165624
      Arnaud Charlet committed
    • [multiple changes] · 468ee96a
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* prj-nmsc.adb, prj.adb, sem_res.adb: Minor reformatting.
      
      2010-10-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Insert_Explicit_Dereference): If operand is a selected
      	component, we generate a reference to the ultimate prefix when it is an
      	entity name. We must place the reference on the identifier for that
      	prefix, and not on the operand itself, to prevent spurious extra
      	references in the ali file.
      
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* projects.texi: Add documentation for attribute Ignore_Source_Sub_Dirs
      
      From-SVN: r165623
      Arnaud Charlet committed
    • einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry families. · b7f17b20
      2010-10-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry
      	families. Denotes a procedure that performs pre/postcondition checks
      	and then performs the entry call.
      	* sem_res.adb (Resolve_Entry_Call): If the entry has
      	pre/postconditions, replace call with a call to the PPC_Wrapper of the
      	entry.
      	* exp_ch9.adb (Build_PPC_Wrapper): new procedure.
      	(Expand_N_Entry_Declaration, Expand_N_Protected_Type_Declaration): call
      	Build_PPC_Wrapper for all entries in task and protected definitions.
      
      From-SVN: r165622
      Ed Schonberg committed
    • [multiple changes] · 12009a12
      2010-10-18  Tristan Gingold  <gingold@adacore.com>
      
      	* init.c: Add __gnat_set_stack_guard_page and __gnat_set_stack_limit.
      	Implement stack limitation on VMS.
      	Minor reformatting.
      
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb (Is_Compilable): Do not modify Source.Compilable until the
      	source record has been initialized.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb: Minor code reorganization (Primitive_Operations is a
      	synthesized attribute routine and was in the wrong place).
      
      From-SVN: r165620
      Arnaud Charlet committed
    • [multiple changes] · e7efbe2f
      2010-10-18  Tristan Gingold  <gingold@adacore.com>
      
      	* init.c: Indentation, and minor changes to more closely follow GNU
      	style rules.  Make more variable statics.
      
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb (Is_Compilable): On first call for a source, cache value in
      	component Compilable.
      	* prj.ads (Source_Data): New component Compilable, to cache the value
      	returned by function Is_Compilable.
      
      2010-10-18  Vincent Celier  <celier@adacore.com>
      
      	* prj-attr.adb: New project level attribute Ignore_Source_Sub_Dirs.
      	* prj-nmsc.adb (Expand_Subdirectory_Pattern): New string list parameter
      	Ignore.
      	(Recursive_Find_Dirs): Do not consider subdirectories listed in Ignore.
      	(Get_Directories): Call Find_Source_Dirs with the string list
      	indicated by attribute Ignore_Source_Sub_Dirs.
      	* snames.ads-tmpl: New standard name Ignore_Source_Sub_Dirs.
      
      From-SVN: r165619
      Arnaud Charlet committed
    • einfo.ads, einfo.adb (Primitive_Operations): New synthesized attribute. · ef2a63ba
      2010-10-18  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.ads, einfo.adb (Primitive_Operations): New synthesized
      	attribute.
      	(Direct_Primitive_Operations): Renaming of old Primitive_Operations.
      	(Set_Direct_Primitive_Operations): Renaming of old
      	Set_Primitive_Operations. Update documentation
      	* sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb:
      	Replace occurrences of Set_Primitive_Operations by
      	Set_Direct_Primitive_Operations.
      	* sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged
      	concurrent types.
      	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
      	process primitives of concurrent types.
      	* lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup.
      
      From-SVN: r165618
      Javier Miranda committed
    • exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before. · 6b958cec
      2010-10-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before.
      	(Expand_Protected_Object_Reference): Likewise.
      	* sem_attr.adb (Resolve_Attribute): Likewise.
      	* sem_ch3.adb (Analyze_Subtype_Declaration): Likewise.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
      
      From-SVN: r165616
      Eric Botcazou committed
    • [multiple changes] · 0877856b
      2010-10-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* g-comlin.adb (Get_Switches): Prevent dereferencing null Config.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add entries for aspects
      	Read/Write/Input/Output.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
      	handling aspects Read/Write/Input/Output.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb (Note_Possible_Modification): Do not give warning for
      	use of pragma Unmodified unless we are sure this is a modification.
      
      2010-10-18  Tristan Gingold  <gingold@adacore.com>
      
      	* sysdep.c: Add __gnat_get_stack_bounds.
      	* s-taprop-mingw.adb Call __gnat_get_stack_bounds to set Pri_Stack_Info.
      
      2010-10-18  Robert Dewar  <dewar@adacore.com>
      
      	* a-assert.ads: Fix bad name in header.
      	* sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch10.adb: Minor
      	reformatting.
      	* exp_aggr.adb: Fix typo in comment.
      
      From-SVN: r165615
      Arnaud Charlet committed