aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-24Daily bump.GCC Administrator1-1/+1
From-SVN: r165895
2010-10-23gcc.c (n_switches_alloc_debug_check): New.Joseph Myers2-58/+78
* gcc.c (n_switches_alloc_debug_check): New. (set_option_handlers): New. (process_command): Use set_option_handlers. (do_self_spec): Pass spec-generated options through option handlers. (main): Also save and restore n_switches_alloc when swapping switch arrays. From-SVN: r165891
2010-10-23* MAINTAINERS: Update my email address.James E. Wilson2-4/+8
From-SVN: r165890
2010-10-23tests for Darwin CFStringsIain Sandoe6-0/+135
gcc/testsuite: Based on the CFString implementation in FSF apple/trunk branch. * gcc.dg/darwin-cfstring-1.c: New. * gcc.dg/darwin-cfstring-2.c: New. * gcc.dg/torture/darwin-cfstring-3.c: New. * g++.dg/other/darwin-cfstring1.C: New. * g++.dg/torture/darwin-cfstring-3.C: New. From-SVN: r165889
2010-10-23In gcc/cp/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero12-13/+358
In gcc/cp/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> * tree.c (cxx_printable_name_internal): In Objective-C++, call objc_maybe_printable_name. In gcc/objc/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (OBJC_GEN_METHOD_LABEL): Updated comments. (objc_demangle): Return NULL if demangling can not be done because the string to demangle is not an Objective-C mangled method name. Be smarter in demangling method names so that at least for methods with no arguments we are able to almost always demangle '_' correctly. Updated comments. (objc_maybe_printable_name): New. (objc_printable_name): Call objc_maybe_printable_name. If it returns NULL, call cxx_printable_name in Objective-C++. In gcc/testsuite/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/demangle-1.m: New test. * obj-c++.dg/demangle-1.mm: New test. * obj-c++.dg/demangle-2.mm: New test. * obj-c++.dg/demangle-3.mm: New test. In gcc/c-family/: 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> * c-common.h (objc_maybe_printable_name): New. * stub-objc.c (objc_maybe_printable_name): New. From-SVN: r165887
2010-10-23re PR target/46144 (gfortran.dg/vect/fast-math-vect-8.f90)Richard Henderson2-10/+42
PR target/46144 * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New. (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2. Honor matching operands when splitting to XOR. From-SVN: r165885
2010-10-23tree-vrp.c (extract_range_from_binary_expr): If flag_non_call_exceptions ↵Ian Lance Taylor6-1/+76
don't eliminate division by zero. gcc/: * tree-vrp.c (extract_range_from_binary_expr): If flag_non_call_exceptions don't eliminate division by zero. * simplify-rtx.c (simplify_binary_operation_1): Likewise. gcc/testsuite/: * gcc.c-torture/execute/20101011-1.c: New test. * gcc.c-torture/execute/20101011-1.x: New test driver. From-SVN: r165884
2010-10-23re PR fortran/46122 (PROTECTED check too strict)Tobias Burnus4-1/+61
2010-10-23 Tobias Burnus <burnus@net-b.de> PR fortran/46122 * expr.c (gfc_check_vardef_context): Fix PROTECTED check. 2010-10-23 Tobias Burnus <burnus@net-b.de> PR fortran/46122 * gfortran.dg/protected_8.f90: New. From-SVN: r165883
2010-10-23march-generic.c: Skip for -march in multilib options.Joseph Myers5-1/+15
* gcc.dg/march-generic.c: Skip for -march in multilib options. * gcc.target/i386/isa-9.c: Skip for -march other than -march=amdfam10 in multilib options. * gcc.target/i386/pr42589.c: Skip for -march other than -march=i486 in multilib options. * gcc.target/i386/sse-19.c: Add -march=x86-64 option and skip for other -march in multilib options. From-SVN: r165882
2010-10-23cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__...Nathan Froyd28-144/+95
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
2010-10-23re PR rtl-optimization/37360 (ICE in haifa-sched.c when compiling ↵Jie Zhang5-13/+72
__popcountsi2 from libgcc) 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
2010-10-23Daily bump.GCC Administrator1-1/+1
From-SVN: r165879
2010-10-22gimplify.c (gimplify_variable_sized_compare): Preserve the source location ↵Eric Botcazou2-4/+12
info of the expression. * gimplify.c (gimplify_variable_sized_compare): Preserve the source location info of the expression. From-SVN: r165875
2010-10-22extend.texi (Named Address Spaces): Document the M32C named address space.DJ Delorie2-1/+9
* doc/extend.texi (Named Address Spaces): Document the M32C named address space. From-SVN: r165873
2010-10-22m32c-pragma.c (m32c_register_pragmas): Register the __far address space.DJ Delorie6-14/+366
* 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
2010-10-22Fix regexp in powerpc testMichael Meissner1-1/+1
From-SVN: r165863
2010-10-22Fix regexp in powerpc testMichael Meissner1-0/+4
From-SVN: r165862
2010-10-22c-typeck.c (build_array_ref): Handle subscripting of vectors.Artjoms Sinkarovs14-3/+276
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
2010-10-22* config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.Paul Koning2-1/+5
From-SVN: r165860
2010-10-22* config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.DJ Delorie2-12/+24
From-SVN: r165859
2010-10-22* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.Paul Koning2-0/+14
From-SVN: r165858
2010-10-22Add __builtin_fma vector transform for i386.Richard Henderson4-1/+220
From-SVN: r165857
2010-10-22Use ABS/NEG+USE for vector modes as well.Richard Henderson3-17/+42
From-SVN: r165856
2010-10-22gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION, [...]): Remove.Joseph Myers5-42/+11
* 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
2010-10-22Implementation of the pipeline description for Bulldozer (bdver1)Changpeng Fang4-30/+962
* 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
2010-10-22re PR tree-optimization/46137 (g++.dg/torture/pr45877.C FAILs with ↵Richard Guenther4-0/+31
-fno-tree-dce) 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
2010-10-22Update processsor_costs table for bdver1Changpeng Fang2-26/+31
* gcc/config/i386/i386.c (processor_costs bdver1_cost): Update insn costs and architectural parameters for bdver1. From-SVN: r165851
2010-10-22re PR c++/46129 (ICE: in tsubst_copy, at cp/pt.c:11375)Jason Merrill4-11/+28
PR c++/46129 * pt.c (instantiate_class_template): Don't instantiate default arguments. From-SVN: r165850
2010-10-22re PR c++/46103 ([c++0x] moving from std::array copies the elements)Jason Merrill4-1/+37
PR c++/46103 * init.c (build_vec_init): Handle memberwise move. From-SVN: r165849
2010-10-22gimple.h (gimple_register_canonical_type): Declare.Richard Guenther6-21/+177
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
2010-10-22re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3 ↵Uros Bizjak4-12/+82
-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
2010-10-22* gcc.pot: Regenerate.Joseph Myers2-11842/+15300
From-SVN: r165838
2010-10-22* EXCLUDES: Add read-md.c.Joseph Myers2-0/+5
From-SVN: r165837
2010-10-22* exgettext: Only handle Warn when followed by '('.Joseph Myers2-1/+5
From-SVN: r165835
2010-10-22[multiple changes]Arnaud Charlet15-179/+2200
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
2010-10-22* cpplib.pot: Regenerate.Joseph Myers2-165/+176
From-SVN: r165833
2010-10-22re PR middle-end/45720 (Revision 164367 miscompiled SPEC CPU 2K)Richard Guenther5-17/+104
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
2010-10-22[multiple changes]Arnaud Charlet6-11/+60
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
2010-10-22[multiple changes]Arnaud Charlet3-20/+61
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
2010-10-22sem_case.adb, [...] (Bad_Predicated_Subtype_Use): Change order of parameters.Robert Dewar10-211/+228
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
2010-10-22a-except-2005.adb (Rmsg_18): New message text.Robert Dewar19-517/+919
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
2010-10-22[multiple changes]Arnaud Charlet5-100/+43
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
2010-10-22sem_ch4.adb: Minor reformatting.Robert Dewar3-16/+21
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
2010-10-22re PR tree-optimization/46126 (Revision 165777 failed to build 254.gap in ↵Ira Rosen4-1/+35
SPEC CPU 2K) 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
2010-10-22target.h (enum opt_levels, [...]): New.Joseph Myers72-539/+806
* 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
2010-10-22[multiple changes]Arnaud Charlet16-762/+959
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
2010-10-22CFStrings for DarwinIain Sandoe55-129/+822
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
2010-10-22CFStrings for Darwin.Iain Sandoe16-5/+443
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
2010-10-22sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow limited ↵Gary Dismukes4-17/+87
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
2010-10-22[multiple changes]Arnaud Charlet5-13/+82
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