- 24 Jul, 2011 3 commits
-
-
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the left operand as addressable. From-SVN: r176713
Eric Botcazou committed -
* gcc-interface/gigi.h (build_function_stub): Remove. (build_return_expr): Likewise. (convert_vms_descriptor): Declare. * gcc-interface/utils.c (convert_vms_descriptor): Make global. (build_function_stub): Move to... * gcc-interface/utils2.c (build_return_expr): Move to... * gcc-interface/trans.c (build_function_stub): ...here. (build_return_expr): ...here. (Subprogram_Body_to_gnu): Add local variable for language_function. Disconnect the parameter attributes cache, if any, once done with it. Call end_subprog_body only after setting the end_locus. Build the stub associated with the function, if any, at the very end. (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local variables and streamline control flow. From-SVN: r176712
Eric Botcazou committed -
From-SVN: r176711
GCC Administrator committed
-
- 23 Jul, 2011 17 commits
-
-
This kinda-sorta corresponds to Bernd's 007-dw2cfi patch. Certainly the same concepts of splitting the instruction stream into extended basic blocks is the same. This patch does a bit better job with the documentation. Also, I'm a bit more explicit about matching things up with the similar code from the regular CFG routines. What's missing at this point is any attempt to use DW_CFA_remember_state. I've deferred that for the moment because it's easy to test the state change code across epilogues, whereas the shrink-wrapping code is not in this tree and section switching is difficult to force. * dwarf2cfi.c: Include basic-block.h. (dw_label_info): Remove. (trace_work_list, trace_index): New. (remember_row, emit_cfa_remember): Remove. (dw_trace_info_hash, dw_trace_info_eq): New. (get_trace_index, get_trace_info): New. (save_point_p): New. (free_cfi_row): Remove. (add_cfi): Do not emit DW_CFA_remember_state. (cfa_row_equal_p): New. (barrier_args_size): Remove. (compute_barrier_args_size_1, compute_barrier_args_size): Remove. (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size. (maybe_record_trace_start, create_trace_edges, scan_trace): New. (dwarf2out_cfi_begin_epilogue): Remove. (dwarf2out_frame_debug_restore_state): Remove. (connect_traces, create_pseudo_cfg): New. (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces. * Makefile.in (dwarf2cfi.o): Update. From-SVN: r176705
Richard Henderson committed -
This patch only introduces the structure definition and adjusts the existing routines to use the new cur_trace global to access the variables that were moved into the structure. * dwarf2cfi.c (dw_trace_info): New. (dw_label_info): New. (cie_return_save): New. (cur_trace): New. (queued_args_size): Rename from args_size. Update all users. (cfa_store, cfa_temp, regs_saved_in_regs): Remove. (def_cfa_1): Use cur_trace instead of cfa_*. (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise. (clobbers_queued_reg_save, reg_saved_in): Likewise. (dwarf2out_frame_debug_expr): Likewise. (create_cie_data): Split out from ... (execute_dwarf2_frame): ... here. Initialize cur_trace. From-SVN: r176704
Richard Henderson committed -
* dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc. Update all users to match. (execute_dwarf2_frame): Free reg_saved_in_data. From-SVN: r176703
Richard Henderson committed -
Also, allocate it in the heap instead of garbage collected. * dwarf2cfi.c (queued_reg_save): Reorder for packing. Don't GTY. (queued_reg_saves): Don't GTY. Change to a VEC. (queue_reg_save): Update to match. (dwarf2out_flush_queued_reg_saves): Likewise. (clobbers_queued_reg_save): Likewise. (reg_saved_in): Likewise. (execute_dwarf2_frame): Free queued_reg_saves. From-SVN: r176702
Richard Henderson committed -
* dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users. From-SVN: r176701
Richard Henderson committed -
Add a generic function to adjust cfi state from one row to another. Use this to implement text section switching. This will also be usable for arbitrary changes around a cfg for shrink-wrapping. * dwarf2cfi.c (add_cfi_args_size): Split out from... (dwarf2out_args_size): ... here. (add_cfi_restore): Split out from ... (dwarf2out_frame_debug_cfa_restore): ... here. (def_cfa_0): Split out from ... (def_cfa_1): ... here. (cfi_oprnd_equal_p, cfi_equal_p): New. (change_cfi_row): New. (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index. (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note. (output_cfis): Remove. * dwarf2out.c (output_fde): Simplify output_cfi loop. (dwarf2out_switch_text_section): Don't call output_cfis. (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New. * dwarf2out.h: Update decls. (enum dw_val_class): Add dw_val_class_none. From-SVN: r176700
Richard Henderson committed -
To be actually used by a subsequent patch. * dwarf2cfi.c (update_row_reg_save): New. (dwarf2out_frame_debug_cfa_expression): Use it. (dwarf2out_frame_debug_cfa_restore): Likewise. (reg_save): Likewise. Do not emit DW_CFA_same_value. From-SVN: r176699
Richard Henderson committed -
Make it consistent with add_cfi_vec. * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users. From-SVN: r176698
Richard Henderson committed -
Use it instead of old_cfa, old_args_size, and cfa_remember variables. Remove the global cfa variable, as it was usually a duplicate of old_cfa and otherwise confusing. Always make a local copy of the cur_row->cfa variable before modification instead. * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New. (cie_cfi_row): New. (new_cfi_row, copy_cfi_row, free_cfi_row): New. (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove. (cur_row, remember_row): New. (def_cfa_1): Use cur_row instead of the old_* variables. (dwarf2out_frame_debug_restore_state): Similarly. (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise. (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa. (dwarf2out_frame_debug_adjust_cfa): Likewise. (dwarf2out_frame_debug_cfa_offset): Likewise. (dwarf2out_frame_debug_expr): Likewise. (execute_dwarf2_frame): Set up cur_row. * dwarf2out.h (struct cfa_loc): Mark for GTY. From-SVN: r176697
Richard Henderson committed -
From-SVN: r176696
Richard Henderson committed -
PR target/49816 * arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure. From-SVN: r176687
Richard Earnshaw committed -
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>. * libgfortran/intrinsics/getlog.c: Likewise. * libgfortran/runtime/stop.c: Likewise. From-SVN: r176675
Andreas Schwab committed -
2011-07-23 Arnaud Charlet <charlet@adacore.com> PR ada/49819 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to g-trasym-dwarf.adb. From-SVN: r176673
Arnaud Charlet committed -
2011-07-22 Benjamin Kosnik <bkoz@redhat.com> Daniel Krugler <daniel.kruegler@googlemail.com> * include/bits/move.h (move, forward): Mark constexpr. * include/bits/stl_pair.h (pair): Mark move ctors constexpr. * testsuite/20_util/pair/make_pair/constexpr.cc: New. * testsuite/20_util/pair/cons/constexpr.cc: Add tests. Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com> From-SVN: r176672
Benjamin Kosnik committed -
From-SVN: r176670
Jason Merrill committed -
From-SVN: r176669
GCC Administrator committed -
PR c++/49793 * typeck2.c (check_narrowing): Downgrade permerror to pedwarn. Make conditional on -Wnarrowing. From-SVN: r176665
Jason Merrill committed
-
- 22 Jul, 2011 20 commits
-
-
From-SVN: r176664
Richard Henderson committed -
* jump.c (maybe_propagate_label_ref): Split out of... (mark_all_labels): ... here. Do not attempt label_ref propagation while in cfglayout mode. From-SVN: r176663
Richard Henderson committed -
PR target/49817 * stack-limit.c: Include <stdint.h>. From-SVN: r176662
Gerald Pfeifer committed -
2011-07-23 Tobias Burnus <burnus@net-b.de> PR fortran/49791 * io/list_read.c (nml_parse_qualifier): Remove check to enabled extended read for another case. 2011-07-23 Tobias Burnus <burnus@net-b.de> PR fortran/49791 * gfortran.dg/namelist_72.f: New. From-SVN: r176661
Tobias Burnus committed -
2011-07-23 Tobias Burnus <burnus@net-b.de> * resolve.c (resolve_symbol): Fix coarray var decl check. 2011-07-23 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_25.f90: New. From-SVN: r176660
Tobias Burnus committed -
Warn about the use of final/override in non-c++0x mode, and add __final for non-c++0x mode. * cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS. * error.c (maybe_warn_cpp0x): Adjust. * parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add '__final' as a non-c++0x alternative for 'final'. From-SVN: r176655
Ville Voutilainen committed -
* dwarf2.h (DW_AT_GNU_macros): New. (enum dwarf_macro_record_type): New enum. Add DW_MACRO_GNU_*. * dwarf2out.c (struct macinfo_struct): Change code to unsigned char. (DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define. (dwarf_attr_name): Handle DW_AT_GNU_macros. (dwarf2out_define): If the vector is empty and lineno is 0, emit a dummy entry first. (dwarf2out_undef): Likewise. Remove redundant semicolon. (htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op, optimize_macinfo_range): New functions. (output_macinfo): Use them. If !dwarf_strict and .debug_str is mergeable, optimize longer strings using DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP, optimize longer sequences of define/undef ops from headers using DW_MACRO_GNU_transparent_include. For !dwarf_strict emit a section headers. (dwarf2out_init): For !dwarf_strict set debug_macinfo_section and macinfo_section_label to DEBUG_MACRO_SECTION resp. DEBUG_MACRO_SECTION_LABEL. (dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros instead of DW_AT_macro_info. From-SVN: r176653
Jakub Jelinek committed -
PR other/32998 * common.opt (grecord-gcc-switches, gno-record-gcc-switches): New options. * dwarf2out.c: Include opts.h. (dchar_p): New typedef. Define heap VEC for it. (producer_string): New variable. (gen_producer_string): New function. (gen_compile_unit_die): Use it. (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer if needed. * Makefile.in (dwarf2out.o): Depend on $(OPTS_H). * doc/invoke.texi: Document -grecord-gcc-switches and -gno-record-gcc-switches, add a -grecord-gcc-switches reference to -frecord-gcc-switches description. From-SVN: r176652
Jakub Jelinek committed -
PR c++/30112 gcc/c-family/ * c-common.h: Declare c_linkage_bindings. * c-pragma.c (handle_pragma_redefine_extname): Use it. gcc/ * c-decl.c (c_linkage_bindings): Define. gcc/cp/ * decl.c (cp_finish_decl): Apply pragma redefine_extname in other namespaces as well. * name-lookup.c (c_linkage_bindings): Define. (lookup_extern_c_fun_in_all_ns): Rename from lookup_extern_c_fun_binding_in_all_ns. Return tree. (pushdecl_maybe_friend_1): Adjust. Copy DECL_ASSEMBLER_NAME. Co-Authored-By: Mark Glisse <marc.glisse@normalesup.org> From-SVN: r176650
Jason Merrill committed -
PR debug/49815 * var-tracking.c (vt_finalize): Always free windowed_parm_regs. From-SVN: r176647
Eric Botcazou committed -
PR c++/49813 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99. * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well as flag_isoc99 for 'restrict'. (pp_c_specifier_qualifier_list): Likewise for _Complex. From-SVN: r176635
Jason Merrill committed -
gcc/ 2011-07-22 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_option_override_internal): Disallow MS ABI in x32 mode. (ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi only for TARGET_LP64. (ix86_handle_abi_attribute): Check TARGET_LP64 instead of TARGET_64BIT. gcc/testsuite/ 2011-07-22 H.J. Lu <hongjiu.lu@intel.com> * gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run on lp64 targets. * gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise. * gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise. * gcc/testsuite/gcc.target/i386/pr43662.c: Likewise. * gcc/testsuite/gcc.target/i386/pr43869.c: Likewise. * gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32 instead of ia32. From-SVN: r176634
H.J. Lu committed -
From-SVN: r176632
Michael Meissner committed -
From-SVN: r176631
Michael Meissner committed -
2011-07-22 Martin Jambor <mjambor@suse.cz> PR lto/49796 * cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false if decl node is in another partition, call cgraph_get_node only once. From-SVN: r176630
Martin Jambor committed -
From-SVN: r176629
Uros Bizjak committed -
* config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes. From-SVN: r176628
Uros Bizjak committed -
* fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed. * Makefile.in: Rebuild. * doc/Makefile.in: Rebuild. * include/Makefile.in: Rebuild. * libsupc++/Makefile.in: Rebuild. * po/Makefile.in: Rebuild. * python/Makefile.in: Rebuild. * src/Makefile.in: Rebuild. * testsuite/Makefile.in: Rebuild. From-SVN: r176626
Ian Lance Taylor committed -
2011-07-22 Richard Guenther <rguenther@suse.de> PR tree-optimization/45819 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly preserve volatile and notrap flags. * gcc.dg/pr45819.c: New testcase. From-SVN: r176623
Richard Guenther committed -
PR c++/49756 * libiberty.h (stack_limit_increase): New prototype. * stack-limit.c: New file. * Makefile.in: Regenerate deps. (CFILES): Add stack-limit.c. (REQUIRED_OFILES): Add ./stack-limit.$(objext). * configure.ac (checkfuncs): Add getrlimit and setrlimit. (AC_CHECK_FUNCS): Likewise. * configure: Regenerated. * config.in: Regenerated. * gcc.c (main): Call stack_limit_increase (64MB). * toplev.c (toplev_main): Likewise. From-SVN: r176622
Jakub Jelinek committed
-