1. 23 Oct, 2010 3 commits
    • cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__... · 18ed6ee4
      gcc/
      	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
      	__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
      	__ORDER_PDP_ENDIAN__.
      	* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct DWstruct): Define based on __BYTE_ORDER__.
      	* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct INTstruct): Define based on __BYTE_ORDER__.
      	* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      	* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
      	* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi: Regenerate.
      	* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
      	(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
      
      libdecnumber/
      	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      libgcc/
      	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
      	Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      From-SVN: r165881
      Nathan Froyd committed
    • re PR rtl-optimization/37360 (ICE in haifa-sched.c when compiling __popcountsi2 from libgcc) · 646e6f41
      	PR rtl-optimization/37360
      	* config/mips/mips.c (cached_can_issue_more): New local variable.
      	(mips_sched_reorder_1): New.
      	(mips_sched_reorder): Use mips_sched_reorder_1.
      	(mips_sched_reorder2): New.
      	(mips_variable_issue): Set cached_can_issue_more.
      	(TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
      	instead of mips_sched_reorder.
      
      	Revert
      	2008-09-09  Andrey Belevantsev  <abel@ispras.ru>
      	PR rtl-optimization/37360
      	* haifa-sched.c (max_issue): Do not assert that we never issue more
      	insns than issue_rate.  Add comment.
      
      	testsuite/
      	PR rtl-optimization/37360
      	* gcc.dg/pr37360.c: New test.
      
      From-SVN: r165880
      Jie Zhang committed
    • Daily bump. · 61a796b1
      From-SVN: r165879
      GCC Administrator committed
  2. 22 Oct, 2010 37 commits
    • gimplify.c (gimplify_variable_sized_compare): Preserve the source location info of the expression. · 692ad9aa
      	* gimplify.c (gimplify_variable_sized_compare): Preserve the source
      	location info of the expression.
      
      From-SVN: r165875
      Eric Botcazou committed
    • extend.texi (Named Address Spaces): Document the M32C named address space. · b3f85ff2
      * doc/extend.texi (Named Address Spaces): Document the M32C named
      address space.
      
      From-SVN: r165873
      DJ Delorie committed
    • m32c-pragma.c (m32c_register_pragmas): Register the __far address space. · 5fd5d713
      * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
      __far address space.
      * config/m32c/m32c.h (ADDR_SPACE_FAR): New.  Add support for
      "__far" address space for R8C and M16C processor variants.
      * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
      (far_addr_space_p): New.
      (encode_pattern_1): Add sign and zero extend support.
      (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
      (m32c_extra_constraint_p2): Add SF constraint.
      (m32c_legitimate_address_p): Support __far addresses.
      (m32c_addr_space_pointer_mode): New.
      (m32c_addr_space_address_mode): New.
      (m32c_addr_space_legitimate_address_p): New.
      (m32c_addr_space_legitimize_address): New.
      (m32c_addr_space_subset_p): New.
      (m32c_addr_space_convert): New.
      (conversions): Add __far operand patterns.
      (m32c_prepare_move): Force constants into registers for __far
      moves.
      (m32c_split_move): __far moves are always split.
      * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
      * config/m32c/mov.md (mov<mode>_far_op1): New.
      (mov<mode>_far_op2): New.
      (movqi_op): Add __far (SF) support.
      (movhi_op): Likewise.
      (movsi_splittable): Split A1A0 also.
      
      From-SVN: r165865
      DJ Delorie committed
    • Fix regexp in powerpc test · bf1a7f66
      From-SVN: r165863
      Michael Meissner committed
    • Fix regexp in powerpc test · f6dce794
      From-SVN: r165862
      Michael Meissner committed
    • c-typeck.c (build_array_ref): Handle subscripting of vectors. · 30cd1c5d
      2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
      	Andrew Pinski <pinskia@gmail.com>
      
      	* c-typeck.c (build_array_ref): Handle subscripting of vectors.
      	* doc/extend.texi: New paragraph
      
      	c-family/
      	* c-common.h (c_common_mark_addressable_vec): Declare.
      	* c-common.c (c_common_mark_addressable_vec): New function.
      
      	testsuite/
      	* gcc.c-torture/execute/vector-subscript-1.c: Likewise.
      	* gcc.c-torture/execute/vector-subscript-2.c: Likewise.
      	* gcc.c-torture/execute/vector-subscript-3.c: New testcase.
      	* gcc.dg/vector-subscript-1.c: Likewise.
      	* gcc.dg/vector-subscript-2.c: Likewise.
      	* gcc.dg/vector-subscript-3.c: New testcase.
      	* gcc.dg/array-8.c: Adjust.
      
      Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
      
      From-SVN: r165861
      Artjoms Sinkarovs committed
    • * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define. · 5c958bda
      From-SVN: r165860
      Paul Koning committed
    • * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant. · f6bac694
      From-SVN: r165859
      DJ Delorie committed
    • * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define. · 4d1bc60a
      From-SVN: r165858
      Paul Koning committed
    • Add __builtin_fma vector transform for i386. · 834d5dce
      From-SVN: r165857
      Richard Henderson committed
    • Use ABS/NEG+USE for vector modes as well. · 7a12785c
      From-SVN: r165856
      Richard Henderson committed
    • gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION, [...]): Remove. · c3fb2eb4
      	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
      	SWITCH_CURTAILS_COMPILATION): Remove.
      	* doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove
      	documentation.
      	* doc/tm.texi: Regenerate.
      	* system.h (SWITCH_CURTAILS_COMPILATION): Poison.
      
      From-SVN: r165855
      Joseph Myers committed
    • Implementation of the pipeline description for Bulldozer (bdver1) · 6a08ffca
      	* gcc/config/i386/bdver1.md: New file.
      	* gcc/config/i386/i386.md (include "bdver1.md"): Invoke the
      	pipeline description for bdver1.
      	(x86_sahf_1): Add "bdver1_decode" attribute.
      	(*cmpfp_i_mixed): Likewise.
      	(*cmpfp_i_sse): Likewise.
      	(*cmpfp_i_i387): Likewise.
      	(*cmpfp_iu_mixed): Likewise.
      	(*cmpfp_iu_sse): Likewise.
      	(*cmpfp_iu_387): Likewise.
      	(*swap<mode>,*swap<mode>_1): Likewise.
      	(fixuns_trunc<mode>hi2): Likewise.
      	(fix_trunc<mode>si_sse): Likewise.
      	(x86_fnstcw_1): Likewise.
      	(x86_fldcw_1): Likewise.
      	(*floatsi<mode>2_vector_mixed_with_temp): Likewise.
      	(*floatsi<mode>2_vector_mixed): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
      	(*floatsi<mode>2_vector_sse_with_temp): Likewise.
      	(*floatsi<mode>2_vector_sse): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
      	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
      	(*mul<mode>3_1): Likewise.
      	(*mulsi3_1_zext): Likewise.
      	(*mulhi3_1): Likewise.
      	(*mulqi3_1): Likewise.
      	(*<u>mul<mode><dwi>3_1): Likewise.
      	(*<u>mulqihi3_1): Likewise.
      	(*<s>muldi3_highpart_1): Likewise.
      	(*<s>mulsi3_highpart_1): Likewise.
      	(*<s>mulsi3_highpart_zext): Likewise.
      	(x86_64_shld): Likewise.
      	(x86_shld): Likewise.
      	(x86_64_shrd): Likewise.
      	(x86_shrd): Likewise.
      	(sqrtxf2): Likewise.
      	(sqrt_extend<mode>xf2_i387): Likewise.
      	(*sqrt<mode>2_sse): Likewise.
      	* gcc/config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
      	(sse_cvtsi2ssq): Likewise.
      	(sse_cvtss2si): Likewise.
      	(sse_cvtss2si_2): Likewise.
      	(sse_cvtss2siq): Likewise.
      	(sse_cvtss2siq_2): Likewise.
      	(sse_cvttss2si): Likewise.
      	(sse_cvttss2siq): Likewise.
      	(sse2_cvtpi2pd): Likewise.
      	(sse2_cvttpd2pi): Likewise.
      	(sse2_cvtsi2sd): Likewise.
      	(sse2_cvtsi2sdq): Likewise.
      	(sse2_cvtsd2si): Likewise.
      	(sse2_cvtsd2si_2): Likewise.
      	(sse2_cvtsd2siq): Likewise.
      	(sse2_cvtsd2siq_2): Likewise.
      	(sse2_cvttsd2si): Likewise.
      	(sse2_cvttsd2siq): Likewise.
      	(*sse2_cvtpd2dq): Likewise.
      	(*sse2_cvttpd2dq): Likewise.
      	(sse2_cvtsd2ss): Likewise.
      	(sse2_cvtss2sd): Likewise.
      	(*sse2_cvtpd2ps): Likewise.
      	(sse2_cvtps2pd): Likewise.
      
      From-SVN: r165853
      Changpeng Fang committed
    • re PR tree-optimization/46137 (g++.dg/torture/pr45877.C FAILs with -fno-tree-dce) · 07db7d35
      2010-10-22  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/46137
      	* gimple-fold.c (gimplify_and_update_call_from_tree): Properly
      	remove the virtual operands if they are not needed.
      
      	* c-c++-common/torture/pr46137.c: New testcase.
      
      From-SVN: r165852
      Richard Guenther committed
    • Update processsor_costs table for bdver1 · d8c801fd
      	* gcc/config/i386/i386.c (processor_costs bdver1_cost): Update
      	insn costs and architectural parameters for bdver1.
      
      From-SVN: r165851
      Changpeng Fang committed
    • re PR c++/46129 (ICE: in tsubst_copy, at cp/pt.c:11375) · 59dd34c4
      	PR c++/46129
      	* pt.c (instantiate_class_template): Don't instantiate default
      	arguments.
      
      From-SVN: r165850
      Jason Merrill committed
    • re PR c++/46103 ([c++0x] moving from std::array copies the elements) · f91352dc
      	PR c++/46103
      	* init.c (build_vec_init): Handle memberwise move.
      
      From-SVN: r165849
      Jason Merrill committed
    • gimple.h (gimple_register_canonical_type): Declare. · 4490cae6
      2010-10-22  Richard Guenther  <rguenther@suse.de>
      
      	* gimple.h (gimple_register_canonical_type): Declare.
      	* gimple.c (gimple_canonical_types): New global hashtable.
      	(struct gimple_type_leader_entry_s): New type.
      	(gimple_type_leader): New global cache.
      	(gimple_lookup_type_leader): New function.
      	(gtc_visit): Query the proper cache.
      	(gimple_types_compatible_p): Likewise.
      	(gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
      	(gimple_canonical_type_eq): New function.
      	(gimple_register_canonical_type): Likewise.
      	(print_gimple_types_stats): Adjust for gimple_canonical_types.
      	(free_gimple_type_tables): Likewise.  Free gimple_type_leader.
      	* tree-ssa.c (useless_type_conversion_p): Do not dispatch to
      	gimple_types_compatible_p for LTO.
      
      	lto/
      	* lto.c (lto_fixup_type): Fixup TYPE_CANONICAL again, via
      	the new gimple_register_canonical_type.
      
      From-SVN: r165848
      Richard Guenther committed
    • re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3… · 5ab2c5cb
      re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3 -ffloat-store and __builtin_ia32_loadupd())
      
      	PR target/46098
      	* config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
      	Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
      	(avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
      	(*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
      	(<sse>_movu<ssemodesuffix>): New expander.
      	(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
      	(avx_movdqu<avxmodesuffix>): New expander.
      	(*sse2_movdqu): Rename from sse2_movdqu.
      	(sse2_movdqu): New expander.
      
      testsuite/ChangeLog:
      
      	PR target/46098
      	* gcc.target/i386/pr46098.c: New test.
      
      From-SVN: r165845
      Uros Bizjak committed
    • * gcc.pot: Regenerate. · 4e8859d2
      From-SVN: r165838
      Joseph Myers committed
    • * EXCLUDES: Add read-md.c. · bf02e326
      From-SVN: r165837
      Joseph Myers committed
    • * exgettext: Only handle Warn when followed by '('. · 965e7f22
      From-SVN: r165835
      Joseph Myers committed
    • [multiple changes] · c7532b2d
      2010-10-22  Ben Brosgol  <brosgol@adacore.com>
      
      	* gnat_rm.texi: Add chapter on Ada 2012 support.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting.
      
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb: Mark missing case of nested package when expanding
      	stubs.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch10.adb: Discard incomplete with_clause.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Enable_Range_Check): Remove code suppressing range check
      	if static predicate present, not needed.
      	* exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
      	* exp_ch3.adb (Expand_N_Object_Declaration): Check
      	Suppress_Assignment_Checks flag.
      	* exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
      	of ranges when predicates are present.
      	* exp_ch5.adb (Expand_Predicated_Loop): New procedure
      	(Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
      	(Expand_N_Loop_Statement): Handle loops over predicated types
      	* sem_case.adb (Analyze_Choices): Remove extra blank in error message.
      	* sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
      	message for inheritance if within a generic instance, not useful there!
      	(Build_Static_Predicate): Optimize test in predicate function
      	based on static ranges determined.
      	* sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
      	subtype with non-static predicate.
      	* sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
      
      From-SVN: r165834
      Arnaud Charlet committed
    • * cpplib.pot: Regenerate. · 41787e1d
      From-SVN: r165833
      Joseph Myers committed
    • re PR middle-end/45720 (Revision 164367 miscompiled SPEC CPU 2K) · d8ba5b19
      2010-10-22  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/45720
      	* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
      	Handle negative step.
      	(vect_enhance_data_refs_alignment): Likewise.
      	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
      	(vect_create_cond_for_align_checks): Likewise.
      	(vect_create_cond_for_alias_checks): Likewise.
      
      	* gcc.dg/torture/pr45720.c: New testcase.
      
      From-SVN: r165832
      Richard Guenther committed
    • [multiple changes] · 9fc2854d
      2010-10-22  Thomas Quinot  <quinot@adacore.com>
      
      	* uname.adb (Get_Unit_Name.Add_Node_Name): If encountering an error
      	node in the unit name, propagate Program_Error to guard against
      	cascaded errors.
      
      2010-10-22  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for
      	selected components of dispatch table wrappers.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch9.adb (Make_Initialize_Protection): A protected type that
      	implements an interface must be treated as if it has entries, to
      	support dispatching select statements.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb, sem_ch3.adb: Minor reformatting.
      
      From-SVN: r165831
      Arnaud Charlet committed
    • [multiple changes] · f915704f
      2010-10-22  Javier Miranda  <miranda@adacore.com>
      
      	* sem_aggr.adb (Resolve_Array_Aggregate.Add): If the type of the
      	aggregate has a non standard representation the attributes 'Val and
      	'Pos expand into function calls and the resulting expression is
      	considered non-safe for reevaluation by the backend. Relocate it into
      	a constant temporary to indicate to the backend that it is side
      	effects free.
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for
      	derived corresponding record type only when expansion is enabled.
      
      From-SVN: r165830
      Arnaud Charlet committed
    • sem_case.adb, [...] (Bad_Predicated_Subtype_Use): Change order of parameters. · ed00f472
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order
      	of parameters.
      	* sem_ch13.adb (Build_Predicate_Function): Don't give inheritance
      	messages for generic actual subtypes.
      	* sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb
      	(Bad_Predicated_Subtype_Use): Use this procedure.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb: Minor reformatting.
      
      From-SVN: r165829
      Robert Dewar committed
    • a-except-2005.adb (Rmsg_18): New message text. · 86200f66
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* a-except-2005.adb (Rmsg_18): New message text.
      	* a-except.adb (Rmsg_18): New message text.
      	* atree.adb (List25): New function
      	(Set_List25): New procedure
      	* atree.ads (List25): New function
      	(Set_List25): New procedure
      	* einfo.adb (Static_Predicate): Is now a list
      	(OK_To_Reference): Present in all entities
      	* einfo.ads (Static_Predicate): Is now a list
      	(OK_To_Reference): Applies to all entities
      	* exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13
      	* sem_attr.adb (Bad_Attribute_For_Predicate): Call
      	Bad_Predicated_Subtype_Use.
      	* sem_case.ads, sem_case.adb: Major surgery to deal with predicated
      	subtype case.
      	* sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to
      	Sem_Ch13.
      	(Build_Static_Predicate): New procedure handles static predicates.
      	* sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype
      	with no constraint if ancestor subtype has predicates.
      	(Analyze_Variant_Part): New calling sequence for Analyze_Choices
      	* sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference
      	entity.
      	(Analyze_Case_Expression): New calling sequence for Analyze_Choices
      	* sem_ch5.adb (Analyze_Case_Statement): New calling sequence for
      	Analyze_Choices.
      	* sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure
      	* types.ads (PE_Bad_Predicated_Generic_Type): Replaces
      	PE_Bad_Attribute_For_Predicate.
      	* atree.h: Add definition of List25.
      
      From-SVN: r165828
      Robert Dewar committed
    • [multiple changes] · 497b37ad
      2010-10-22  Jerome Lambourg  <lambourg@adacore.com>
      
      	* gnatlink.adb (Process_Binder_File): Remove CLI-specific code, now
      	moved to dotnet-ld.
      	(Gnatlink): Remove CLI-specific code, moved to dotnet-ld
      	* bindgen.adb (Gen_Object_Files_Options): Do not issue -L switches with
      	the .NET compiler, useless and unsupported.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads (Get_Num_Lit_From_Pos): Fix errors in documentation,
      	this returns a Node_Id for a reference to the entity, not the entity
      	itself!
      
      2010-10-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when
      	bounds require a temporary.
      
      From-SVN: r165827
      Arnaud Charlet committed
    • sem_ch4.adb: Minor reformatting. · 45010db9
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch4.adb: Minor reformatting.
      	* sinfo.ads: Minor comment fixes for Ada 2012 syntax.
      
      From-SVN: r165826
      Robert Dewar committed
    • re PR tree-optimization/46126 (Revision 165777 failed to build 254.gap in SPEC CPU 2K) · 57416708
      
      	PR tree-optimization/46126
      	* tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
      	vectorizable_shift in case of basic block vectorization.
      
      From-SVN: r165825
      Ira Rosen committed
    • target.h (enum opt_levels, [...]): New. · 3020190e
      	* target.h (enum opt_levels, struct default_options): New.
      	* target.def (handle_ofast): Remove hook.
      	(target_option.optimization): Change to
      	target_option.optimization_table.
      	* doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	(CAN_DEBUG_WITHOUT_FP): Remove.
      	* doc/tm.texi: Regenerate.
      	* opts.c (maybe_default_option, maybe_default_options,
      	default_options_table): New.
      	(default_options_optimization): Take extra parameters.  Don't
      	assert that global_options and global_options_set are in use.  Use
      	maybe_default_options.
      	(decode_options): Pass extra parameters to
      	default_options_optimization.
      	* common.opt (falign-loops): Use value 0 with Var.
      	(frerun-cse-after-loop, ftree-ter): Remove Init.
      	* system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
      	TARGET_OPTION_OPTIMIZATION): Remove.
      	* targhooks.c (empty_optimization_table): New.
      	* targhooks.h (empty_optimization_table): Declare.
      	* toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
      	* config/alpha/alpha.c (alpha_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/arm/arm.c (arm_option_optimization: Change to
      	arm_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/avr/avr.c (avr_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/cris/cris.c (cris_option_optimization): Change to
      	cris_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/crx/crx.c (crx_option_optimization): Change to
      	crx_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/fr30/fr30.c (fr30_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/frv/frv.c (frv_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/h8300/h8300.c (h8300_option_optimization): Change to
      	h8300_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/i386/i386.c (ix86_option_optimization): Change to
      	ix86_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
      	as initializer.
      	* config/ia64/ia64.c (ia64_option_optimization): Change to
      	ia64_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
      	initializer.
      	* config/iq2000/iq2000.c (iq2000_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/lm32/lm32.c (lm32_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/m32r/m32r.c (m32r_option_optimization): Change to
      	m32r_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
      	CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mcore/mcore.c (mcore_option_optimization): Change to
      	mcore_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mep/mep.c (mep_option_optimization): Change to
      	mep_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/microblaze/microblaze.c
      	(microblaze_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mips/mips.c (mips_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mmix/mmix.c (mmix_option_optimization): Change to
      	mmix_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mn10300/mn10300.c (mn10300_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/pa/pa.c (pa_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/pdp11/pdp11.c (pdp11_option_optimization): Change to
      	pdp11_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/picochip/picochip.c (picochip_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/rs6000/rs6000.c (rs6000_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/rx/rx.c (rx_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/s390/s390.c (s390_option_optimization): Change to
      	s390_option_optimization_table.
      	(s390_option_override): Update comment.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/score/score.c (score_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/sh/sh.c (sh_option_optimization): Change to
      	sh_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	(sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
      	(sh_option_override, expand_block_move, multcosts, find_barrier,
      	barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
      	* config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	(LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
      	STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
      	instead of TARGET_SMALLCODE.
      	* config/sh/sh.opt (mspace): Make into an alias for -Os.
      	* config/sparc/sparc.c (sparc_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/stormy16/stormy16.c (xstorym16_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/v850/v850.c (v850_option_optimization): Change to
      	v850_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/xtensa/xtensa.c (xtensa_option_optimization): Change to
      	xtensa_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
      
      From-SVN: r165823
      Joseph Myers committed
    • [multiple changes] · 26df19ce
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch5.adb: Minor reformatting.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* a-except.adb, a-except-2005.adb: Add new Rcheck entry.
      	* exp_ch13.adb (Add_Call): Make sure subtype is marked with
      	Has_Predicates set to True if it inherits predicates.
      	* sem_attr.adb: Handle 'First/'Last/'Range for predicated types
      	* types.ads (PE_Bad_Attribute_For_Predicate): New reason code
      	* types.h: Add new Rcheck entry.
      	* einfo.ads, einfo.adb (Static_Predicate): New field.
      	Minor code reorganization (file float routines in proper section)
      	Fix bad field name in comments.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
      	case.
      
      2010-10-22  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Get_Config_Switches): Detect if there is at least one
      	declaration of IDE'Compiler_Command for one of the language in the main
      	project.
      	(Do_Autoconf): If there were at least one Compiler_Command declared and
      	no target, invoke gprconfig with --target=all instead of the normalized
      	host name.
      
      2010-10-22  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch4.adb: Update syntax in comments for Ada 2012.
      	* sinfo.ads: Update syntax in comments for Ada 2012
      	* par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
      	from msg.
      
      From-SVN: r165822
      Arnaud Charlet committed
    • 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