aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-04-25[AArch64] Make vabs<q>_f<32, 64> a tree/gimple intrinsic.James Greenhalgh6-33/+55
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): New. * config/aarch64/aarch64-protos.h (aarch64_fold_builtin): New. * config/aarch64/aarch64.c (TARGET_FOLD_BUILTIN): Define. * config/aarch64/aarch64-simd-builtins.def (abs): New. * config/aarch64/arm_neon.h (vabs<q>_<f32, 64>): Implement using __builtin_aarch64_fabs. From-SVN: r198305
2013-04-25[AArch64] Implement TARGET_GIMPLE_FOLD_BUILTIN for aarch64 backend.James Greenhalgh11-5/+176
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin): New. * config/aarch64/aarch64-protos.h (aarch64_gimple_fold_builtin): New. * config/aarch64/aarch64-simd-builtins.def (addv): New. * config/aarch64/aarch64-simd.md (addpv4sf): New. (addvv4sf): Update. * config/aarch64/aarch64.c (TARGET_GIMPLE_FOLD_BUILTIN): Define. gcc/testsuite/ * gcc.target/aarch64/vaddv-intrinsic.c: New. * gcc.target/aarch64/vaddv-intrinsic-compile.c: Likewise. * gcc.target/aarch64/vaddv-intrinsic.x: Likewise. Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com> From-SVN: r198304
2013-04-25gcc/Naveen H.S4-0/+82
2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * config/aarch64/aarch64.md (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): New pattern. gcc/testsuite/ 2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * gcc.target/aarch64/cmp.c: New. From-SVN: r198303
2013-04-25aarch64.md (*ngc<mode>): New pattern.Naveen H.S4-0/+96
gcc/ 2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * config/aarch64/aarch64.md (*ngc<mode>): New pattern. (*ngcsi_uxtw): New pattern. gcc/testsuite/ 2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * gcc.target/aarch64/ngc.c: New. From-SVN: r198302
2013-04-25Minor reformatting.Arnaud Charlet1-2/+2
From-SVN: r198301
2013-04-25* gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}Arnaud Charlet2-0/+5
From-SVN: r198300
2013-04-25Update dependencies.Arnaud Charlet1-36/+35
From-SVN: r198299
2013-04-25arm.c (neon_builtin_type_mode): Add T_V4HF.Kyrylo Tkachov14-31/+295
2013-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Julian Brown <julian@codesourcery.com> * config/arm/arm.c (neon_builtin_type_mode): Add T_V4HF. (TB_DREG): Add T_V4HF. (v4hf_UP): New macro. (neon_itype): Add NEON_FLOAT_WIDEN, NEON_FLOAT_NARROW. (arm_init_neon_builtins): Handle NEON_FLOAT_WIDEN, NEON_FLOAT_NARROW. Handle initialisation of V4HF. Adjust initialisation of reinterpret built-ins. (arm_expand_neon_builtin): Handle NEON_FLOAT_WIDEN, NEON_FLOAT_NARROW. (arm_vector_mode_supported_p): Handle V4HF. (arm_mangle_map): Handle V4HFmode. * config/arm/arm.h (VALID_NEON_DREG_MODE): Add V4HF. * config/arm/arm_neon_builtins.def: Add entries for vcvtv4hfv4sf, vcvtv4sfv4hf. * config/arm/neon.md (neon_vcvtv4sfv4hf): New pattern. (neon_vcvtv4hfv4sf): Likewise. * config/arm/neon-gen.ml: Handle half-precision floating point features. * config/arm/neon-testgen.ml: Handle Requires_FP_bit feature. * config/arm/arm_neon.h: Regenerate. * config/arm/neon.ml (type elts): Add F16. (type vectype): Add T_float16x4, T_floatHF. (type vecmode): Add V4HF. (type features): Add Requires_FP_bit feature. (elt_width): Handle F16. (elt_class): Likewise. (elt_of_class_width): Likewise. (mode_of_elt): Refactor. (type_for_elt): Handle F16, fix error messages. (vectype_size): Handle T_float16x4. (vcvt_sh): New function. (ops): Add entries for vcvt_f16_f32, vcvt_f32_f16. (string_of_vectype): Handle T_floatHF, T_float16, T_float16x4. (string_of_mode): Handle V4HF. * doc/arm-neon-intrinsics.texi: Regenerate. 2013-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (check_effective_target_arm_neon_fp16_ok_nocache): New procedure. (check_effective_target_arm_neon_fp16_ok): Likewise. (add_options_for_arm_neon_fp16): Likewise. * gcc.target/arm/neon/vcvtf16_f32.c: New test. Generated. * gcc.target/arm/neon/vcvtf32_f16.c: Likewise. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r198298
2013-04-25[multiple changes]Arnaud Charlet17-2008/+168
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Apply_Predicate_Check): Update the comment associated with the call to Check_Expression_Against_Static_Predicate. * sem_ch3.adb (Analyze_Object_Declaration): Update the comment associated with the call to Check_Expression_Against_Static_Predicate. * sem_util.adb (Check_Expression_Against_Static_Predicate): Broaden the check from a static expression to an expression with a known value at compile time. * sem_util.ads (Check_Expression_Against_Static_Predicate): Update comment on usage. 2013-04-25 Thomas Quinot <quinot@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, cases Position, First_Bit, and Last_Bit): Fix incorrect test in implementation of RM 2005 13.5.2(3/2). 2013-04-25 Claire Dross <dross@adacore.com> * a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb, a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads (Query_Element): Removed. (Update_Element): Removed. (Insert): The version with no New_Item specified is removed. (Iterate): Removed. (Write): Removed. (Read): Removed. Every check of fields Busy and Lock has been removed. 2013-04-25 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove call to S14_Pragma (Find_Related_Subprogram): Require proper placement in subprogram body (Find_Related_Subprogram): Detect duplicates for all cases (Find_Related_Subprogram): Handle case of spec nested inside body. From-SVN: r198297
2013-04-25[multiple changes]Arnaud Charlet6-102/+149
2013-04-25 Arnaud Charlet <charlet@adacore.com> * par-prag.adb: Fix typo. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Apply_Predicate_Check): If the type has a static predicate and the expression is also static, check whether the expression satisfies the predicate. * sem_ch3.adb (Analyze_Object_Declaration): If the type has a static predicate and the expression is also static, see if the expression satisfies the predicate. * sem_util.adb: Alphabetize several routines. (Check_Expression_Against_Static_Predicate): New routine. * sem_util.ads (Check_Expression_Against_Static_Predicate): New routine. From-SVN: r198296
2013-04-25gnat_rm.texi: Document Reason argument for pragma Warnings.Robert Dewar5-23/+71
2013-04-25 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document Reason argument for pragma Warnings. * par-prag.adb: Handle Reason parameter for pragma Warnings. * sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument. * snames.ads-tmpl (Name_Reason): New name entry. From-SVN: r198295
2013-04-25[multiple changes]Arnaud Charlet6-61/+105
2013-04-25 Yannick Moy <moy@adacore.com> * exp_spark.adb (Expand_SPARK_N_In): Remove procedure. (Expand_SPARK): Remove special expansion for membership tests. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Update all places that should use constant Base_Typ. When building an invariant check, account for invariants coming from the base type. Prevent the creation of a junk invariant check when the related object is of an array type and it is initialized with an aggregate. * exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use the base type to create an invariant call when the type of the expression is a composite subtype. 2013-04-25 Vasiliy Fofanov <fofanov@adacore.com> * a-cborse.adb: Fix minor typo. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Different_Generic_Profile): A spec and body match in an instance if a subtype declaration that renames a generic actual with the same name appears between spec and body. From-SVN: r198294
2013-04-25[multiple changes]Arnaud Charlet4-38/+34
2013-04-25 Robert Dewar <dewar@adacore.com> * sem_util.adb: Minor reformatting. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to fold strings with a single others choice only if there are no expressions in the aggregate. 2013-04-25 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Update doc on Ada 2012 default mode. From-SVN: r198293
2013-04-25[multiple changes]Arnaud Charlet6-486/+551
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb: Add with and use clause for Stringt. (Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters Decls and Stmts along with comments on their usage. * exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6. * sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6. (Process_Contract_Cases): Update the call to Expand_Contract_Cases. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * gnat_rm.texi: Minor editing, to clarify use of dimension aspects. * sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an aggregate for a packed type, which may be converted into an unchecked conversion of an object. From-SVN: r198292
2013-04-25sem_prag.adb: Minor code reorganization (correct misspelling Restiction).Robert Dewar10-406/+826
2013-04-25 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor code reorganization (correct misspelling Restiction). * sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting. * gnat_rm.texi: Document impl-defined aspects. * sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor reformatting. From-SVN: r198291
2013-04-25[multiple changes]Arnaud Charlet9-256/+385
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Set_Abstract_States): The attribute now applies to generic packages. * sem_ch4.adb (Referenced): Moved to sem_util. * sem_ch7.adb (Unit_Requires_Body): A [generic] package with a non-null abstract state needs a body. * sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls to Collect_Subprogram_Inputs_Outputs. (Analyze_Global_Item): Verify the proper usage of an item with mode In_Out or Output relative to the enclosing context. (Analyze_Pragma): Abstract_State can now be applied to a generic package. Do not reset the Analyzed flag for pragmas Depends and Global as this is not needed. (Appears_In): Moved to library level. (Check_Mode_Restiction_In_Enclosing_Context): New routine. (Collect_Subprogram_Inputs_Outputs): Moved to library level. Add formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global seen along with comments on usage. * sem_util.ads, sem_util.adb (Referenced): New routine. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Expand_Contract_Cases): Generate detailed error messages only when switch -gnateE is in effect. 2013-04-25 Yannick Moy <moy@adacore.com> * sem_attr.adb (Analyze_Attribute): Do not issue an error for a possibly misplaced 'Result or 'Old attribute when analyzing the aspect. From-SVN: r198290
2013-04-25sem_ch12.adb, [...]: Minor reformatting.Robert Dewar4-82/+88
2013-04-25 Robert Dewar <dewar@adacore.com> * sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting. From-SVN: r198289
2013-04-25[multiple changes]Arnaud Charlet7-21/+117
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb (Analyze_Quantified_Expression): Add local variable Loop_Id. Verify that the loop variable is used within the condition of the quantified expression. (Referenced): New routine. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_case.adb (Analyze_Choices): Enhance the error message given on a bad use of subtype predicate. * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance the error message given on a bad use of subtype predicate. * sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter Suggest_Static. Emit an extra error message advising how to remedy the bad use of the predicate if the context warrants it. * sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter Suggest_Static along with a comment explaining its usage. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Further refinement to checks for AI05-0125: the check for a hidden primitive that may be overridden by the new declaration only applies if the hidden operation is never declared. This is not the case if the operation is declared in a parent unit. From-SVN: r198288
2013-04-25[multiple changes]Arnaud Charlet15-215/+261
2013-04-25 Robert Dewar <dewar@adacore.com> * debug.adb: Remove d.X and d.Y entries and documentation. * exp_ch4.adb (Expand_N_If_Expression): Remove special code used if expression with actions not available (now always available). (Expand_Short_Circuit_Operator): Same change. * gnat1drv.adb (Adjust_Global_Switches) Remove setting Use_Expression_With_Actions flag, since this is now obsolete. * opt.ads (Use_Expression_Actions): Removed (always True now). * sinfo.ads: Minor comment updates. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Check_Generic_Actuals): If an actual is an array subtype whose base type is currently private, install full view when compiling instance body. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Refine checks for AI05-0125: the check for a hidden primitive that may be overridden by the new declaration is only performed if the declaration comes from source, and it must carry an explicit overriding indicator. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Abstract_States): The attribute now applies to generic packages. * sem_ch3.adb (Analyze_Object_Declaration): Check whether an object declaration introduces an illegal hidden state. * sem_prag.adb (Analyze_Abstract_State): Check whether a state declaration introduces an illegal hidden state. * sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may be to a protected function, in which case the name in the call is a selected component. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb (Analyze_Quantified_Expression): Warn on a suspicious use of quantifier "some" when "all" was meant. (No_Else_Or_Trivial_True): New routine. From-SVN: r198287
2013-04-25[multiple changes]Arnaud Charlet5-49/+69
2013-04-25 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb: Put back with/use for Namet. (Get_Pragma): New name (wi new spec) for Find_Pragma. * sem_ch6.adb: Change name Find_Pragma to Get_Pragma with different interface. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Is_Visible_Component): In an instance all components are visible. From-SVN: r198286
2013-04-25[multiple changes]Arnaud Charlet11-27/+145
2013-04-25 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for tampering when container empty. * a-crbtgk.adb (Ceiling, Find, Floor): ditto. (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint): ditto. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * par-ch12.adb: Move aspects from package specification to generic package declaration. * sem_ch12.adb: Analyze aspect specifications before building and analyzing the generic copy, so that the generated pragmas are properly taken into account. * sem_ch13.adb: For compilation unit aspects that apply to a generic package declaration, insert corresponding pragmas ahead of visible declarations. * sprint.adb: Display properly the aspects of a generic type declaration. 2013-04-25 Robert Dewar <dewar@adacore.com> * frontend.adb: Minor reformatting. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * einfo.ads: Extend documentation on use of Is_Private_Ancestor for untagged types. * sem_ch3.adb (Is_Visible_Component): Refine predicate for the case of untagged types derived from private types, to reject illegal selected components. From-SVN: r198285
2013-04-25[multiple changes]Arnaud Charlet6-4/+49
2013-04-25 Gary Dismukes <dismukes@adacore.com> * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test for case of selecting from an unexpanded implicit dereference and do not make a recursive call on such a prefix. 2013-04-25 Doug Rupp <rupp@adacore.com> * targparm.adb (VXF{_Str}): New tag for vaxfloat. (Get_Target_Parameters): Handle VXF tag. * targparm.ads (VAX_Float_On_Target): New boolean. * system-vms-ia64.ads (VAX_Float): New boolean. * frontend.adb (Frontend): Handle VAX float boolean. From-SVN: r198284
2013-04-25einfo.ads, einfo.adb: Remove with and use clauses for Namet.Hristian Kirtchev6-61/+62
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads, einfo.adb: Remove with and use clauses for Namet. (Find_Pragma): New routine. * sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Add_Call): Do not capture the nature of the inherited predicate. (Add_Predicates): Save the static predicate for diagnostics and error reporting purposes. (Process_PPCs): Remove local variables Dynamic_Predicate_Present and Static_Predicate_Present. Add local variable Static_Pred. Ensure that the expression of a static predicate is static. From-SVN: r198283
2013-04-25[multiple changes]Arnaud Charlet6-22/+151
2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Is_Ghost_Subprogram): Remove useless code. 2013-04-25 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor addition of index entry. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Check_Access_Invariants): Test whether an invariant procedure is empty before generating a call to it. (Has_Enabled_Predicate): New routine. (Has_Null_Body): New routine. (Process_PPCs): Test whether an invariant procedure is empty before generating a call to it. Test whether predicates are enabled for a particular type before generating a predicate call. * sem_util.ads, sem_util.adb (Find_Pragma): New routine. From-SVN: r198282
2013-04-25sem_ch7.adb, [...]: Minor reformatting.Robert Dewar6-22/+20
2013-04-25 Robert Dewar <dewar@adacore.com> * sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl, snames.ads-tmpl: Minor reformatting. From-SVN: r198281
2013-04-25sem_ch7.adb: Minor reformatting.Thomas Quinot2-1/+5
2013-04-25 Thomas Quinot <quinot@adacore.com> * sem_ch7.adb: Minor reformatting. From-SVN: r198280
2013-04-25[AArch64] Fix printf format warning in aarch64_print_operandJames Greenhalgh2-1/+6
gcc/ * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf format specifier in 'X' case. From-SVN: r198278
2013-04-25[multiple changes]Arnaud Charlet19-117/+205
2013-04-25 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed). * s-tarest.adb: Minor reformatting. 2013-04-25 Hristian Kirtchev <kirtchev@adacore.com> * aspects.ads, aspects.adb: Remove aspect Ghost from all relevant tables. * einfo.adb: Remove with and use clause for Aspects. (Is_Ghost_Function): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Subprogram): New routine. * einfo.ads: Remove synthesized attribute Is_Ghost_Function along with its uses in entities. Add synthesized attributes Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related entities. (Is_Ghost_Function): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Subprogram): New routine. * par-prag.adb: Remove pragma Ghost from the processing machinery. * repinfo.adb (List_Mechanisms): Add a value for convention Ghost. * sem_attr.adb (Analyze_Access_Attribute): Update the check for ghost subprograms. * sem_ch4.adb (Analyze_Call): Update the check for calls to ghost subprograms. (Check_Ghost_Function_Call): Removed. (Check_Ghost_Subprogram_Call): New routine. * sem_ch6.adb (Check_Convention): Rewritten. (Check_Overriding_Indicator): Remove the check for overriding ghost functions. (Convention_Of): New routine. * sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost generic actual subprograms. * sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost. * sem_prag.adb: Remove the value for pragma Ghost from table Sig_Flags. (Analyze_Pragma): Remove the processing for pragma Ghost. (Process_Convention): Emit an error when a ghost subprogram attempts to override. (Set_Convention_From_Pragma): Emit an error when a ghost subprogram attempts to override. * sinfo.ads: Clarify the usage of field Label_Construct. * snames.adb-tmpl (Get_Convention_Id): Add an entry for predefined name Ghost. (Get_Convention_Name): Add an entry for convention Ghost. * snames.ads-tmpl: Move predefined name Ghost to the sublist denoting conventions. Add convention id Ghost. Remove pragma id Ghost. 2013-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child units if within a generic hierarchy. From-SVN: r198275
2013-04-25re PR target/57052 (missed optimization with rotate and mask)Alan Modra2-58/+637
PR target/57052 * config/rs6000/rs6000.md (rotlsi3_internal7): Rename to rotlsi3_internal7le and condition on !BYTES_BIG_ENDIAN. (rotlsi3_internal8be): New BYTES_BIG_ENDIAN insn. Repeat for many other rotate/shift and mask patterns using subregs. Name lshiftrt insns. (ashrdisi3_noppc64): Rename to ashrdisi3_noppc64be and condition on WORDS_BIG_ENDIAN. From-SVN: r198274
2013-04-25config.host: Match little-endian powerpc-linux.Alan Modra10-87/+131
libgcc/ * config.host: Match little-endian powerpc-linux. gcc/ * config.gcc: Support little-endian powerpc-linux targets. * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define. (LINK_OS_LINUX_SPEC): Define. * config/rs6000/linuxspe.h (TARGET_DEFAULT): Preserve MASK_LITTLE_ENDIAN. * config/rs6000/default64.h (TARGET_DEFAULT): Likewise. * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise. * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero. (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define. (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above. * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF. Correct fp word order for little-endian. Don't shift toc entries smaller than a word for little-endian. * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment. (bswapdi2 splits): Correct low-part subreg for little-endian. Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove low/high where such is correct only for be. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow little-endian for -mcall-aixdesc. From-SVN: r198273
2013-04-25rs6000.c (rs6000_secondary_reload_inner): Use replace_equiv_address_nv.Alan Modra2-1/+6
* config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use replace_equiv_address_nv. From-SVN: r198272
2013-04-25rs6000.c (rs6000_emit_set_long_const): Tidy.Alan Modra2-47/+36
* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Tidy. From-SVN: r198271
2013-04-25Daily bump.GCC Administrator1-1/+1
From-SVN: r198270
2013-04-24revert: rtl.h (struct rtx_def): ...Vladimir Makarov7-167/+72
2013-04-24 Vladimir Makarov <vmakarov@redhat.com> Revert: 2013-04-24 Vladimir Makarov <vmakarov@redhat.com> * rtl.h (struct rtx_def): ... From-SVN: r198266
2013-04-24re PR rtl-optimization/57046 (wrong code generated by gcc 4.8.0 on i686)Vladimir Makarov4-1/+98
2013-04-24 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimizations/57046 * lra-constraints (split_reg): Set up lra_risky_transformations_p for multi-reg splits. 2013-04-24 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimizations/57046 * gcc.target/i386/pr57046.c: New test. From-SVN: r198263
2013-04-24Handle -mx32 in x86-64 ASM_SPECH.J. Lu2-1/+5
* config/i386/x86-64.h (ASM_SPEC): Support -mx32. From-SVN: r198262
2013-04-24cpplib.h (enum c_lang): Add CLK_GNUCXX1Y and CLK_CXX1Y.Paolo Carlini4-1/+14
/libcpp 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * include/cpplib.h (enum c_lang): Add CLK_GNUCXX1Y and CLK_CXX1Y. * init.c (lang_defaults): Add defaults for the latter. (cpp_init_builtins): Define __cplusplus as 201300L for the latter. * lex.c (_cpp_lex_direct): Update. /gcc/c-family 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y. /gcc/testsuite 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1y/cplusplus.C: New. From-SVN: r198261
2013-04-24* invoke.texi: Update expected date for C++1y.Jason Merrill1-1/+1
From-SVN: r198260
2013-04-242013-04-24 Sterling Augustine <saugustine@google.com>Sterling Augustine2-45/+146
* dwarf2out.c (skeleton_debug_str_hash, add_skeleton_AT_string) (comp_dir_string, debug_str_dwo_section): New. (DEBUG_STR_DWO_SECTION): Rename to ... (DEBUG_DWO_STR_SECTION): ... this. (DEBUG_NORM_STR_SECTION): Delete. (DEBUG_STR_SECTION, DEBUG_STR_SECTION_FLAGS): Edit definitions. (DEBUG_STR_DWO_SECTION_FLAGS): New. (find_AT_string): Move most logic to ... (find_AT_string_in_table): ... here. New. (add_top_level_skeleton_die_attrs): Call comp_dir_string and add_skeleton_AT_string. Delete logic. (output_skeleton_debug_sections): Remove call to add_top_level_skeleton_die_attrs. (add_comp_dir_attribute): Move logic to comp_dir_string. (dwarf2out_init): Initialize debug_str_dwo_section. (output_indirect_string): Call find_string_form. (output_indirect_strings): Rewrite. (prune_unused_types): Empty skeleton_debug_str_hash. Call get_skeleton_type_unit and add_top_level_skeleton_die_attrs. (dwarf2out_finish): Call output_indirect_strings. From-SVN: r198259
2013-04-24cpp.texi: Remove __GXX_EXPERIMENTAL_CXX1Y__.Paolo Carlini6-15/+14
2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * doc/cpp.texi: Remove __GXX_EXPERIMENTAL_CXX1Y__. /c-family 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_EXPERIMENTAL_CXX1Y__. /testsuite 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1y/cxx1y_macro.C: Remove. From-SVN: r198258
2013-04-24re PR c++/53721 ([C++11] "this" not allowed in trailing return type)Jason Merrill3-1/+16
PR c++/53721 * parser.c (cp_parser_postfix_dot_deref_expression): Fix thinko. From-SVN: r198257
2013-04-24c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.Paolo Carlini9-14/+63
/c-family 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> Manuel Lopez-Ibanez <manu@gcc.gnu.org> * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented. * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns to simply use OPT_Wpointer_arith. (c_sizeof_or_alignof_type): Likewise. /cp 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * typeck.c (cxx_sizeof_or_alignof_type): Change -Wpointer-arith pedwarn to simply use OPT_Wpointer_arith. (cp_build_unary_op): Likewise. /c 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns to simply use OPT_Wpointer_arith. (build_unary_op): Likewise. /testsuite 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * c-c++-common/Wpointer-arith-1.c: New. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r198256
2013-04-24rtl.h (struct rtx_def): Add comment for field jump.Vladimir Makarov7-66/+199
2013-04-24 Vladimir Makarov <vmakarov@redhat.com> * rtl.h (struct rtx_def): Add comment for field jump. (LRA_SUBREG_P): New macro. * recog.c (register_operand): Check LRA_SUBREG_P. * lra.c (lra): Add note at the end of RTL code. Align non-empty stack frame. * lra-spills.c (lra_spill): Align stack after spilling pseudos. (lra_final_code_change): Skip subreg change for operators. * lra-eliminations.c (eliminate_regs_in_insn): Make return earlier if there are no operand changes. * lra-constraints.c (curr_insn_set): New. (match_reload): Set LRA_SUBREG_P. (emit_spill_move): Ditto. (check_and_process_move): Use curr_insn_set. Process only single set insns. Don't initialize sec_mem_p and change_p. (simplify_operand_subreg): Use LRA_SUBREG_P. (reg_in_class_p): New function. (process_alt_operands): Use it. Use #if HAVE_ATTR_enabled instead of #ifdef. Add code to remove cycling. (process_address): Check EXTRA_CONSTRAINT_STR. Process even if non-null disp. Reload inner instead of disp when base and index are null. Try to put lo_sum into register. (EBB_PROBABILITY_CUTOFF): Redefine probability in percents. (check_and_process_move): Move code for move cost check to simple_move_p. Remove equiv_substitution. (simple_move_p): New function. (curr_insn_transform): Initialize sec_mem_p and change_p. Set up curr_insn_set. Call check_and_process_move only for single set insns. Use the new function. Move call of check_and_process_move after operand equiv substitution and address process. From-SVN: r198252
2013-04-24[AArch64] Fix vld1<q>_* asm constraints in arm_neon.hJames Greenhalgh2-240/+246
gcc/ * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints. (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise. (vld1<q>_<sufp><8, 16, 32, 64>): Likewise. From-SVN: r198250
2013-04-24cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__.Paolo Carlini6-1/+27
2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. /c-family 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. /testsuite 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1y/cxx1y_macro.C: New. From-SVN: r198249
2013-04-24N3648: init-captures are named.Jason Merrill4-7/+33
* semantics.c (add_capture): Don't prepend "__" to init-captures. (build_capture_proxy): Adjust. * error.c (dump_simple_decl): Check DECL_NORMAL_CAPTURE_P. From-SVN: r198247
2013-04-24N3648: Allow braced and parenthesized initializers.Jason Merrill6-13/+51
* parser.c (cp_parser_lambda_introducer): Use cp_parser_initializer. * pt.c (tsubst) [DECLTYPE_TYPE]: Handle DECLTYPE_FOR_INIT_CAPTURE. * semantics.c (lambda_capture_field_type): Use do_auto_deduction. (add_capture): Collapse a parenthesized initializer into a single expression. * cp-tree.h (DECLTYPE_FOR_INIT_CAPTURE): New. From-SVN: r198246
2013-04-24Update dependencies.Arnaud Charlet1-1418/+1467
From-SVN: r198245
2013-04-24[multiple changes]Arnaud Charlet11-284/+310
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Expand_Actuals): Add a predicate check on an actual the related type has a predicate function. * sem_ch3.adb (Constant_Redeclaration): Ensure that the related type has an invariant procedure before building a call to it. * sem_ch6.adb (Append_Enabled_Item): New routine. (Check_Access_Invariants): Use routine Append_Enabled_Item to chain onto the list of postconditions. (Contains_Enabled_Pragmas): Removed. (Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto the list of postconditions. (Invariants_Or_Predicates_Present): Removed. (Process_PPCs): Partially reimplemented. 2013-04-24 Sergey Rybin <rybin@adacore.com frybin> * tree_io.ads: Update ASIS_Version_Number because of changes in the way how entities are chained in a scope by means of Next_Entity link. 2013-04-24 Ed Schonberg <schonberg@adacore.com> * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case Storage_Size): If the clause is not from an aspect, insert assignment to size variable of task type at the point of the clause, not after the task definition, to prevent access before elaboration in the back-end. 2013-04-24 Yannick Moy <moy@adacore.com> * sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume. 2013-04-24 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Document 'Loop_Entry. 2013-04-24 Jose Ruiz <ruiz@adacore.com> * s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for fall-back termination handlers from the parents, because they apply only to dependent tasks. * s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back termination handlers because the environment task has no parent, and if it defines one of these handlers it does not apply to itself because they apply only to dependent tasks. From-SVN: r198244
2013-04-24[multiple changes]Arnaud Charlet16-82/+187
2013-04-24 Robert Dewar <dewar@adacore.com> * sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting. 2013-04-24 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document 'Update attribute. * sem_attr.adb (Analyze_Attribute, case Update): Remove call to S14_Attribute (S14_Attribute): removed. 2013-04-24 Robert Dewar <dewar@adacore.com> * interfac.ads: Add size clauses for IEEE_Float_32/64 2013-04-24 Claire Dross <dross@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Remove special assignment of Use_Expression_With_Actions for SPARK_Mode. 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Apply_Predicate_Check): Check for the presence of the dynamic predicate aspect when trying to determine if the predicate of a type is non-static. * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for the presence of the dynamic predicate aspect when trying to determine if the predicate of a type is non- static. * sem_ch13.adb (Add_Call): Capture the nature of the inherited ancestor predicate. (Build_Predicate_Functions): Update comments. Rewrite the checks on static predicate application. Complain about the form of a non-static expression only when the type is static. 2013-04-24 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: Add guard to tree traversal. 2013-04-24 Vincent Celier <celier@adacore.com> * clean.adb (Clean): Remove local variable Root_Environment, use Makeutl.Root_Environment instead. * gnatcmd.adb: Remove local variable Root_Environment, use Makeutl.Root_Environment instead. * make.adb (Gnatmake): Remove local variable Root_Environment, use Makeutl.Root_Environment instead. * prj-makr.adb: Remove local variable Root_Environment, use Makeutl.Root_Environment instead. From-SVN: r198243