1. 22 Oct, 2010 22 commits
    • CFStrings for Darwin · 0937fb69
      gcc/testsuite:
      	Based on the CFString implementation in FSF apple/trunk branch.
      	
      	* lib/objc-dg.exp (objc-dg-runtest): Merge flags and additional flags
      	so that the latter can be used in dg-skip and dg-xfail clauses.
      	* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
      	* obj-c++.dg/template-4.mm: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1.
      	* obj-c++.dg/const-str-7.mm: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1, move to torture/strings/.
      	* obj-c++.dg/const-str-4.mm: Likewise.
      	* obj-c++.dg/const-str-3.mm: Likewise.
      	* obj-c++.dg/const-str-8.mm: Likewise.
      	* obj-c++.dg/const-str-9.mm: Likewise.
      	* obj-c++.dg/const-str-10.mm: Likewise.
      	* obj-c++.dg/const-str-10.mm: Likewise.
      	* obj-c++.dg/const-str-1.mm: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1, move to strings/.
      	* obj-c++.dg/const-str-2.mm: Likewise.
      	* obj-c++.dg/const-str-5.mm: Likewise.
      	* obj-c++.dg/const-str-6.mm: Likewise.
      	* obj-c++.dg/const-str-12.mm: Likewise.
      	* obj-c++.dg/strings/strings.exp: New.
      	* obj-c++.dg/strings/const-cfstring-2.mm: New.
      	* obj-c++.dg/strings/const-cfstring-5.mm: New.
      	* obj-c++.dg/torture/strings/strings.exp: New.
      	* obj-c++.dg/torture/strings/string1.mm: New.
      	* obj-c++.dg/torture/strings/const-cfstring-1.mm: New.
      	* obj-c++.dg/torture/strings/const-cfstring-3.mm: New.
      	* obj-c++.dg/torture/strings/const-cfstring-4.mm: New.
      	
      	* objc/execute/string1.m: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1, move to objc.dg/torture/strings/.
      	* objc/execute/string2.m: Likewise.
      	* objc/execute/string3.m: Likewise.
      	* objc/execute/string3.m: Likewise.
      	* objc.dg/foreach-2.m: Don't use CFStrings on Darwin.
      	* objc.dg/foreach-4.m: Likewise.
      	* objc.dg/foreach-5.m: Likewise.
      	* objc.dg/const-str-3.m: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1, move to objc.dg/torture/strings/.
      	* objc.dg/const-str-4.m: Likewise.
      	* objc.dg/const-str-7.m: Likewise.
      	* objc.dg/const-str-8.m: Likewise.
      	* objc.dg/const-str-9.m: Likewise.
      	* objc.dg/const-str-10.m: Likewise.
      	* objc.dg/const-str-11.m: Likewise.
      	* objc.dg/const-str-1.m: Don't use CFStrings on Darwin. Update test
      	to use dg-additional-files for Object1, move to objc.dg/strings/.
      	* objc.dg/const-str-2.m: Likewise.
      	* objc.dg/const-str-5.m: Likewise.
      	* objc.dg/const-str-6.m: Likewise.
      	* objc.dg/const-str-12.m: Likewise.
      	* objc.dg/const-str-12b.m: Likewise.
      	* objc.dg/strings/strings.exp: New.
      	* objc.dg/strings/const-cfstring-2.m: New.
      	* objc.dg/strings/const-cfstring-5.m: New.
      	* objc.dg/torture/strings/strings.exp: New.
      	* objc.dg/torture/strings/const-cfstring-1.m: New.
      	* objc.dg/torture/strings/const-cfstring-3.m: New.
      	* objc.dg/torture/strings/const-cfstring-4.m: New.
      
      From-SVN: r165821
      Iain Sandoe committed
    • CFStrings for Darwin. · 26705988
      gcc:
      
      	Based on the CFString implementation in FSF apple/trunk branch.
      	
      	* target.def (objc_construct_string): New Hook.
      	* doc/tm.texi (objc_construct_string): Document.
      	* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
      	* config/t-darwin: Amend build rules for darwin.o.
      	* config/darwin.opt: Add cfstrings flags.
      	* config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
      	(darwin_objc_construct_string): New.
      	* config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
      	* config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
      	* config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
      	(darwin_fold_builtin): Likewise.
      	(darwin_build_constant_cfstring): Likewise.
      	(darwin_objc_construct_string): Likewise.
      	(darwin_cfstring_p): Likewise.
      	(darwin_enter_string_into_cfstring_table): Likewise.
      	* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
      	* config/darwin.c (darwin_running_cxx): New var. 
      	(machopic_select_section): Return cfstring_constant_object_section.
      	(darwin_override_options): Set darwin_running_cxx.
      	(add_builtin_field_decl): New.
      	(darwin_init_cfstring_builtins): New.
      	(darwin_build_constant_cfstring): New.
      	(darwin_fold_builtin): New.
      	(cfstring_hash): New.
      	(cfstring_eq): New.
      	(darwin_enter_string_into_cfstring_table): New.
      	* config/darwin-sections.def (cfstring_constant_object_section): New.
      	* config/darwin.h (TARGET_FOLD_BUILTIN): Define.
      	(TARGET_OBJC_CONSTRUCT_STRING): Define.
      
      gcc/objc:
      
      	Based on the CFString implementation in FSF apple/trunk branch.
      	
      	* objc/objc-act.c (objc_build_string_object): Handle CFStrings.
      
      From-SVN: r165820
      Iain Sandoe committed
    • sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow limited tagged… · 5e5db3b4
      sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow limited tagged types to have defaulted discriminants.
      
      2010-10-22  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow
      	limited tagged types to have defaulted discriminants. Customize the
      	error message for the Ada 2012 case.
      	(Process_Discriminants): In Ada 2012, allow limited tagged types to have
      	defaulted discriminants. Customize the error message for the Ada 2012
      	case.
      	* sem_ch6.adb (Create_Extra_Formals): Suppress creation of the extra
      	formal for out formals of discriminated types in the case where the
      	underlying type is a limited tagged type.
      	* exp_attr.adb (Expand_N_Attribute_Reference, case
      	Attribute_Constrained): Return True for 'Constrained when the
      	underlying type of the prefix is a limited tagged type.
      
      From-SVN: r165819
      Gary Dismukes committed
    • [multiple changes] · a043e735
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
      	may already have a rep item chain inherited from the full view of the
      	base type, so do not overwrite it when propagating rep items from the
      	partial view of the subtype.
      	* sem_ch3.adb: Minor code reorganization.  Minor reformatting.
      
      2010-10-22  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi (gnatmetric): Remove description of debug option.
      
      2010-10-22  Tristan Gingold  <gingold@adacore.com>
      
      	* adaint.c (__gnat_number_of_cpus): Add implementation for VMS.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch5.adb: Set properly starting sloc of loop parameter.
      
      From-SVN: r165818
      Arnaud Charlet committed
    • [multiple changes] · 229db351
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
      	lvalue in Ada2012, if the function has in-out parameters.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
      	sem_ch10.adb: Minor reformatting.
      
      2010-10-22  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Remove most of the content of gnatcheck chapter.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb: Handle indexed P'old.
      
      From-SVN: r165817
      Arnaud Charlet committed
    • cstand.adb (Build_Float_Type): Set Float_Rep according to platform. · 23c799b1
      2010-10-22  Geert Bosch  <bosch@adacore.com>
      
      	* cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
      	* einfo.ads (Float_Rep): New attribute.
      	(Float_Rep_Kind): Move from body. Add comments.
      	* einfo.adb (Float_Rep_Kind): Move to spec
      	(Float_Rep): Now a real field instead of local function.
      	(Set_Float_Rep): New procedure to set floating point representation
      	(Set_Vax_Float): Remove.
      	(Write_Entity_Flags): Remove Vax_Float flag.
      	(Write_Field10_Name): Add E_Floating_Point_Type case for Float_Rep.
      	* exp_attr.adb (Attribute_Valid): Use case statement for representation
      	specific processing.
      	* sem_ch3.adb (Build_Derived_Numeric_Type,
      	Floating_Point_Type_Declaration): Set Float_Rep instead of Vax_Float
      	attribute.
      	* sem_util.ads, sem_util.adb (Is_AAMP_Float): Remove.
      	* sem_vfpt.adb (Set_D_Float, Set_F_Float, Set_G_Float, Set_IEEE_Long,
      	Set_IEEE_Short): Set Float_Rep instead of Vax_Float attribute.
      
      From-SVN: r165816
      Geert Bosch committed
    • [multiple changes] · b4ca2d2c
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sprint.adb: Minor reformatting.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
      	checks.
      	* sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
      	view.
      	* sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
      	Invariants_Present.
      	(Process_PPCs): Handle predicates generating post conditions
      	* sem_util.adb (Is_Partially_Initialized_Type): Add
      	Include_Null parameter.
      	* sem_util.ads (Is_Partially_Initialized_Type): Add
      	Include_Null parameter.
      
      2010-10-22  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi (gnatelim): Add description for '--ignore' option
      
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_prag.adb (Check_First_Subtype): Specialize error messages for
      	case where argument is not a type.
      
      From-SVN: r165815
      Arnaud Charlet committed
    • exp_ch5.adb, [...]: Minor reformatting. · 00c7151c
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
      	reformatting.
      
      From-SVN: r165814
      Robert Dewar committed
    • [multiple changes] · c0f136cd
      2010-10-22  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-locale.adb: Minor code clean up.
      
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb: Minor code reorganization and factoring.
      
      From-SVN: r165813
      Arnaud Charlet committed
    • [multiple changes] · c56a9ba4
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
      	Minor reformatting.
      
      2010-10-22  Geert Bosch  <bosch@adacore.com>
      
      	* stand.ads: Fix typo in comment.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Enable in-out parameter for functions.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
      	iterators that are transformed into container iterators after analysis.
      	* exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
      	iterator forms before rewriting as a loop.
      
      2010-10-22  Brett Porter  <porter@adacore.com>
      
      	* a-locale.adb, a-locale.ads, locales.c: New files.
      	* Makefile.rtl: Add a-locale
      	* gcc-interface/Makefile.in: Add locales.c
      
      From-SVN: r165812
      Arnaud Charlet committed
    • [multiple changes] · 57d62f0c
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
      	(Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
      	iterator forms over arrays and containers, in loops and quantified
      	expressions.
      	* exp_util.adb (Insert_Actions): include N_Iterator_Specification.
      	* par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
      	* par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
      	P_Iteration_Scheme to handle both loop forms.
      	* sem.adb: Handle N_Iterator_Specification.
      	* sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
      	subprogram.
      	* sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
      	N_Iteration_Scheme can now include an Iterator_Specification. Ditto
      	for N_Quantified_Expression.
      	* snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
      	and Previous, to support iterators over predefined containers.
      	* sprint.adb: Handle N_Iterator_Specification.
      
      From-SVN: r165811
      Arnaud Charlet committed
    • 2010-10-22 Thomas Quinot <quinot@adacore.com> · c3ad80f0
      	* sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
      	(Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
      	(Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
      	immediately after a library unit.
      	(Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
      	a formal derived type.
      
      From-SVN: r165810
      Thomas Quinot committed
    • Make-lang.in: Remove ttypef.ads · d32e3cee
      2010-10-22  Geert Bosch  <bosch@adacore.com>
      
      	* gcc-interface/Make-lang.in: Remove ttypef.ads
      	* checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
      	of Machine_Mantissa and Machine_Radix.
      	* cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
      	Type_High_Bound of the type, instead of choosing constants from Ttypef.
      	(Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
      	Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
      	each type.
      	* einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
      	Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
      	Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
      	Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
      	synthesized floating point attributes.
      	* einfo.adb (Float_Rep): Determine the kind of floating point
      	representation used for a given type.
      	(Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
      	Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
      	the number of digits in the type.
      	(Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
      	Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
      	Implement new synthesized floating point attributes based on the various
      	machine attributes.
      	* eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
      	* eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
      	Machine_Mantissa_Value and Machine_Radix_Value functions instead.
      	* exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
      	constants, instead of using constants from Ttypef.
      	* gnat_rm.texi: Reword comments referencing Ttypef.
      	* sem_attr.ads: Reword comment referencing Ttypef.
      	* sem_attr.adb (Float_Attribute_Universal_Integer,
      	Float_Attribute_Universal_Real): Remove.
      	(Attribute_Machine_Emax, Attribute_Machine_Emin,
      	Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
      	Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
      	Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
      	attributes in Einfo instead of Float_Attribute_Universal_Real and
      	Float_Attribute_Universal_Integer and all explicit constants.
      	* sem_util.ads, sem_util.adb (Real_Convert): Remove.
      	* sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
      	IEEES_Digits): New local constants, in order to remove dependency on
      	Ttypef.
      	* tbuild.ads (Make_Float_Literal): New function.
      	* tbuild.adb (Make_Float_Literal): New function to create a new
      	N_Real_Literal, constructing it as simple as possible for best
      	output of constants in -gnatS.
      	* ttypef.ads: Remove.
      
      From-SVN: r165808
      Geert Bosch committed
    • checks.adb (Apply_Predicate_Check): Remove attempt at optimization when subtype is the same... · 8110ee3b
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
      	when subtype is the same, caused legitimate checks to be missed.
      	* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
      	inheritance from right entity.
      	* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
      	derived type case if the ancestor type has predicates.
      	* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
      	* sem_prag.adb (Check_Enabled): Minor code reorganization.
      
      From-SVN: r165807
      Robert Dewar committed
    • [multiple changes] · ea034236
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* einfo.ads (Declaration_Node): Clarify documentation, in particular
      	regarding what is returned for subprogram entities.
      
      2010-10-22  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_attr.adb (Make_Range_Test): Generate a Range node instead of
      	explicit comparisons, generates simpler expanded code.
      	* a-except-2005.adb (Rcheck_06_Ext): New.
      	* gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
      	like range checks.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
      	for index type
      	(Constrain_Index): Error of subtype wi predicate in index constraint
      	* sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
      	predicate in entry family.
      	* sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.
      
      2010-10-22  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
      	(Original_Corresponding_Operation): New subprogram.
      	(Visible_Ancestors): New subprogram.
      	* sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
      	operation that overrides a hidden inherited primitive.
      	* sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
      	(Check_Dispatching_Operation): if the new dispatching operation
      	does not override a visible primtive then check if it overrides
      	some hidden inherited primitive.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
      	clause is a child unit that denotes a renaming, replace the
      	parent_unit_name with a reference to the renamed unit, because the
      	prefix is irrelevant to subsequent visibility..
      
      From-SVN: r165805
      Arnaud Charlet committed
    • [multiple changes] · 2d4e0553
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
      	(simplifies code).
      	* exp_ch13.adb (Build_Predicate_Function): Output info msgs for
      	inheritance.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
      	freeze node for entities for which a predicate is specified.
      	(Analyze_Aspect_Specifications): Avoid duplicate calls
      	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
      	duplicate calls to Analye_Aspect_Specifications.
      
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
      
      From-SVN: r165804
      Arnaud Charlet committed
    • objc-act.c (get_objc_string_decl): Use a switch instead of a chain of ifs. · 50ea5861
      2010-10-21  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc-act.c (get_objc_string_decl): Use a switch instead of a
              chain of ifs.  Use gcc_unreachable instead of abort.
              (add_objc_string): Same change.
              (generate_protocol_list): Same change - twice.
              (synth_id_with_class_suffix): Same change.
              (build_keyword_selector): Same change - twice.
              (objc_build_message_expr): Same change.
              (objc_build_selector_expr): Same change.
              (check_methods): Same change - and added missing gcc_unreachable
              for default case.
              (check_methods_accessible): Same change - twice, and added missing
              gcc_unreachable for default case in one of them.
              (start_class): Same change - and added missing gcc_unreachable for
              default case.
              (continue_class): Same change.
              (objc_gen_property_data): Same change.
              (finish_class): Same change.
              (encode_type_qualifiers): Added missing gcc_unreachable.
              (encode_type): Small code tidy up to reduce duplicated code.  Use
              gcc_unreachable instead of abort - twice.
              (encode_gnu_bitfield): Use a switch instead of a chain of ifs -
              twice.  Added missing gcc_unreachable for default case - twice.
              (dump_interface): Use a switch instead of a chain of ifs.
              (handle_impent): Same change.
      
      From-SVN: r165803
      Nicola Pero committed
    • synchronize.c: Permit dmb or mcr in assembler scan. · 05b7a48a
      2010-10-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      
      	* gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.
      
      From-SVN: r165802
      Marcus Shawcroft committed
    • alpha.c (alpha_build_builtin_va_list): Use TYPE_STUB_DECL instead of TREE_CHAIN. · 0fd2eac2
      	* config/alpha/alpha.c (alpha_build_builtin_va_list): Use
      	TYPE_STUB_DECL instead of TREE_CHAIN.
      	* config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
      	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
      	* config/s390/s390.c (s390_build_builtin_va_list): Likewise.
      	* config/sh/sh.c (sh_build_builtin_va_list): Likewise.
      	* config/spu/spu.c (spu_build_builtin_va_list): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
      
      From-SVN: r165800
      Nathan Froyd committed
    • expr.c (emit_group_load_1): Update calls to extract_bit_field. · 62519f7f
      	* expr.c (emit_group_load_1): Update calls to extract_bit_field.
      	(copy_blkmode_from_reg): Likewise.
      	(read_complex_part): Likewise.
      	(expand_expr_real_1): Calculate packedp and pass it to
      	extract_bit_field.
      	* expr.h (extract_bit_field): Update declaration.
      	* calls.c (store_unaligned_arguments_into_pseudos): Update call
      	to extract_bit_field.
      	* expmed.c (extract_fixed_bit_field): Update calls to
      	extract_fixed_bit_field.
      	(store_split_bit_field): Likewise.
      	(extract_bit_field_1): Add new argument packedp.
      	(extract_bit_field): Add new argument packedp.
      	(extract_fixed_bit_field): Add new argument packedp and let
      	packed attribute override volatile.
      	* stmt.c (expand_return): Update call to extract_bit_field.
      
      From-SVN: r165799
      Jie Zhang committed
    • Daily bump. · f4087246
      From-SVN: r165798
      GCC Administrator committed
  2. 21 Oct, 2010 18 commits
    • re PR c++/46117 (ICE: SIGSEGV in add_function_candidate (call.c:1630) on invalid typename usage) · 10d4899c
      /cp
      2010-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/46117
      	* call.c (add_function_candidate): Don't use TREE_VALUE on null
      	parmnode.
      
      /testsuite
      2010-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/46117
      	* g++.dg/parse/crash57.C: New.
      
      From-SVN: r165794
      Paolo Carlini committed
    • * Add ChangeLog changes. · 498f5fc9
      From-SVN: r165793
      Uros Bizjak committed
    • ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead of gcc_checking_assert. · cefb375a
      	* ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
      	of gcc_checking_assert.
      	* sel-sched.c (code_motion_process_successors): Likewise.
      
      From-SVN: r165790
      Nathan Froyd committed
    • cfgcleanup.c (try_forward_edges): Do not throw away previous steps when stopping… · 50a36e42
      cfgcleanup.c (try_forward_edges): Do not throw away previous steps when stopping because of a different locus on...
      
      	* cfgcleanup.c (try_forward_edges): Do not throw away previous steps
      	when stopping because of a different locus on edge or insn.
      	(try_optimize_cfg): Add comment.
      	* cfgrtl.c (rtl_merge_blocks): Tweak log message.  If the destination
      	block is a forwarder block, propagate locus on the edge.
      	(cfg_layout_merge_blocks): Likewise.
      
      From-SVN: r165789
      Eric Botcazou committed
    • re PR target/45946 (ICE: in extract_insn, at recog.c:2127 when using _Decimal128… · 233a46c8
      re PR target/45946 (ICE: in extract_insn, at recog.c:2127 when using _Decimal128 with -Os -fno-omit-frame-pointer)
      
      	PR target/45946
      	* config/i386/i386.md (*pushti2): New insn pattern.
      	(pushti2 splitter): New insn splitter.
      	(*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
      	DWI mode iterator.
      
      testsuite/ChangeLog:
      
      	PR target/45946
      	* gcc.target/i386/pr45946.c: New test.
      
      From-SVN: r165787
      Uros Bizjak committed
    • pdp11-protos.md (arith_operand, [...]): Delete · 19ce9cf1
      * config/pdp11/pdp11-protos.md (arith_operand,
      const_immediate_operand, expand_shift_operand,
      immediate15_operand): Delete
      * config/pdp11/pdp11.c: Ditto.
      * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
      CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
      EXTRA_CONSTRAINT): Delete.
      * config/pdp11/pdp11.md (various): Use standard constraints
      instead of removed ones.
      * config/pdp11/constraints.md: New file.
      * config/pdp11/predicates.md: New file.
      
      From-SVN: r165784
      Paul Koning committed
    • re PR rtl-optimization/45834 (Redundant inter-loop edges in DDG) · 4fcf718a
      2010-10-21  Bingfeng Mei  <bmei@broadcom.com>
      
      	PR c/45834
              * alias.c (true_dependence_1): Remove obsolete check for QImode.
              (may_alias_p): Ditto.
      
      From-SVN: r165781
      Bingfeng Mei committed
    • re PR tree-optimization/45875 (ice in gimple_fold_obj_type_ref_known_binfo with -O2) · ae1f6fce
      2010-10-21  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/45875
      	* tree.c (get_binfo_at_offset): Remove initial zero offset test.
      
      	* testsuite/g++.dg/ipa/pr45875.C: New test.
      
      From-SVN: r165780
      Martin Jambor committed
    • tree-into-ssa.c (rewrite_update_enter_block): Remove unused variables. · 9e2995b2
      	* tree-into-ssa.c (rewrite_update_enter_block): Remove unused
      	variables.
      	(create_new_def_for): Likewise.
      
      From-SVN: r165779
      Nathan Froyd committed
    • mn10300.c: Fold code to 80-character width. · e7ab5593
              * config/mn10300/mn10300.c: Fold code to 80-character width.
              Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
              MEM, CONST_INT and CONST_DOUBLE.
              (targetm): Move initialization to end of file.
              (print_operand): Rename to mn10300_print_operand.
              (print_operand_address): Rename to mn10300_print_operand_address.
              (can_use_return_insn): Rename to mn10300_can_use_return_insn.
              (expand_prologue): Rename to mn10300_expand_prologue.
              (expand_epilogue): Rename to mn10300_expand_epilogue.
              (initial_offset): Rename to mn10300_initial_offset.
              (function_arg): Rename to mn10300_function_arg.
              (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
              (symbolic_operand): Rename to mn10300_symbolic_operand.
              (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
              (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
              * config/mn10300/mn10300-protos.h: Update prototypes.
              * config/mn10300/mn10300.h: Fold code to 80-character width.
              Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
              MEM, CONST_INT and CONST_DOUBLE.
              (CPP_SPEC): Move to...
              (TARGET_CPU_CPP_BUILTINS): ... here.
              * config/mn10300/mn10300.md: Fold code to 80-character width.
              Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
              MEM, CONST_INT and CONST_DOUBLE.
      
      From-SVN: r165778
      Nick Clifton committed
    • re PR tree-optimization/46049 (ICE: in expand_widen_pattern_expr, at… · 9dc3f7de
      re PR tree-optimization/46049 (ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize)
      
      
      	PR tree-optimization/46049
      	PR tree-optimization/46052
      	* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for
      	shift.
      	(vect_get_slp_defs): Add arguments.
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
      	operands to vect_get_slp_defs.
      	(vectorizable_reduction): Fix comment, pass scalar operands to
      	vect_get_slp_defs.
      	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
      	type to determine number of units in the created vector.
      	(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
      	(vectorizable_conversion): Fix comment.
      	(vectorizable_shift): New function.
      	(vectorizable_operation): Move code that handles shifts to
      	vectorizable_shift.
      	(vectorizable_type_demotion): Fix comment, pass scalar operands to
      	vect_get_slp_defs.
      	(vectorizable_type_promotion, vectorizable_store): Likewise.
      	(vectorizable_condition): Fix comment.
      	(vect_analyze_stmt): Call vectorizable_shift.
      	(vect_transform_stmt): Likewise.
      	* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
      	Use it as the operand to create vectors for, except reduction
      	initial definition and store.  Use operands type.
      	(vect_get_slp_defs): Add new arguments.  Pass them to
      	vect_get_constant_vectors.
      
      From-SVN: r165777
      Ira Rosen committed
    • [multiple changes] · 027dbed8
      2010-10-21  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2010-10-21  Thomas Quinot  <quinot@adacore.com>
      
      	* einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
      	removed routine.
      
      2010-10-21  Nicolas Roche  <roche@adacore.com>
      
      	* gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
      	gcc-interface/Makefile.in: Remove gnatmem specific files.
      
      From-SVN: r165776
      Arnaud Charlet committed
    • sem_res.adb, [...]: Minor reformatting. · 8e4dac80
      2010-10-21  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb, exp_ch13.adb: Minor reformatting.
      
      2010-10-21  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
      	to provide a tagged full view as the completion of an untagged partial
      	view if the partial view has a discriminant with default.
      
      From-SVN: r165775
      Thomas Quinot committed
    • basic-block.h (single_succ_edge): Use gcc_checking_assert. · 77a74ed7
      	* basic-block.h (single_succ_edge): Use gcc_checking_assert.
      	(single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
      	* cfghooks.c (fixup_reorder_chain): Likewise.
      	* cfgrtl.c (cfg_layout_merge_blocks): Likewise.
      	* cgraph.c (cgraph_add_thunk): Likewise.
      	(cgraph_create_edge_1): Likewise.
      	(cgraph_create_virtual_clone): Likewise.
      	* ddg.c (add_cross_iteration_register_deps): Likewise.
      	* dwarf2out.c (modified_type_die): Likewise.
      	* emit-rtl.c (set_mem_alias_set): Likewise.
      	* ggc-zone.c (zone_allocate_marks): Likewise.
      	* gimple-iterator.c (gsi_move_to_bb_end): Likewise.
      	* gimple.c (iterative_hash_gimple_type): Likewise.
      	* graphite-scop-detection.c (create_single_entry_edge): Likewise.
      	(create_single_exit_edge): Likewise.
      	* haifa-sched.c (choose_ready): Likewise.
      	* lto-streamer-in.c (input_gimple_stmt): Likewise.
      	* passes.c (execute_todo): Likewise.
      	* sched-ebb.c (begin_schedule_ready): Likewise.
      	* sel-sched.c (code_motion_process_successors): Likewise.
      	* tree-call-cdce.c (gen_conditions_for_pow): Likewise.
      	* tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
      	* tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
      	(phi_arg_index_from_use, phi_ssa_name_p): Likewise.
      	* tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
      	* tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
      	(ssa_conflicts_add): Likewise.
      	* tree-ssa-copy.c (replace_exp): Likewise.
      	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
      	* tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
      	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
      	* tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
      	(compute_antic): Likewise.
      	* tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
      	(add_dependence): Likewise.
      	(process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
      	* tree-vrp.c (supports_overflow_infinity): Likewise.
      	(make_overflow_infinity, negative_overflow_infinity): Likewise.
      	(avoid_overflow_infinity, register_new_assert_for): Likewise.
      	(process_assert_insertions_for): Likewise.
      	* var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
      	(dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
      	(intersect_loc_chains, variable_merge_over_cur): Likewise.
      
      From-SVN: r165774
      Nathan Froyd committed
    • cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred. · 31ff2426
      	* cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
      	* reload1.c (has_nonexceptional_receiver): Likewise.
      	* tree-into-ssa.c (rewrite_update_enter_block): Likewise.
      	(create_new_def_for): Likewise.
      	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
      	(merge_phi_nodes): Likewise.
      	(has_abnormal_incoming_edge_p): Delete.
      
      From-SVN: r165772
      Nathan Froyd committed
    • Add V8SI and V4DI to ssescalarmodesuffix. · 2f7ba24e
      2010-10-21  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
      
      From-SVN: r165771
      H.J. Lu committed
    • re PR fortran/46007 (wrong code for SHAPE in a scalarized loop) · 3ba7edcf
      2010-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/46007
      	* m4/shape.m4 (shape_'rtype_kind`):  Use variable for rank.
      	Allocate return array if unallocated.
      	* generated/shape_i4.c:  Regenerated.
      	* generated/shape_i8.c:  Regenerated.
      	* generated/shape_i16.c:  Regenerated.
      
      2010-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/46007
      	* gfortran.dg/shape_5.f90:  New test case.
      
      From-SVN: r165770
      Thomas Koenig committed