aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-26[multiple changes]Arnaud Charlet8-162/+211
2012-04-26 Robert Dewar <dewar@adacore.com> * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * s-finroo.ads: Remove with clause for Ada.Streams. Type Root_Controlled is now abstract tagged null record. Remove internal package Stream_Attributes. Root_Controlled doesn't need stream attribute redeclaration and avoids the dependency on streams. 2012-04-26 Tristan Gingold <gingold@adacore.com> * adaint.c (to_host_path_spec): Removed (unused). Minor reformatting. 2012-04-26 Steve Baird <baird@adacore.com> * gnat_rm.texi Improve description of Valid_Scalars attribute. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Can_Override_Operator): If the formal is a generic type the operator cannot be overriding. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type is declared in a package specification, and current unit is the corresponding package body. The use clauses themselves may be within a nested package. 2012-04-26 Bob Duff <duff@adacore.com> * exp_ch2.adb (Param_Entity): Take into account the case where the type of the entry parameter has a representation clause. From-SVN: r186870
2012-04-26[multiple changes]Arnaud Charlet3-7/+24
2012-04-26 Ed Schonberg <schonberg@adacore.com> * gnat_ugn.texi: Tweak dimensionality doc. 2012-04-26 Robert Dewar <dewar@adacore.com> * sem_eval.adb: Minor reformatting. From-SVN: r186869
2012-04-26[multiple changes]Arnaud Charlet11-79/+244
2012-04-26 Robert Dewar <dewar@adacore.com> * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb, sem_eval.adb: Minor reformatting. 2012-04-26 Thomas Quinot <quinot@adacore.com> * freeze.adb: Minor change in error wording. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * gnat_ugn.texi: Documentation on dimensional analysis. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb, einfo.ads: Remove synthesized attribute Proper_First_Index along with its associations in various nodes. (Proper_First_Index): Removed. * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new local variable Index_Type. The index type of a string literal subtype is that of the stored low bound. * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index. * sem_res.adb (Resolve_Slice): Alphabetize constants. Add new local variable Index_Type. The index type of a string literal subtype is that of the stored low bound. (Set_String_Literal_Subtype): Code reformatting. From-SVN: r186868
2012-04-26[multiple changes]Arnaud Charlet10-34/+175
2012-04-26 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to Requires_Cleanup_Actions. * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean; Boolean)): Rename formal parameter For_Package to Lib_Level to better reflect its purpose. Update the related comment and all occurrences of For_Package in the body. (Requires_Cleanup_Actions (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add local constant At_Lib_Level to keep monitor whether the path taken from the top-most context to the current construct involves package constructs. Update all calls to Requires_Cleanup_Actions. * exp_util.ads (Requires_Cleanup_Actions): Add new formal parameter Lib_Level and associated comment. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): If the type of the formal is a non null access type, mark the generated subtype as having a delayed freeze only if the designated type is not frozen yet. 2012-04-26 Vincent Celier <celier@adacore.com> * prj-attr.adb: New package Clean with attributes Object_Artifact_Extensions and Source_Artifact_Extensions. * prj-nmsc.adb (Process_Clean): Process new package Clean * prj.ads (Language_Config): New components Clean_Object_Artifacts and Clean_Source_Artifacts. * snames.ads-tmpl: New standard names Clean, Object_Artifact_Extensions and Source_Artifact_Extensions. From-SVN: r186867
2012-04-26[multiple changes]Arnaud Charlet7-38/+81
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Proper_First_Index): Moved from Sem_Util. * einfo.ads: Add new synthesized attribute Proper_First_Index along with usage in nodes. (Proper_First_Index): Moved from Sem_Util. * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo. 2012-04-26 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Component_List): Test for the case of a single variant and the size of its component list was computed as an integer literal, and use that size (which is in bits) as is rather than converting to storage units. 2012-04-26 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. From-SVN: r186866
2012-04-26[multiple changes]Arnaud Charlet5-35/+108
2012-04-26 Robert Dewar <dewar@adacore.com> * sem_util.adb: Minor reformatting. 2012-04-26 Thomas Quinot <quinot@adacore.com> * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference, Packed_Array_Aggregate_Handled.Get_Component_Val): Reverse bit numbering within PAT when Reverse_Storage_Order applies to the enclosing record. 2012-04-26 Thomas Quinot <quinot@adacore.com> * freeze.adb (Freeze_Record_Type): Improve error message for Scalar_Storage_Order inconsistent with Bit_Order. From-SVN: r186865
2012-04-26Add sparc Niagara4 scheduling description and tweaks.David S. Miller4-4/+122
gcc/ * config/sparc/niagara4.md: New file. * config/sparc/sparc.md: Include it. * config/sparc/sparc.c (niagara4_costs): New processor costs. (sparc_option_override): Use it. (sparc_use_sched_lookahead): Return 2 for niagara4. (sparc_issue_rate): Likewise. From-SVN: r186864
2012-04-26Fix sparc instruction type settings and sched bugs.David S. Miller6-34/+70
gcc/ * config/sparc/sparc.md (attr type): Delete 'fgm_cmp'. (fpack16_vis, fpackfix_vis, fpack32_vis): Set type to fgm_pack. (fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis, fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis): Set type to fgm_mul. (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis): Set type to gsr. (pdist_vis, pdistn<mode>_vis): Set type to fgm_pdsit. (fcmp<code><GCM:gcm_name><P:mode>_vis, cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis, v<vis3_shift_patname><mode>3, fmean16_vis, fp<plusminus_insn>64_vis, <vis3_addsub_ss_patname><mode>3, fucmp<code>8<P:mode>_vis): Set type to fga. * config/sparc/ultra1_2.md: Remove refrences to fgm_cmp. * config/sparc/niagara.md: Likewise. * config/sparc/niagara2.md: Likewise. * config/sparc/ultra3.md: Likewise, and fix type matching for us3_ialuX reservation. From-SVN: r186863
2012-04-26reload.c (find_reloads): Change the loop nesting when trying an alternative ↵Andreas Krebbel2-761/+779
with swapped operands. 2012-04-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * reload.c (find_reloads): Change the loop nesting when trying an alternative with swapped operands. From-SVN: r186861
2012-04-26tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix comment.Manuel López-Ibáñez5-21/+31
2012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org> * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix comment. Delete unused parameter first_exp_point_map. (virt_loc_aware_diagnostic_finalizer): Update call. libcpp/ * line-map.c (linemap_resolve_location): Synchronize comments with those in line-map.h. * include/line-map.h (linemap_resolve_location): Fix spelling in comment. From-SVN: r186860
2012-04-26linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.Michael Hope2-1/+19
2012-04-26 Michael Hope <michael.hope@linaro.org> Richard Earnshaw <rearnsha@arm.com> * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define. (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define. (GLIBC_DYNAMIC_LINKER_DEFAULT): Define. (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path. Co-Authored-By: Richard Earnshaw <rearnsha@arm.com> From-SVN: r186859
2012-04-26mksysinfo, net: Always define syscall.SO_REUSEPORT.Ian Lance Taylor2-4/+6
From-SVN: r186857
2012-04-26hashtable.h: Adjust doxygen markup for base classes.Benjamin Kosnik3-13/+30
2012-04-25 Benjamin Kosnik <bkoz@redhat.com> * include/bits/hashtable.h: Adjust doxygen markup for base classes. * include/bits/hashtable_policy.h: Same. From-SVN: r186856
2012-04-26i386-cpuinfo.c (FEATURE_AVX2): New enum value.Sriraman Tallam7-5/+39
2012-04-25 Sriraman Tallam <tmsriram@google.com> * config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value. (get_available_features): New argument. Check for AVX2. (__cpu_indicator_init): Modify call to get_available_features. * doc/extend.texi: Document avx2 support. * config/i386/i386.c (fold_builtin_cpu): Add avx2. * testsuite/gcc.target/i386/builtin_target.c: Check avx2. From-SVN: r186855
2012-04-26Daily bump.GCC Administrator1-1/+1
From-SVN: r186854
2012-04-26savres.c: New test.Alan Modra3-1/+1173
* gcc.target/powerpc/savres.c: New test. * gcc.target/powerpc/powerpc.exp: Run it. From-SVN: r186850
2012-04-25re PR libstdc++/52689 (static linking with libstdc++ fails)Benjamin Kosnik4-3/+63
2012-04-25 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/52689 * testsuite/17_intro/static.cc: Fix. * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New. From-SVN: r186845
2012-04-25re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko ↵Hans-Peter Nilsson2-0/+115
-fno-tree-sra) PR target/53120 * gcc.dg/torture/pr53120.c: New test. From-SVN: r186844
2012-04-25re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko ↵Hans-Peter Nilsson2-40/+61
-fno-tree-sra) PR target/53120 * config/cris/cris.md ("*andhi_lowpart_v32") ("*andqi_lowpart_v32"): Change first input-only operand from a (match_operand ...) to (match_dup 0). Drop alternatives with const_int-matching constraints for redundancy. ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop three-operand alternative. From-SVN: r186843
2012-04-25re PR target/53110 (GCC-4.7 generates stupid x86_64 asm)Jakub Jelinek2-1/+17
PR target/53110 * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg instead expand it as zero extension. From-SVN: r186839
2012-04-25Assert dbx_reg_number doesn't return INVALID_REGNUMH.J. Lu2-1/+9
PR debug/52857 * dwarf2out.c (dbx_reg_number): Assert return value != INVALID_REGNUM. From-SVN: r186837
2012-04-25scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to ↵Jonathan Wakely3-11/+21
varargs function. * include/std/scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to varargs function. * testsuite/20_util/scoped_allocator/1.cc: Fix test. From-SVN: r186836
2012-04-25common.opt (flag_debug_types_section): Default to 0.Jakub Jelinek6-24/+36
* common.opt (flag_debug_types_section): Default to 0. (dwarf_version): Default to 4. (dwarf_record_gcc_switches): Default to 1. (dwarf_strict): Default to 0. * toplev.c (process_options): Don't handle dwarf_strict or dwarf_version here. * config/vxworks.c (vxworks_override_options): Don't test whether dwarf_strict or dwarf_version are negative, instead test !global_options_set.x_dwarf_*. * config/darwin.c (darwin_override_options): Default to dwarf_version 2. * doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches and -fno-debug-types-section are now the default. From-SVN: r186835
2012-04-25cgraphunit.c: Update toplevel comment.Jan Hubicka12-652/+613
* cgraphunit.c: Update toplevel comment. (tree_rest_of_compilation): Merge into cgraph_expand_function. (cgraph_analyze_function): Make static. (cgraph_decide_is_function_needed): Make static. (cgraph_add_new_function): Use expand_function instead of rest_of_compilation. (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt, verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph): Move to cgraph.c (cgraph_inline_p): Remove. (cgraph_preserve_function_body_p): Move to ipa-inline-transform. (init_cgraph): Add comment. * cgraphbuild.c (record_reference, mark_address, mark_load, mark_store): Do not call analyze_expr hook. * cgraph.c: Update toplevel comment. (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt, verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph): Move fere from cgraphunit.c (cgraph_mark_force_output_node): Move to cgraph.h * cgraph.h: Reorder so the comments match the function placement. (cgraph_analyze_function, cgraph_decide_is_function_needed): Remove. (cgraph_mark_force_output_node): Move here from cgraph.c * tree.c (free_lang_data): Do not clear analyze_expr hook. * ipa-inline-transform.c (preserve_function_body_p): New function. (inline_transform): Update. * langhooks.c (lhd_callgraph_analyze_expr): Remove. * langhooks.h (lang_hooks_for_callgraph): Remove. (lang_hooks): Remove callgraph. * tree-inline.c (expand_call_inline): Do not use cgraph_inline_p. * varpool.c: Remove out of date comment. * langhooks-def.h (lhd_callgraph_analyze_expr): Remove. (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove. From-SVN: r186832
2012-04-25Update config.sub to 2012-04-18 version from official repo.Joel Brobecker2-15/+31
ChangeLog: * config.sub: Update to 2012-04-18 version from official repo. From-SVN: r186830
2012-04-25[multiple changes]Arnaud Charlet10-26/+140
2012-04-25 Gary Dismukes <dismukes@adacore.com> * exp_ch9.adb: Add comments on the usage of the lock-free data structures. 2012-04-25 Vincent Pucci <pucci@adacore.com> * exp_intr.adb (Expand_Shift): Convert the left operand and the operator when the type of the call differs from the type of the operator. 2012-04-25 Geert Bosch <bosch@adacore.com> * stand.ads: Minor comment fix. 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix is a string literal. Retrieve the first index from the base type when slicing a string literal. * sem_ch12.adb (Check_Private_View): Move the initialization of the type inside the loop to reflect the changing index. * sem_eval.adb (Eval_Relational_Op): Retrieve the first index from the base type when dealing with a string literal. * sem_res.adb (Resolve_Slice): Retrieve the first index from the base type when slicing a string literal. * sem_util.adb (Is_Internally_Generated_Renaming): New routine. (Is_Object_Reference): String literals may act as object references only when they are renamed internally. (Proper_First_Index): New routine. * sem_util.ads (Proper_First_Index): New routine. From-SVN: r186829
2012-04-25[multiple changes]Arnaud Charlet7-638/+605
2012-04-25 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb, lib-xref.adb: Minor reformatting. 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb: Rename Lock_Free_Sub_Type to Lock_Free_Subprogram. Remove type Subprogram_Id. Rename LF_Sub_Table to Lock_Free_Subprogram_Table. (Allow_Lock_Free_Implementation): Renamed to Allows_Lock_Free_Implementation. Update the comment on lock-free restrictions. Code clean up and restructuring. (Build_Lock_Free_Protected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Build_Lock_Free_Unprotected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Comp_Of): Removed. From-SVN: r186828
2012-04-25[multiple changes]Arnaud Charlet4-20/+45
2012-04-25 Vincent Celier <celier@adacore.com> * sem_ch12.adb (Inherit_Context): Compare library units, not names of units, when checking if a unit is already in the context. 2012-04-25 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb: Reverse_Storage_Order must be propagated to untagged derived record types. 2012-04-25 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Adjust position of end label. From-SVN: r186827
2012-04-25re PR middle-end/53089 (gfortran.dg/coarray/atomic_1.f90 and ↵Jan Hubicka3-16/+35
gfortran.dg/coarray/registering_1.f90) PR middle-end/53089 * cgraphunit.c (referred_to_p): Move ahead in file to avoid forward declaration. (cgraph_finalize_function): Finalize them here. * symtab.c (dump_symtab): Dump ctors and dtors. From-SVN: r186820
2012-04-25re PR tree-optimization/52979 (likely wrong code bug w/packed bitfields)Jakub Jelinek7-5/+139
PR middle-end/52979 * stor-layout.c (get_best_mode): Don't return mode with bitsize larger than maxbits. Don't compute maxbits modulo align. Also check that unit bytes long store at bitpos / unit * unit doesn't affect bits beyond bitregion_end. * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM would not fit into bitregion_start ... bitregion_end + 1 bit region. (store_split_bit_field): Decrease unit close to end of bitregion_end if access is restricted in order to avoid mutual recursion. * gcc.c-torture/compile/pr52979-1.c: New test. * gcc.c-torture/execute/pr52979-1.c: New test. * gcc.c-torture/execute/pr52979-2.c: New test. From-SVN: r186819
2012-04-25l_fma_float_5.c: Adjust.Richard Guenther13-64/+79
2012-04-25 Richard Guenther <rguenther@suse.de> * gcc.target/i386/l_fma_float_5.c: Adjust. * gcc.target/i386/l_fma_double_4.c: Likewise. * gcc.target/i386/l_fma_float_2.c: Likewise. * gcc.target/i386/l_fma_float_6.c: Likewise. * gcc.target/i386/l_fma_double_1.c: Likewise. * gcc.target/i386/l_fma_double_5.c: Likewise. * gcc.target/i386/l_fma_float_3.c: Likewise. * gcc.target/i386/l_fma_double_2.c: Likewise. * gcc.target/i386/l_fma_double_6.c: Likewise. * gcc.target/i386/l_fma_float_4.c: Likewise. * gcc.target/i386/l_fma_double_3.c: Likewise. * gcc.target/i386/l_fma_float_1.c: Likewise. From-SVN: r186817
2012-04-25re PR tree-optimization/53058 (Another ice in remove_range_assertions)Jakub Jelinek6-3/+57
PR tree-optimization/53058 * double-int.h (double_int_max_value, double_int_min_value): New prototypes. * double-int.c (double_int_max_value, double_int_min_value): New functions. * tree-vrp.c (register_edge_assert_for_2): Compare mask for LE_EXPR or GT_EXPR with double_int_max_value instead of double_int_mask. * gcc.c-torture/compile/pr53058.c: New test. From-SVN: r186816
2012-04-25re PR middle-end/53088 (gcc.target/i386/pr39082-1.c)Jan Hubicka2-2/+7
PR middle-end/53088 * gcc.target/i386/pr39082-1.c: Update warning location. From-SVN: r186815
2012-04-25tree-vectorizer.h (vect_loop_versioning): Adjust prototype.Richard Guenther4-46/+39
2012-04-25 Richard Guenther <rguenther@suse.de> * tree-vectorizer.h (vect_loop_versioning): Adjust prototype. * tree-vect-loop.c (vect_transform_loop): Adjust. * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Record the maximum number of iterations for the epilogue loop. (vect_loop_versioning): Remove case re-using the peeled epilogue loop. From-SVN: r186813
2012-04-25re PR c/52880 (-Woverride-init emitts unexpected error)Jakub Jelinek4-2/+24
PR c/52880 * c-typeck.c (set_nonincremental_init, set_nonincremental_init_from_string): Pass true instead of false as IMPLICIT to add_pending_init. * gcc.dg/pr52880.c: New test. From-SVN: r186808
2012-04-25c-typeck.c (pop_init_level): Improve diagnostics.Manuel López-Ibáñez5-6/+17
2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-typeck.c (pop_init_level): Improve diagnostics. testsuite/ * gcc.dg/m-un-2.c: Update. * gcc.dg/20011021-1.c: Update. From-SVN: r186807
2012-04-25re PR fortran/52196 (Add -Wrealloc-lhs)Tobias Burnus8-6/+122
2012-04-25 Tobias Burnus <burnus@net-b.de> PR fortran/52196 * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags. * gfortran.h (gfc_option_t): Add them. * options.c (gfc_init_options, gfc_post_options, gfc_handle_option): Handle them. * invoke.texi: Document them. * trans-expr.c (realloc_lhs_warning): New function. (gfc_trans_arrayfunc_assign, alloc_scalar_allocatable_for_assignment, gfc_trans_assignment_1): Use it. 2012-04-25 Tobias Burnus <burnus@net-b.de> PR fortran/52196 * gfortran.dg/realloc_on_assign_14.f90: New. From-SVN: r186806
2012-04-25compare-elim.c (try_eliminate_compare): Also handle operands with implicit ↵Uros Bizjak2-5/+25
extensions. * compare-elim.c (try_eliminate_compare): Also handle operands with implicit extensions. From-SVN: r186805
2012-04-25re PR go/52341 (crypto/rand FAILs before Solaris 11)Ian Lance Taylor1-2/+3
PR go/52341 crypto/rand: Use io.ReadFull when reading from /dev/urandom. From-SVN: r186803
2012-04-25re PR go/52583 (Several new go testsuite failues on Solaris)Ian Lance Taylor7-9/+166
PR go/52583 net: Solaris fixes. In particular fix fd_select.go to handle the case where a file descriptor is closed by one goroutine while another goroutine is waiting for it. From-SVN: r186801
2012-04-25rs6000 (SAVE_INLINE_VRS, [...]): Define.Alan Modra10-211/+749
gcc/ * config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS, V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG, SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define. (no_global_regs_above): Delete. (no_global_regs): New function. (rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p value for load multiple test. (savres_routine_syms): Increase size. (rs6000_savres_routine_name, rs6000_savres_routine_sym, ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector rather than a number of boolean flags. Update all callers. (rs6000_savres_routine_name): Generate vector save/restore names. (rs6000_savres_routine_sym): Handle vector regs. Delete forward decl. (ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise. (rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline and using_store_multiple. Expand uses. Don't always use r11 as frame reg when needed for out-of-line saves. Set up initial offset for out-of-line vector saves when buying stack frame. Handle pointer reg setup for out-of-line fp save. Emit call to out-of-line vector save function. Choose r11 or r12 for vrsave reg when available for better scheduling. (rs6000_output_function_prologue): Don't emit .extern for ELF. (rs6000_emit_epilogue): Choose a better frame reg when restoring from back-chain to suit out-of-line vector restore functions. Emit call to out-of-line vector restore function. Adjust register used for cr restore. Tweak pointer register setup for gpr restore. * config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account FIXED_R13. * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify. (V_SAVE_INLINE): Define. * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns. libgcc/ * config/rs6000/crtsavevr.S: New file. * config/rs6000/crtrestvr.S: New file. * config/rs6000/t-savresfgpr: Build the above. * config/rs6000/t-netbsd: Likewise. From-SVN: r186800
2012-04-25rs6000.c (rs6000_savres_strategy): Allow out-of-line save/restore for large ↵Alan Modra2-6/+20
frames. * config/rs6000/rs6000.c (rs6000_savres_strategy): Allow out-of-line save/restore for large frames. Don't disable out-of-line saves on ABI_AIX when using static chain reg. (rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not clobber static chain reg, and tweak for out-of-line gpr saves that use r1. From-SVN: r186799
2012-04-25rs6000.c (START_USE, [...]): Define.Alan Modra2-8/+72
* config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define. (rs6000_emit_prologue): Use the above to catch register overlap. From-SVN: r186798
2012-04-25rs6000.c (rs6000_emit_stack_reset): Delete forward decl.Alan Modra2-216/+212
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward decl. Move logic selecting update reg to callers. Update all callers. (rs6000_emit_allocate_stack): Add copy_off param. (emit_frame_save): Don't handle reg+reg addressing. (ptr_regno_for_savres): New function, extracted from.. (rs6000_emit_savres_rtx): ..here. Add lr_offset param. (rs6000_emit_prologue): Generate frame_ptr_rtx as we need it. Set frame_reg_rtx to r11 whenever r11 is needed, and merge frame offset adjustment for out-of-line save with copy from sp. Simplify condition controlling whether cr is saved early or late. Use ptr_regno_for_savres to verify correct reg is set up for out-of-line saves. Pass the actual pointer reg used to rs6000_emit_savres_rtx so rtl matches insns in out-of-line function. Rearrange spe vars so code is similar to that elsewhere in this function. Don't update frame_off when spe save code will restore r11. Use emit_frame_save for spe and gpr saves. Consolidate darwin out-of-line gpr setup with that for other abis. Don't assume frame_offset is zero and frame reg is sp when setting up altivec reg saves, and calculate exact offset requirement. (rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off. Tidy spe restore code. Consolidate darwin out-of-line gpr setup with that for other abis. From-SVN: r186797
2012-04-25rs6000.c (rs6000_frame_related): Don't emit a REG_FRAME_RELATED_EXPR note ↵Alan Modra2-27/+70
when... * config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a REG_FRAME_RELATED_EXPR note when the instruction exactly matches the replacement. (emit_frame_save): Delete frame_ptr param. Rename total_size to frame_reg_to_sp. (rs6000_emit_prologue): Add sp_off. Update rs6000_frame_related and emit_frame_save calls. Cope with possibly missing note. From-SVN: r186796
2012-04-25i386-cpuinfo.c: Set __cpu_vendor always.Sriraman Tallam2-3/+16
2012-04-24 Sriraman Tallam <tmsriram@google.com> * libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always. From-SVN: r186795
2012-04-25re PR libstdc++/52689 (static linking with libstdc++ fails)Benjamin Kosnik2-0/+36
2012-04-24 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/52689 * testsuite/17_intro/static.cc: New. From-SVN: r186794
2012-04-25Daily bump.GCC Administrator1-1/+1
From-SVN: r186793
2012-04-25This patch adds new builtins to check for cpu type and features.Sriraman Tallam10-1/+921
2012-04-24 Sriraman Tallam <tmsriram@google.com> This patch adds new builtins to check for cpu type and features. * __builtin_cpu_is ("<CPUNAME>") * __builtin_cpu_supports ("<FEATURE>") apart from the cpu init builtin, __builtin_cpu_init. List of CPU names : * "amd" * "intel" * "atom" * "core2" * "corei7" * "nehalem" * "westmere" * "sandybridge" * "amdfam10h" * "barcelona" * "shanghai" * "istanbul" * "bdver1" * "bdver2" List of CPU features : * "cmov" * "mmx" * "popcnt" * "sse" * "sse2" * "sse3" * "ssse3" * "sse4.1" * "sse4.2" * "avx" * config/i386/i386.c (build_processor_model_struct): New function. (make_var_decl): New function. (fold_builtin_cpu): New function. (ix86_fold_builtin): New function. (make_cpu_type_builtin): New function. (ix86_init_platform_type_builtins): New function. (ix86_expand_builtin): Expand new builtins by folding them. (ix86_init_builtins): Make new builtins to detect CPU type. (TARGET_FOLD_BUILTIN): New macro. (IX86_BUILTIN_CPU_INIT): New enum value. (IX86_BUILTIN_CPU_IS): New enum value. (IX86_BUILTIN_CPU_SUPPORTS): New enum value. * config/i386/i386-builtin-types.def: New function type. * testsuite/gcc.target/builtin_target.c: New testcase. * doc/extend.texi: Document builtins. * libgcc/config/i386/i386-cpuinfo.c: New file. * libgcc/config/i386/t-cpuinfo: New file. * libgcc/config.host: Include t-cpuinfo. * libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model. From-SVN: r186789
2012-04-24unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.Chao-ying Fu2-0/+9
2012-04-24 Chao-ying Fu <fu@mips.com> * unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC. From-SVN: r186788