1. 11 Dec, 2014 1 commit
    • xvasprintf.c: New file. · 01ca36af
      	* xvasprintf.c: New file.
      	* vprintf-support.h: Likewise.
      	* vprintf-support.c: Likewise.
      	* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
      	(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
      	(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
      	(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
      	* functions.texi: Regenerate.
      	* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.
      
      include/ChangeLog:
      
      	* libiberty.h (xvasprintf): Declare.
      
      libcpp/ChangeLog:
      
      	* directives.c (cpp_define_formatted): Use xvasprintf.
      
      
      Co-Authored-By: Ben Elliston <bje@au.ibm.com>
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r218618
      Uros Bizjak committed
  2. 10 Dec, 2014 1 commit
  3. 08 Dec, 2014 1 commit
  4. 26 Nov, 2014 2 commits
    • PR debug/38757 continued. Handle C11, C++11 and C++14. · 5d45c9c0
      Add experimental (minimal) DWARFv5 support.
      
      This change depends on the new DWARFv5 constants mentioned in the
      following draft: http://dwarfstd.org/doc/dwarf5.20141029.pdf
      
      gcc/ChangeLog
      
      	* doc/invoke.texi (-gdwarf-@{version}): Mention experimental DWARFv5.
      	* opts.c (common_handle_option): Accept -gdwarf-5.
      	* dwarf2out.c (is_cxx): Add DW_LANG_C_plus_plus_11 and
      	DW_LANG_C_plus_plus_14.
      	(lower_bound_default): Likewise. Plus DW_LANG_C11.
      	(gen_compile_unit_die): Output DW_LANG_C_plus_plus_11,
      	DW_LANG_C_plus_plus_14 or DW_LANG_C11.
      	(output_compilation_unit_header): Output at most a DWARFv4 header.
      	(output_skeleton_debug_sections): Likewise.
      	(output_line_info): Likewise.
      	(output_aranges): Document header version number.
      
      gcc/testsuite/ChangeLog
      
      	* gcc.dg/debug/dwarf2/lang-c11.c: New test.
      	* gcc.dg/debug/dwarf2/lang-c11-d4-strict.c: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp11.C: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp14.C: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp98.C: Likewise.
      
      include/ChangeLog
      
      	* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
      	DW_LANG_C_plus_plus_14.
      
      From-SVN: r218077
      Mark Wielaard committed
    • DWARF add DW_AT_noreturn on noreturn function subprogram. · 42bc3520
      This implements the DWARFv5 noreturn proposal:
      http://dwarfstd.org/ShowIssue.php?issue=140331.1
      
      TREE_THIS_VOLATILE on a FUNCTION_DECL node means the function does not
      return normally. This catches the traditional noreturn GNU attribute,
      the C11 _Noreturn keyword and the C++11 [[noreturn]] attribute.
      
      This relies on the DW_AT_noreturn constant defined in the DWARFv5 DRAFT:
      http://www.dwarfstd.org/doc/dwarf5.20141029.pdf
      
      gcc/ChangeLog
      
      	* dwarf2out.c (gen_subprogram_die): Add DW_AT_noreturn when the
      	function decl has TREE_THIS_VOLATILE.
      
      gcc/testsuite/ChangeLog
      
      	* g++.dg/debug/dwarf2/noreturn-function.C: New test.
      	* gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Likewise.
      	* gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Likewise.
      
      include/ChangeLog
      
      	* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.
      
      From-SVN: r218075
      Mark Wielaard committed
  5. 14 Nov, 2014 1 commit
    • * dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags) · d8607f25
      	(DW_AT_APPLE_isa, DW_AT_APPLE_block)
      	(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
      	(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
      	(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
      	(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
      	(DW_AT_APPLE_property): New macros.
      
      From-SVN: r217578
      Shinichiro Hamaji committed
  6. 11 Nov, 2014 2 commits
    • re PR driver/36312 (should refuse to overwrite input file with output file) · 3d00119c
      gcc/testsuite/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* gcc.misc-tests/output.exp: New test case for identical input and
      	output files.
      
      include/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* diagnostic-core.h: Add prototype for fatal_error.
      	* diagnostic.c (fatal_error): New function fatal_error.
      	* gcc.c (store_arg): Remove have_o_argbuf_index.
      	(process_command): Check if input and output files are the same.
      	* toplev.c (init_asm_output): Check if input and output files are
      	the same.
      
      libiberty/ChangeLog:
      
      2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
      	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR driver/36312
      	* filename_cmp.c (canonical_filename_eq): New function to check if
      	file names are the same.
      	* functions.texi: Updated with documentation for new function.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r217391
      Anthony Brandon committed
    • Merger of dmalcolm/jit branch from git · 35485da9
      ChangeLog:
      	* ChangeLog.jit: New.
      	* MAINTAINERS (Various Maintainers): Add myself as jit maintainer.
      
      contrib/ChangeLog:
      	* ChangeLog.jit: New.
      	* jit-coverage-report.py: New file: a script to print crude
      	code-coverage information for the libgccjit API.
      
      gcc/ChangeLog:
      	* ChangeLog.jit: New.
      	* Makefile.in (doc_build_sys): New variable, set to "sphinx" if
      	sphinx is installed, falling back to "texinfo" otherwise.
      	(FULL_DRIVER_NAME): New variable, adapted from the
      	install-driver target.  New target, a symlink within the builddir,
      	linked to "xgcc", for use when running the JIT library from the
      	builddir.
      	(MOSTLYCLEANFILES): Add FULL_DRIVER_NAME.
      	(install-driver): Use $(FULL_DRIVER_NAME) rather than spelling it
      	out.
      	* configure.ac (doc_build_sys): New variable, set to "sphinx" if
      	sphinx is installed, falling back to "texinfo" otherwise.
      	(GCC_DRIVER_NAME): Generate a gcc-driver-name.h file containing
      	GCC_DRIVER_NAME for the benefit of jit/internal-api.c.
      	* configure: Regenerate.
      	* doc/install.texi (--enable-host-shared): Specify that this is
      	required when building libgccjit.
      	(Tools/packages necessary for modifying GCC): Add Sphinx.
      	* timevar.def (TV_JIT_REPLAY): New.
      	(TV_ASSEMBLE): New.
      	(TV_LINK): New.
      	(TV_LOAD): New.
      
      gcc/java/ChangeLog:
      	* gcc/ChangeLog.jit: New.
      
      gcc/jit/ChangeLog:
      	* ChangeLog.jit: New.
      	* ChangeLog: New.
      	* Make-lang.in: New.
      	* TODO.rst: New.
      	* config-lang.in: New.
      	* docs/Makefile: New.
      	* docs/_build/texinfo/Makefile: New.
      	* docs/_build/texinfo/factorial.png: New.
      	* docs/_build/texinfo/libgccjit.texi: New.
      	* docs/_build/texinfo/sum-of-squares.png: New.
      	* docs/conf.py: New.
      	* docs/examples/tut01-hello-world.c: New.
      	* docs/examples/tut02-square.c: New.
      	* docs/examples/tut03-sum-of-squares.c: New.
      	* docs/examples/tut04-toyvm/Makefile: New.
      	* docs/examples/tut04-toyvm/factorial.toy: New.
      	* docs/examples/tut04-toyvm/fibonacci.toy: New.
      	* docs/examples/tut04-toyvm/toyvm.c: New.
      	* docs/index.rst: New.
      	* docs/internals/index.rst: New.
      	* docs/intro/factorial.png: New.
      	* docs/intro/index.rst: New.
      	* docs/intro/sum-of-squares.png: New.
      	* docs/intro/tutorial01.rst: New.
      	* docs/intro/tutorial02.rst: New.
      	* docs/intro/tutorial03.rst: New.
      	* docs/intro/tutorial04.rst: New.
      	* docs/topics/contexts.rst: New.
      	* docs/topics/expressions.rst: New.
      	* docs/topics/functions.rst: New.
      	* docs/topics/index.rst: New.
      	* docs/topics/locations.rst: New.
      	* docs/topics/objects.rst: New.
      	* docs/topics/results.rst: New.
      	* docs/topics/types.rst: New.
      	* dummy-frontend.c: New.
      	* jit-builtins.c: New.
      	* jit-builtins.h: New.
      	* jit-common.h: New.
      	* jit-playback.c: New.
      	* jit-playback.h: New.
      	* jit-recording.c: New.
      	* jit-recording.h: New.
      	* libgccjit++.h: New.
      	* libgccjit.c: New.
      	* libgccjit.h: New.
      	* libgccjit.map: New.
      	* notes.txt: New.
      
      gcc/testsuite/ChangeLog:
      	* ChangeLog.jit: New.
      	* jit.dg/all-non-failing-tests.h: New.
      	* jit.dg/harness.h: New.
      	* jit.dg/jit.exp: New.
      	* jit.dg/test-accessing-struct.c: New.
      	* jit.dg/test-accessing-union.c: New.
      	* jit.dg/test-array-as-pointer.c: New.
      	* jit.dg/test-arrays.c: New.
      	* jit.dg/test-calling-external-function.c: New.
      	* jit.dg/test-calling-function-ptr.c: New.
      	* jit.dg/test-combination.c: New.
      	* jit.dg/test-dot-product.c: New.
      	* jit.dg/test-empty.c: New.
      	* jit.dg/test-error-accessing-field-in-other-struct.c: New.
      	* jit.dg/test-error-adding-to-terminated-block.c: New.
      	* jit.dg/test-error-array-as-pointer.c: New.
      	* jit.dg/test-error-bad-cast.c: New.
      	* jit.dg/test-error-block-in-wrong-function.c: New.
      	* jit.dg/test-error-call-through-ptr-with-mismatching-args.c: New.
      	* jit.dg/test-error-call-through-ptr-with-non-function.c: New.
      	* jit.dg/test-error-call-through-ptr-with-non-pointer.c: New.
      	* jit.dg/test-error-call-through-ptr-with-not-enough-args.c: New.
      	* jit.dg/test-error-call-through-ptr-with-too-many-args.c: New.
      	* jit.dg/test-error-call-with-mismatching-args.c: New.
      	* jit.dg/test-error-call-with-not-enough-args.c: New.
      	* jit.dg/test-error-call-with-too-many-args.c: New.
      	* jit.dg/test-error-dereference-field-of-non-pointer.c: New.
      	* jit.dg/test-error-dereference-read-of-non-pointer.c: New.
      	* jit.dg/test-error-get-type-bad-enum.c: New.
      	* jit.dg/test-error-index-not-a-numeric-type.c: New.
      	* jit.dg/test-error-mismatching-types-in-assignment.c: New.
      	* jit.dg/test-error-mismatching-types-in-call.c: New.
      	* jit.dg/test-error-missing-return.c: New.
      	* jit.dg/test-error-new-binary-op-bad-op.c: New.
      	* jit.dg/test-error-new-function-bad-kind.c: New.
      	* jit.dg/test-error-new-unary-op-bad-op.c: New.
      	* jit.dg/test-error-null-passed-to-api.c: New.
      	* jit.dg/test-error-return-within-void-function.c: New.
      	* jit.dg/test-error-unreachable-block.c: New.
      	* jit.dg/test-error-unterminated-block.c: New.
      	* jit.dg/test-error-value-not-a-numeric-type.c: New.
      	* jit.dg/test-expressions.c: New.
      	* jit.dg/test-factorial.c: New.
      	* jit.dg/test-fibonacci.c: New.
      	* jit.dg/test-functions.c: New.
      	* jit.dg/test-fuzzer.c: New.
      	* jit.dg/test-hello-world.c: New.
      	* jit.dg/test-linked-list.c: New.
      	* jit.dg/test-long-names.c: New.
      	* jit.dg/test-nested-contexts.c: New.
      	* jit.dg/test-nested-loops.c: New.
      	* jit.dg/test-operator-overloading.cc: New.
      	* jit.dg/test-quadratic.c: New.
      	* jit.dg/test-quadratic.cc: New.
      	* jit.dg/test-reading-struct.c: New.
      	* jit.dg/test-string-literal.c: New.
      	* jit.dg/test-sum-of-squares.c: New.
      	* jit.dg/test-threads.c: New.
      	* jit.dg/test-types.c: New.
      	* jit.dg/test-using-global.c: New.
      	* jit.dg/test-volatile.c: New.
      
      include/ChangeLog:
      	* ChangeLog.jit: New.
      
      libbacktrace/ChangeLog:
      	* ChangeLog.jit: New.
      
      libcpp/ChangeLog:
      	* ChangeLog.jit: New.
      
      libdecnumber/ChangeLog:
      	* ChangeLog.jit: New.
      
      libiberty/ChangeLog:
      	* ChangeLog.jit: New.
      
      zlib/ChangeLog:
      	* ChangeLog.jit: New.
      
      From-SVN: r217374
      David Malcolm committed
  7. 05 Nov, 2014 2 commits
    • Revert revision 217149 because it breaks Ada: · 10a24138
      gcc/testsuite/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * gcc.misc-tests/output.exp: New test case for identical input and
              output files.
      
      include/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * diagnostic-core.h: Add prototype for fatal_error.
              * diagnostic.c (fatal_error): New function fatal_error.
              * gcc.c (store_arg): Remove have_o_argbuf_index.
              (process_command): Check if input and output files are the same.
              * toplev.c (init_asm_output): Check if input and output files are
              the same.
      
      libiberty/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
              PR driver/36312
              * filename_cmp.c (canonical_filename_eq): New function to check if
              file names are the same.
              * functions.texi: Updated with documentation for new function.
      
      From-SVN: r217159
      Manuel López-Ibáñez committed
    • re PR driver/36312 (should refuse to overwrite input file with output file) · 9c7a77fc
      gcc/testsuite/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* gcc.misc-tests/output.exp: New test case for identical input and
      	output files.
      
      include/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* filenames.h: Add prototype for canonical_filename_eq.
      
      gcc/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* diagnostic-core.h: Add prototype for fatal_error.
      	* diagnostic.c (fatal_error): New function fatal_error.
      	* gcc.c (store_arg): Remove have_o_argbuf_index.
      	(process_command): Check if input and output files are the same.
      	* toplev.c (init_asm_output): Check if input and output files are
      	the same.
      
      libiberty/ChangeLog:
      
      2014-11-05  Anthony Brandon  <anthony.brandon@gmail.com>
      
      	PR driver/36312
      	* filename_cmp.c (canonical_filename_eq): New function to check if
      	file names are the same.
      	* functions.texi: Updated with documentation for new function.
      
      From-SVN: r217149
      Anthony Brandon committed
  8. 28 Oct, 2014 2 commits
    • longlong.h: Disable alpha umul_ppmm for old g++ · 99630555
      Causes "unexpected AST of kind MULT_HIGHPART" error with
      bootstrap from gcc 4.8.
      
              * longlong.h [__alpha] (umul_ppmm): Disable for c++.
      
      From-SVN: r216811
      Richard Henderson committed
    • Add strtoll and strtoull to libiberty. · ea41822a
      2014-10-28  Yury Gribov  <y.gribov@samsung.com>
      
      include/
      	* libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes.
      
      libiberty/
      	* strtoll.c: New file.
      	* strtoull.c: New file.
      	* configure.ac: Add long long checks.  Add harness for strtoll and
      	strtoull.  Check decls for strtol, strtoul, strtoll, strtoull.
      	* Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* functions.texi: Regenerate.
      	* testsuite/Makefile.in (check-strtol): New rule.
      	(test-strtol): Likewise.
      	(mostlyclean): Clean up strtol test.
      	* testsuite/test-strtol.c: New test.
      
      From-SVN: r216772
      Yury Gribov committed
  9. 27 Oct, 2014 1 commit
    • Let GDB reuse GCC's parser. · ddc8de03
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Jan Kratochvil  <jan.kratochvil@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* aclocal.m4: New file.
      	* callbacks.cc: New file.
      	* callbacks.hh: New file.
      	* cc1plugin-config.h.in: New file.
      	* configure: New file.
      	* configure.ac: New file.
      	* connection.cc: New file.
      	* connection.hh: New file.
      	* findcomp.cc: New file.
      	* findcomp.hh: New file.
      	* libcc1.cc: New file.
      	* libcc1plugin.sym: New file.
      	* libcc1.sym: New file.
      	* Makefile.am: New file.
      	* Makefile.in: New file.
      	* marshall.cc: New file.
      	* marshall.hh: New file.
      	* names.cc: New file.
      	* names.hh: New file.
      	* plugin.cc: New file.
      	* rpc.hh: New file.
      	* status.hh: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Jan Kratochvil  <jan.kratochvil@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* gcc-c-fe.def: New file.
      	* gcc-c-interface.h: New file.
      	* gcc-interface.h: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* c-tree.h (enum c_oracle_request): New.
      	(c_binding_oracle_function): New typedef.
      	(c_binding_oracle, c_pushtag, c_bind): Declare.
      	* c-decl.c (c_binding_oracle): New global.
      	(I_SYMBOL_CHECKED): New macro.
      	(i_symbol_binding): New function.
      	(I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
      	(I_TAG_CHECKED): New macro.
      	(i_tag_binding): New function.
      	(I_TAG_BINDING, I_TAG_DECL): Redefine.
      	(I_LABEL_CHECKED): New macro.
      	(i_label_binding): New function.
      	(I_LABEL_BINDING, I_LABEL_DECL): Redefine.
      	(c_print_identifier): Save and restore c_binding_oracle.
      	(c_pushtag, c_bind): New functions.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* aclocal.m4, configure: Rebuild.
      	* Makefile.in (aclocal_deps): Add gcc-plugin.m4.
      	* configure.ac: Use GCC_ENABLE_PLUGINS.
      	* stor-layout.c (finish_bitfield_layout): Now public.  Change
      	argument type to 'tree'.
      	(finish_record_layout): Update.
      	* stor-layout.h (finish_bitfield_layout): Declare.
      
      2014-10-27  Tom Tromey  <tromey@redhat.com>
      
      	* gcc-plugin.m4: New file.
      
      2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
      	    Tom Tromey  <tromey@redhat.com>
      
      	* Makefile.def: Add libcc1 to host_modules.
      	* configure.ac (host_tools): Add libcc1.
      	* Makefile.in, configure: Rebuild.
      
      From-SVN: r216748
      Phil Muldoon committed
  10. 15 Oct, 2014 1 commit
    • libiberty: Expose choose_tmpdir, and fix constness of return type · e39423c0
      include/ChangeLog:
      	* libiberty.h (choose_tmpdir): New prototype.
      
      libiberty/ChangeLog:
      	* choose-temp.c (choose_tmpdir): Remove now-redundant local
      	copy of prototype.
      	* functions.texi: Regenerate.
      	* make-temp-file.c (choose_tmpdir): Convert return type from
      	char * to const char * - given that this returns a pointer to
      	a memoized allocation, the caller must not touch it.
      
      From-SVN: r216285
      David Malcolm committed
  11. 05 Oct, 2014 1 commit
    • PR debug/63239 Add DWARF representation for C++11 deleted member function. · f5059223
      include/ChangeLog
      
      	* dwarf2.def (DW_AT_GNU_deleted): New attribute.
      
      gcc/ChangeLog
      
      	* dwarf2out.c (gen_subprogram_die): When a member function is
      	explicitly deleted then add a DW_AT_GNU_deleted attribute.
      	* langhooks.h (struct lang_hooks_for_decls): Add
      	function_decl_deleted_p langhook.
      	* langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
      	(LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_DELETED_P.
      
      gcc/cp/ChangeLog
      
      	* cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
      	(cp_function_decl_deleted_p): New prototype.
      	* cp-objcp-common.c (cp_function_deleted_p): New function.
      
      gcc/testsuite/ChangeLog
      
      	* g++.dg/debug/dwarf2/deleted-member-function.C: New testcase.
      
      From-SVN: r215901
      Mark Wielaard committed
  12. 26 Sep, 2014 1 commit
    • pex-common.h (struct pex_funcs): Add new parameter for open_write field. · 29ce50b0
      libiberty/
      
      2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
      	* pex-unix.c (pex_unix_open_write): Add support for new parameter.
      	* pex-djgpp.c (pex_djgpp_open_write): Likewise.
      	* pex-win32.c (pex_win32_open_write): Likewise.
      	* pex-common.c (pex_run_in_environment): Likewise.
      
      
      include/
      
      2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* libiberty.h (PEX_STDOUT_APPEND): New flag.
      	(PEX_STDERR_APPEND): Likewise.
      
      From-SVN: r215632
      Max Ostapenko committed
  13. 23 Sep, 2014 1 commit
    • demangle.h (DMGL_DLANG): New macro. · 43b1b9ed
      include/:
      	* demangle.h (DMGL_DLANG): New macro.
      	(DMGL_STYLE_MASK): Add DMGL_DLANG.
      	(demangling_styles): Add dlang_demangling.
      	(DLANG_DEMANGLING_STYLE_STRING): New macro.
      	(DLANG_DEMANGLING): New macro.
      	(dlang_demangle): New prototype.
      libiberty/:
      	* Makefile.in (CFILES): Add d-demangle.c.
      	(REQUIRED_OFILES): Add d-demangle.o.
      	* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
      	(cplus_demangle): Likewise.
      	* d-demangle.c: New file.
      	* testsuite/Makefile.in (really-check): Add check-d-demangle.
      	* testsuite/d-demangle-expected: New file.
      
      From-SVN: r215530
      Iain Buclaw committed
  14. 15 Sep, 2014 1 commit
  15. 10 Jun, 2014 1 commit
  16. 21 May, 2014 1 commit
    • config.gcc (*-*-dragonfly*): New target. · dbed5a9b
      2014-05-21  John Marino  <gnugcc@marino.st>
      
      gcc:
      
      	* config.gcc (*-*-dragonfly*): New target.
      	* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
      	* configure: Regenerate.
      	* config/dragonfly-stdint.h: New.
      	* config/dragonfly.h: New.
      	* config/dragonfly.opt: New.
      	* config/i386/dragonfly.h: New.
      	* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
      
      include:
      
      	* liberty.h: Use basename function on DragonFly.
      
      libcilkrts:
      
      	* runtime/os-unix.c (__DragonFly__): New target.
      
      libgcc:
      
      	* config.host (*-*-dragonfly*): New target.
      	* crtstuff.c: Make dl_iterate_support generic on *bsd.
      	* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
      	* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
      	* config/i386/dragonfly-unwind.h: New.
      
      libitm:
      
      	* configure.tgt (*-*-dragonfly*): New target.
      
      libstdc++-v3:
      
      	* acinclude.m4 (*-*-dragonfly*): New target.
      	* configure: Regenerate.
      	* configure.host (*-*-dragonfly*): New target.
      	* config/locale/dragonfly/c_locale.cc: New.
      	* config/locale/dragonfly/ctype_members.cc: New.
      	* config/os/bsd/dragonfly/ctype_base.h: New.
      	* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
      	* config/os/bsd/dragonfly/ctype_inline.h: New.
      	* config/os/bsd/dragonfly/os_defines.h: New.
      
      From-SVN: r210694
      John Marino committed
  17. 01 May, 2014 1 commit
  18. 30 Apr, 2014 1 commit
  19. 22 Apr, 2014 1 commit
  20. 21 Jan, 2014 1 commit
    • include · d2d21de9
      	* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS)
      	(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST)
      	(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS)
      	(NOARGS): Don't define.
      	* libiberty.h (expandargv, writeargv): Don't use PARAMS.
      libiberty
      	* _doprint.c (checkit): Use stdarg, not VA_* macros.
      	* asprintf.c (asprintf): Use stdarg, not VA_* macros.
      	* concat.c (concat_length, concat_copy, concat_copy2, concat)
      	(reconcat): Use stdarg, not VA_* macros.
      	* snprintf.c (snprintf): Use stdarg, not VA_* macros.
      	* vasprintf.c (checkit): Use stdarg, not VA_* macros.
      	* vsnprintf.c (checkit): Use stdarg, not VA_* macros.
      
      From-SVN: r206881
      Tom Tromey committed
  21. 23 Dec, 2013 1 commit
    • re PR c++/41090 (Using static label reference in c++ class constructor produces wrong code) · 1f26ac87
      	PR c++/41090
      	Add -fdeclone-ctor-dtor.
      gcc/cp/
      	* optimize.c (can_alias_cdtor, populate_clone_array): Split out
      	from maybe_clone_body.
      	(maybe_thunk_body): New function.
      	(maybe_clone_body): Call it.
      	* mangle.c (write_mangled_name): Remove code to suppress
      	writing of mangled name for cloned constructor or destructor.
      	(write_special_name_constructor): Handle decloned constructor.
      	(write_special_name_destructor): Handle decloned destructor.
      	* method.c (trivial_fn_p): Handle decloning.
      	* semantics.c (expand_or_defer_fn_1): Clone after setting linkage.
      gcc/c-family/
      	* c.opt: Add -fdeclone-ctor-dtor.
      	* c-opts.c (c_common_post_options): Default to on iff -Os.
      gcc/
      	* cgraph.h (struct cgraph_node): Add calls_comdat_local.
      	(symtab_comdat_local_p, symtab_in_same_comdat_p): New.
      	* cif-code.def: Add USES_COMDAT_LOCAL.
      	* symtab.c (verify_symtab_base): Make sure we don't refer to a
      	comdat-local symbol from outside its comdat.
      	* cgraph.c (verify_cgraph_node): Likewise.
      	* cgraphunit.c (mark_functions_to_output): Don't mark comdat-locals.
      	* ipa.c (symtab_remove_unreachable_nodes): Likewise.
      	(function_and_variable_visibility): Handle comdat-local fns.
      	* ipa-cp.c (determine_versionability): Don't clone comdat-locals.
      	* ipa-inline-analysis.c (compute_inline_parameters): Update
      	calls_comdat_local.
      	* ipa-inline-transform.c (inline_call): Likewise.
      	(save_inline_function_body): Don't clear DECL_COMDAT_GROUP.
      	* ipa-inline.c (can_inline_edge_p): Check calls_comdat_local.
      	* lto-cgraph.c (input_overwrite_node): Read calls_comdat_local.
      	(lto_output_node): Write it.
      	* symtab.c (symtab_dissolve_same_comdat_group_list): Clear
      	DECL_COMDAT_GROUP for comdat-locals.
      include/
      	* demangle.h (enum gnu_v3_ctor_kinds):
      	Added literal gnu_v3_unified_ctor.
      	(enum gnu_v3_ctor_kinds):
      	Added literal gnu_v3_unified_dtor.
      libiberty/
      	* cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor):
      	Handle unified ctor/dtor.
      	(d_ctor_dtor_name): Handle unified ctor/dtor.
      
      From-SVN: r206182
      Jason Merrill committed
  22. 04 Dec, 2013 1 commit
    • longlong.h: New file. · b21fbbd2
      include/
      	* longlong.h: New file.
      
      libgcc/
      	* longlong.h: Delete (moved to include/).
      
      libquadmath/
      	* Makefile.am (AM_CPPFLAGS): Define.
      	* Makefile.in: Regenerate.
      	* printf/gmp-impl.h: Remove path from longlong.h include.
      
      From-SVN: r205659
      Richard Sandiford committed
  23. 29 Oct, 2013 1 commit
    • re PR tree-optimization/58689 ([meta-bug] __attribute__((returns_nonnull)) enhancements) · eda14d6a
      2013-10-29  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/58689
      include/
      	* ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro.
      	* libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename,
      	concat_copy): Mark with attributes nonnull(1) and returns_nonnull.
      	(concat, reconcat, concat_copy2, choose_temp_base, xstrerror,
      	xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
      	Mark with attribute returns_nonnull.
      
      libiberty/
      	* concat.c: Remove note about xmalloc.
      
      From-SVN: r204159
      Marc Glisse committed
  24. 23 Oct, 2013 1 commit
  25. 22 Oct, 2013 1 commit
  26. 20 Aug, 2013 1 commit
    • floatformat.h (floatformat_ibm_long_double): Delete. · a98cbc36
      include/
      	* floatformat.h (floatformat_ibm_long_double): Delete.
      	(floatformat_ibm_long_double_big): Declare.
      	(floatformat_ibm_long_double_little): Declare.
      libiberty/
      	* floatformat.c (floatformat_ibm_long_double): Rename to..
      	(floatformat_ibm_long_double_big): ..this.
      	(floatformat_ibm_long_double_little): New.
      
      From-SVN: r201869
      Alan Modra committed
  27. 19 Aug, 2013 1 commit
  28. 07 Aug, 2013 1 commit
    • Commit the vtable verification feature. · 2077db1b
      Commit the vtable verification feature.  This feature is designed to
      detect, at run time, if/when the vtable pointer in a C++ object has
      been corrupted, before allowing virtual calls through that pointer. 
      If pointer corruption is detected, execution of the program is halted.
      
      libstdc++-v3 ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * fragment.am: Add XTEMPLATE_FLAGS.
              * configure.ac: Add definitions for --enable-vtable-verify.
              * acinclude.m4:  Add --enable-vtable-verify and
              --disable-vtable-verify; define --enable-vtable-verify; define
              VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
              * config/abi/pre/gnu.ver: Export symbols for vtable verification.
              * libsupc++/Makefile.am: Define vtv_sources and add it to
              libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
              * libsupc++/vtv_stubs.cc: New file.
              * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
              * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
              VTV_CXXLINKFLAGS to CXXLINK.
              * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
              to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
              * src/C++11/Makefile.am: Ditto.
              * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
              * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
              cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
              * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
              libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
              cxxvtvflags to cxx_final.
              * testsuite/18_support/bad_exception/23591_thread-1.c: Add
              -fvtable-verify=none to compiler flags.
              * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
              to compiler flags.
              * configure: Regenerated.
              * Makefile.in: Regenerated.
              * python/Makefile.in: Regenerated.
              * include/Makefile.in: Regenerated.
              * libsupc++/Makefile.in: Regenerated.
              * config.h.in: Regenerated.
              * po/Makefile.in: Regenerated.
              * src/Makefile.in: Regenerated.
              * src/c++98/Makefile.in: Regenerated.
              * src/c++11/Makefile.in: Regenerated.
              * doc/Makefile.in: Regenerated.
              * testsuite/Makefile.in: Regenerated.
      
      top level ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * configure.ac: Add target-libvtv to target_libraries; disable libvtv
              on non-linux systems; add target-libvtv to noconfigdirs; add
              libsupc++/.libs to C++ library search paths.
              * configure: Regenerated.
              * Makefile.def: Add libvtv to target_modules; make libvtv depend on
              libstdc++ and libgcc.
              * Makefile.in: Regenerated.
      
      include/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * vtv-change-permission.h: New file.
      
      contrib/ChangeLog:
      2013-08-06  Caroline Tice4  <cmtice@google.com>
      
              * gcc_update: Add libvtv files.
      
      libgcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              config.host (extra_parts): Add vtv_start.o, vtv_end.o
              vtv_start_preinit.o and vtv_end_preinit.o.
              configure.ac: Add code to check/set enable_vtable_verify.
              Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
              true.
              vtv_start_preinit.c: New file.
              vtv_end_preinit.c: New file.
              vtv_start.c: New file.
              vtv_end.c: New file.
              configure: Regenerated.
      
      gcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
              (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
              * tree-pass.h: Add pass_vtable_verify.
              * varasm.c (assemble_variable): Add code to properly set the comdat
              section and name for the .vtable_map_vars section.
              (assemble_vtyv_preinit_initializer): New function.
              (default_sectin_type_flags):  Make sure .vtable_map_vars section has
              LINK_ONCE flag.
              * output.h: Add function decl for assemble_vtv_preinit_initializer.
              * vtable-verify.c: New file.
              * vtable-verify.h: New file.
              * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
              initialiation levels.
              * timevar.def (TV_VTABLE_VERIFICATION): New definition.
              * passes.def: Insert pass_vtable_verify.
              * aclocal.m4: Reorder includes.
              * doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
      	-fvtv-debug and -fvtv-counts.
              * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
      as appropriate, if -fvtable-verify=... is used.
              (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
              -fvtable-verify=... is used.
              * Makefile.in (OBJS):  Add vtable-verify.o to list.
              (vtable-verify.o): Add new build rule.
              (GTFILES): Add vtable-verify.c to list.
              * common.opt (fvtable-verify=): New flag.
              (vtv_priority): Values for fvtable-verify= flag.
              (fvtv-counts): New flag.
      (fvtv-debug): New flag.
              * tree.h (save_vtable_map_decl): New extern function decl.
      
      
      gcc/cp/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * Make-lang.in (*CXX_AND_OBJCXX_OBJS):  Add vtable-class-hierarchy.o to
              list.
              (vtable-class-hierarchy.o): Add build rule.
              * cp-tree.h (vtv_start_verification_constructor_init_function): New
              extern function decl.
              (vtv_finish_verification_constructor_init_function): New extern
              function decl.
              (build_vtbl_address): New extern function decl.
              (get_mangled_vtable_map_var_name): New extern function decl.
              (vtv_compute_class_hierarchy_transitive_closure): New extern function
              decl.
              (vtv_generate_init_routine): New extern function decl.
              (vtv_save_class_info): New extern function decl.
              (vtv_recover_class_info): New extern function decl.
              (vtv_build_vtable_verify_fndecl): New extern function decl.
              * class.c (finish_struct_1): Add call to vtv_save_class_info if
              flag_vtable_verify is true.
              * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
              * vtable-class-hierarchy.c: New file.
              * mangle.c (get_mangled_vtable_map_var_name):  New function.
              * decl2.c (start_objects): Update function comment.
              (cp_write_global_declarations): Call vtv_recover_class_info,
              vtv_compute_class_hierarchy_transitive_closure and
              vtv_build_vtable_verify_fndecl, before calling
              finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
              flag_vtable_verify is true.
              (vtv_start_verification_constructor_init_function): New function.
              (vtv_finish_verification_constructor_init_function): New function.
              * init.c (build_vtbl_address): Remove static qualifier from function.
      
      libvtv/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              Initial check-in of new vtable verification feature.
              * configure.ac : New file.
              * acinclude.m4 : New file.
              * Makefile.am : New file.
              * aclocal.m4 : New file.
              * configure.tgt : New file.
              * configure: New file (generated).
              * Makefile.in: New file (generated).
              * vtv_set.h : New file.
              * vtv_utils.cc : New file.
              * vtv_utils.h : New file.
              * vtv_malloc.cc : New file.
              * vtv_rts.cc : New file.
              * vtv_malloc.h : New file.
              * vtv_rts.h : New file.
              * vtv_fail.cc : New file.
              * vtv_fail.h : New file.
              * vtv_map.h : New file.
              * scripts/run-testsuite.sh : New file.
              * scripts/sum-vtv-counts.c : New file.
              * testsuite/parts-test-main.h : New file.
              * testusite/dataentry.cc : New file.
              * testsuite/temp_deriv.cc : New file.
              * testsuite/register_pair.cc : New file.
              * testsuite/virtual_inheritance.cc : New file.
              * testsuite/field-test.cc : New file.
              * testsuite/nested_vcall_test.cc : New file.
              * testsuite/template-list-iostream.cc : New file.
              * testsuite/register_pair_inserts.cc : New file.
              * testsuite/register_pair_inserts_mt.cc : New file.
              * testsuite/event.list : New file.
              * testsuite/parts-test-extra-parts-views.cc : New file.
              * testsuite/parts-test-extra-parts-views.h : New file.
              * testsuite/environment-fail-32.s : New file.
              * testsuite/parts-test-extra-parts.h : New file.
              * testsuite/temp_deriv2.cc : New file.
              * testsuite/dlopen_mt.cc : New file.
              * testsuite/event.h : New file.
              * testsuite/template-list.cc : New file.
              * testsuite/replace-fail.cc : New file.
              * testsuite/Makefile.am : New file.
              * testsuite/Makefile.in: New file (generated).
              * testsuite/mempool_negative.c : New file.
              * testsuite/parts-test-main.cc : New file.
              * testsuite/event-private.cc : New file.
              * testsuite/thunk.cc : New file.
              * testsuite/event-defintiions.cc : New file.
              * testsuite/event-private.h : New file.
              * testsuite/parts-test.list : New file.
              * testusite/register_pair_mt.cc : New file.
              * testsuite/povray-derived.cc : New file.
              * testsuite/event-main.cc : New file.
              * testsuite/environment.cc : New file.
              * testsuite/template-list2.cc : New file.
              * testsuite/thunk_vtable_map_attack.cc : New file.
              * testsuite/parts-test-extra-parts.cc : New file.
              * testsuite/environment-fail-64.s : New file.
              * testsuite/dlopen.cc : New file.
              * testsuite/so.cc : New file.
              * testsuite/temp_deriv3.cc : New file.
              * testsuite/const_vtable.cc : New file.
              * testsuite/mempool_positive.c : New file.
              * testsuite/dup_name.cc : New file.
      
      From-SVN: r201555
      Caroline Tice committed
  29. 03 Apr, 2013 1 commit
    • Demangle C++11 ref-qualifier. · 9eb85f27
      include/
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_REFERENCE_THIS,
      	DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
      libiberty/
      	* cp-demangle.c (d_ref_qualifier): New.
      	(d_nested_name, d_function_type): Use it.
      	(d_parmlist): Don't get confused by a ref-qualifier.
      	(cplus_demangle_type): Reorder ref-qualifier.
      	(d_pointer_to_member_type): Likewise.
      	(d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and
      	DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
      	(d_make_comp, has_return_type, d_encoding): Likewise.
      	(d_print_comp, d_print_mod_list, d_print_mod): Likewise.
      	(d_print_function_type, is_ctor_or_dtor): Likewise.
      
      From-SVN: r197436
      Jason Merrill committed
  30. 01 Mar, 2013 1 commit
  31. 11 Feb, 2013 1 commit
  32. 30 Jan, 2013 1 commit
  33. 18 Dec, 2012 1 commit
  34. 09 Nov, 2012 1 commit
    • Add C++ attribute abi_tag and -Wabi-tag option. · 7dbb85a7
      gcc/
      	* attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
      gcc/c-family/
      	* c.opt (Wabi-tag): New.
      gcc/cp/
      	* tree.c (cxx_attribute_table): Add abi_tag attribute.
      	(check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
      	* class.c (find_abi_tags_r, check_abi_tags): New.
      	(check_bases, check_field_decl): Call check_abi_tags.
      	* decl.c (redeclaration_error_message): Call
      	check_abi_tag_redeclaration.
      	* mangle.c (tree_string_cmp, write_abi_tags): New.
      	(write_unqualified_name): Call write_abi_tags.
      include/
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_TAGGED_NAME.
      libiberty/
      	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
      	(d_make_comp, d_find_pack, d_print_comp): Likewise.
      	(d_abi_tags): New.
      	(d_name): Call it.
      
      From-SVN: r193367
      Jason Merrill committed
  35. 06 Nov, 2012 1 commit
    • common.opt (gno-split-dwarf, [...]): New switches. · 99ea153e
      gcc/ChangeLog
      
      2012-11-06  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
      	* doc/invoke.texi (Debugging Options): Document them.
      	* gcc.c (replace_extension_spec_func):  New function.
      	(ASM_FINAL_SPEC): Adjust.
      	(static_spec_functions): Add new field for replace-extension.
      	(check_live_switch): Adjust comment.  Add case for 'g'.
      	* opts.c (finish_options): Set x_debug_generate_pub_sections based on
      	x_dwarf_split_debug_info.
      	(common_handle_option): Add case for OPT_gsplit_dwarf.
      	* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
      	(dw_val_struct): Add val_entry pointer.
      	* dwarf2out.c: (debug_skeleton_info_section,
      	debug_skeleton_abbrev_section, debug_addr_section,
      	debug_skeleton_line_section, debug_str_offsets_section): New globals.
      	(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
      	(indirect_string_node): New field index.
      	(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
      	ate_kind_label.
      	(addr_table_entry): New structure and type.
      	(dw_loc_list_struct): Add field begin_entry.
      	(new_loc_desc): Initialize val_entry.
      	(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
      	Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
      	(build_cfa_loc): Initialize val_entry.
      	(AT_index, add_addr_table_entry, remove_addr_table_entry,
      	add_AT_lbl_id): New functions.
      	(add_AT_addr, add_AT_range_list): New parameter force_direct.
      	(output_die_abbrevs): New function.
      	(add_ranges_by_labels): New parameter force_direct.
      	(output_line_info): New parameter prologue_only.
      	(dtprel_bool): New enum with dtprel_false and dtprel_true.
      	(dw_addr_op, new_addr_loc_descr): New functions.
      	(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
      	DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
      	DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
      	DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
      	DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
      	DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
      	DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
      	DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
      	DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
      	(DEBUG_STR_SECTION_FLAGS): Adjust.
      	(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
      	DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
      	DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
      	DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
      	DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
      	indentation.
      	(debug_skeleton_abbrev_section_label, debug_addr_section_label,
      	debug_skeleton_line_section_label, debug_skeleton_info_section_label):
      	New global variables.
      	(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
      	add_AT_data8): Initialize val_entry.
      	(add_AT_low_high_pc): New parameter force_direct. Handle
      	dwarf_split_debug_info.
      	(set_indirect_string, find_AT_string_form): New functions.
      	(AT_string_form): Adjust to call find_AT_string_from.
      	(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
      	Initialize val_entry.
      	(addr_index_table): New global variable.
      	(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
      	init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
      	remove_loc_list_addr_table_entries): New functions.
      	(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
      	force_direct.  Handle dwarf_split_debug_info.
      	(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
      	add_AT_offset): Initialize val_entry.
      	(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
      	(size_of_die): Handle dwarf_split_debug_info.
      	(size_of_aranges, value_format): Call AT_class.  Check AT_index.
      	(output_die_abbrevs): New function.
      	(output_abbrev_section): Call output_die_abbrevs.
      	(new_loc_list): Initialize begin_entry.
      	(output_loc_list): Handle dwarf_split_debug_info.
      	(output_range_list_offset, output_loc_list_offset,
      	output_attr_index_or_value, ): New functions.
      	(output_die): Fix call to dw2_asm_output_data.  Call
      	output_attr_index_or_value and output_range_list_offset.
      	Adjust logic around dw_val_class_str.
      	(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
      	output_skeleton_debug_sections): New functions.
      	(output_comdat_type_unit, output_pubname, output_aranges): Handle
      	dwarf_split_debug_info.
      	(add_ranges_by_labels): New parameter force_direct.
      	(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
      	(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
      	place of generic integer.
      	(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
      	gen_call_site_die, gen_subprogram_die, gen_variable_die,
      	add_high_low_attributes): Adjust calls to add_AT_lbl_id.
      	(output_macinfo_op): Adjust indirect_string_logic.
      	(save_macinfo_strings): New function.
      	(output_macinfo): Adjust.
      	(dwarf2out_init): Handle dwarf_split_debug_info.
      	(index_string, output_index_string_offset, output_index_string): New
      	functions.
      	(output_indirect_string): Adjust.
      	(output_indirect_strings, output_addr_table_entry, output_addr_table):
      	New functions.
      	(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
      	and DW_OP_GNU_const_index.  Handle dwarf_split_debug_info.  Call
      	remove_loc_list_addr_table_entries and remove_addr_table_entry.
      	(index_location_lists): New function.
      	(dwarf2out_finish): Handle dwarf_split_debug_info.  New variable
      	main_comp_unit_die.  Adjust calls to add_AT_low_high_pc,
      	add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
      	save_macinfo_strings and output_indirect_strings.
      
      include/ChangeLog
      
      2012-10-29  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
      	DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
      	DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.
      
      
      
      
      Co-Authored-By: Cary Coutant <ccoutant@google.com>
      
      From-SVN: r193267
      Sterling Augustine committed
  36. 08 Oct, 2012 1 commit
    • Allow dynamic initialization of thread_locals. · 7c424acd
      gcc/cp/
      	* decl.c: Define tls_aggregates.
      	(expand_static_init): Remove sorry.  Add to tls_aggregates.
      	* cp-tree.h: Declare tls_aggregates.
      	* call.c (set_up_extended_ref_temp): Add to tls_aggregates.
      	* decl2.c (var_needs_tls_wrapper): New.
      	(var_defined_without_dynamic_init): New.
      	(get_tls_init_fn, get_tls_wrapper_fn): New.
      	(generate_tls_wrapper, handle_tls_init): New.
      	(cp_write_global_declarations): Call handle_tls_init and
      	enerate_tls_wrapper.
      	* mangle.c (write_guarded_var_name): Split out from..
      	(mangle_guard_variable): ...here.
      	(mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
      	(decl_tls_wrapper_p): New.
      	* semantics.c (finish_id_expression): Replace use of thread_local
      	variable with a call to its wrapper.
      libiberty/
      	* cp-demangle.c (d_special_name, d_dump): Handle TH and TW.
      	(d_make_comp, d_print_comp): Likewise.
      include/
      	* demangle.h (enum demangle_component_type): Add
      	DEMANGLE_COMPONENT_TLS_INIT and DEMANGLE_COMPONENT_TLS_WRAPPER.
      
      From-SVN: r192211
      Jason Merrill committed