Commit Graph

992 Commits

Author SHA1 Message Date
Jason Merrill
1f26ac8748 re PR c++/41090 (Using static label reference in c++ class constructor produces wrong code)
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
2013-12-23 12:49:47 -05:00
Cary Coutant
85d09f6173 Fix demangler to handle conversion operators correctly.
libiberty/
	PR other/59195
	* cp-demangle.c (struct d_info_checkpoint): New struct.
	(struct d_print_info): Add current_template field.
	(d_operator_name): Set flag when processing a conversion
	operator.
	(cplus_demangle_type): When processing <template-args> for
	a conversion operator, backtrack if necessary.
	(d_expression_1): Renamed from d_expression.
	(d_expression): New wrapper around d_expression_1.
	(d_checkpoint): New function.
	(d_backtrack): New function.
	(d_print_init): Initialize current_template.
	(d_print_comp): Set current_template.
	(d_print_cast): Put current_template in scope for
	printing conversion operator name.
	(cplus_demangle_init_info): Initialize is_expression and
	is_conversion.
	* cp-demangle.h (struct d_info): Add is_expression and
	is_conversion fields.
	* testsuite/demangle-expected: New test cases.

From-SVN: r205292
2013-11-22 14:25:49 -08:00
Andreas Schwab
66204992cb picflag.m4 (m68k-*-*): Use default PIC flag.
config/
* picflag.m4 (m68k-*-*): Use default PIC flag.

gcc/
* configure: Regenerate.

libada/
* configure: Regenerate.

libgcc/
* configure: Regenerate.

libiberty/
* configure: Regenerate.

From-SVN: r204854
2013-11-15 17:49:36 +00:00
Uros Bizjak
27297d2d1b cp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *).
* cp-demangle.c (d_copy_templates): Cast result of malloc
	to (struct d_print_template *).
	(d_print_comp): Cast result of realloc to (struct d_saved scope *).

From-SVN: r204713
2013-11-12 21:02:21 +01:00
Marc Glisse
eda14d6a85 re PR tree-optimization/58689 ([meta-bug] __attribute__((returns_nonnull)) enhancements)
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
2013-10-29 13:15:48 +00:00
Gerald Pfeifer
4962e51350 * testsuite/test-demangle.c: Include unistd.h.
From-SVN: r204107
2013-10-27 18:35:20 +00:00
Gary Benson
c24d86bcb2 cp-demangle.c (struct d_saved_scope): New structure.
libiberty/
2013-10-25  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c (struct d_saved_scope): New structure.
	(struct d_print_info): New fields saved_scopes and
	num_saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(d_copy_templates): New function.
	(d_print_comp): New variables saved_templates and
	need_template_restore.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.
	* testsuite/demangle-expected: Add regression test.

From-SVN: r204068
2013-10-25 13:56:51 +00:00
Gerald Pfeifer
89ac07979f * testsuite/test-expandargv.c: Include unistd.h.
From-SVN: r203993
2013-10-23 21:31:45 +00:00
Gerald Pfeifer
ecdbd01aa1 Fix up ChangeLog entries (name, e-mail, formatting, otherwise).
From-SVN: r203992
2013-10-23 21:30:54 +00:00
David Malcolm
459260ecf8 Add --enable-host-shared configuration option
/
	* configure.ac: Add --enable-host-shared
	* configure: Regenerate.

gcc/
	* Makefile.in (PICFLAG): New.
	(enable_host_shared): New.
	(INTERNAL_CFLAGS): Use PICFLAG.
	(LIBIBERTY): Use pic build of libiberty.a if configured with
	--enable-host-shared.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.
	* doc/install.texi (--enable-shared): Add note contrasting it
	with...
	(--enable-host-shared): New option.

libbacktrace/
	* configure.ac: Add --enable-host-shared, setting up
	pre-existing PIC_FLAG variable within Makefile.am et al.
	* configure: Regenerate.

libcpp/
	* Makefile.in (PICFLAG): New.
	(ALL_CFLAGS): Add PICFLAG.
	(ALL_CXXFLAGS): Likewise.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.

libdecnumber/
	* Makefile.in (PICFLAG): New.
	(ALL_CFLAGS): Add PICFLAG.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.

libiberty/
	* configure.ac: If --enable-host-shared, use -fPIC.
	* configure: Regenerate.

zlib/
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r203632
2013-10-15 20:33:55 +00:00
Paul Pluzhnikov
ea0882a0ab cp-demangle.c (d_name): Demangle local-source-names.
2013-10-11  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* cp-demangle.c (d_name): Demangle local-source-names.
	* testsuite/demangle-expected: New test.

From-SVN: r203476
2013-10-11 17:31:18 -07:00
Gary Benson
0e2cd22d3d ChangeLog: Add missing file to two entries.
* libiberty/ChangeLog: Add missing file to two entries.

From-SVN: r202526
2013-09-12 13:27:46 +00:00
Paolo Carlini
8b415b271e re PR bootstrap/58386 (libstdc++.so.6: undefined symbol: htab_hash_pointer)
2013-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR bootstrap/58386
	Revert:

	2013-09-10  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c: Include hashtab.h.
	(struct d_print_info): New field saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(struct d_saved_scope): New structure.
	(d_store_scope): New function.
	(d_free_scope) Likewise.
	(d_restore_scope) Likewise.
	(d_hash_saved_scope) Likewise.
	(d_equal_saved_scope) Likewise.
	(d_print_comp): New variable saved_scope.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.

From-SVN: r202480
2013-09-10 18:45:29 +00:00
Gary Benson
669ea36c4a cp-demangle.c: Include hashtab.h.
2013-09-10  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c: Include hashtab.h.
	(struct d_print_info): New field saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(struct d_saved_scope): New structure.
	(d_store_scope): New function.
	(d_free_scope) Likewise.
	(d_restore_scope) Likewise.
	(d_hash_saved_scope) Likewise.
	(d_equal_saved_scope) Likewise.
	(d_print_comp): New variable saved_scope.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.

From-SVN: r202442
2013-09-10 12:33:50 +00:00
Alan Modra
a98cbc3694 floatformat.h (floatformat_ibm_long_double): Delete.
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
2013-08-20 15:01:41 +09:30
Mike Stump
9ffaa03201 Fix typo.
From-SVN: r201139
2013-07-22 17:23:17 +00:00
Mike Stump
b39e7f07ef Fix.
From-SVN: r201102
2013-07-21 16:48:23 +00:00
Tristan Gingold
3830d98a8b makefile.vms (OBJS): Add dwarfnames.obj
2013-07-09  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Add dwarfnames.obj

From-SVN: r200812
2013-07-09 07:43:35 +00:00
Matt Burgess
8c9fddf41d re PR other/56780 (--disable-install-libiberty still installs libiberty.a)
PR other/56780
	* libiberty/configure.ac: Move test for --enable-install-libiberty
	outside of the 'with_target_subdir' test so that it actually gets
	run.  Add output messages to show the test result.
	* libiberty/configure: Regenerate.
	* libiberty/Makefile.in (install_to_libdir): Place the
	installation of the libiberty library in the same guard as that
	used for the headers to prevent it being installed unless
	requested via --enable-install-libiberty.

From-SVN: r199570
2013-06-01 00:20:49 +00:00
David Edelsohn
b768e8cf27 hashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to wordsize.
2013-05-06  David Edelsohn  <dje.gcc@gmail.com>
            Peter Bergner  <bergner@vnet.ibm.com>
            Segher Boessenkool  <segher@kernel.crashing.org>
            Jakub Jelinek  <jakub@redhat.com>

        * hashtab.c (hash_pointer): Remove conditional and avoid
        unexecuted shift equal to wordsize.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>

From-SVN: r198633
2013-05-06 11:40:54 -04:00
Andi Kleen
86210f13cd Improve pointer hash function to include all bits
The hashtab pointer hash function is not very good. It throws most of the
bits in the pointer away.

This changes pointer_hash to use the mix code from jhash function that mixes
all the bits on the pointer and makes them dependent on each other, before doing
the modulo.

libiberty/:

2013-04-22  Andi Kleen <ak@linux.intel.com>

	* hashtab.c (hash_pointer): Move to end of file and reimplement.

From-SVN: r198171
2013-04-23 03:09:47 +00:00
Jason Merrill
0861bec80a cp-demangle.c (cplus_demangle_type): Fix function quals.
libiberty/
	* cp-demangle.c (cplus_demangle_type): Fix function quals.
	(d_pointer_to_member_type): Simplify.
gcc/cp/
	* mangle.c (write_type): When writing a function type with
	function-cv-quals, don't add the unqualified type as a
	substitution candidate.

From-SVN: r197460
2013-04-03 20:14:00 -04:00
Jason Merrill
9eb85f2724 Demangle C++11 ref-qualifier.
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
2013-04-03 13:24:12 -04:00
Kai Tietz
071928d9dc configure: Regenerated.
* configure: Regenerated.

From-SVN: r197177
2013-03-27 23:00:03 +01:00
Tobias Burnus
34d3a672a8 make-obstacks-texi.pl: New.
contrib/
2013-03-06  Tobias Burnus  <burnus@net-b.de>

        * make-obstacks-texi.pl: New.

libiberty/
2013-03-06  Tobias Burnus  <burnus@net-b.de>

        * libiberty.texi: Update comment, remove lowersections.
        * obstacks.texi: Regenerate.

From-SVN: r196486
2013-03-06 09:38:22 +01:00
Jakub Jelinek
233fa36063 re PR middle-end/56526 (false positive for maybe-uninitialized)
PR middle-end/56526
	* simple-object-mach-o.c (simple_object_mach_o_segment): Initialize
	wrapper_sect_offset to avoid a warning.

From-SVN: r196466
2013-03-05 16:16:49 +01:00
Tobias Burnus
40bf31ed08 extended.texi (C Extensions): Change order in @menu to match @node.
gcc/
2013-03-01  Tobias Burnus  <burnus@net-b.de>

        * doc/extended.texi (C Extensions): Change order in @menu
        to match @node.
        (Other MIPS Built-in Functions): Move last MIPS entry before
        "picoChip Built-in Functions".
        (SH Built-in Functions): Move after RX Built-in Functions.
        * doc/gcc.texi (Introduction): Change order in @menu
        to match @node.
        * doc/md.texi (Constraints): Ditto.
        * gty.texi (Type Information): Ditto.
        (User-provided marking routines for template types): Make
        subsection.
        * doc/invoke.texi (AArch64 Options): Move before
        "Adapteva Epiphany Options".

libiberty/
2013-03-01  Andreas Schwab  <schwab@linux-m68k.org>

        * obstacks.texi (Obstacks): Trim @node to only contain the
        node name.
        * libiberty.texi (Obstacks): Lower section.

From-SVN: r196388
2013-03-01 20:01:57 +01:00
Jason Merrill
622aac0b88 re PR c++/55223 ([C++11] Default lambda expression of a templated class member)
PR c++/55223
gcc/cp/
	* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Fix handling of
	default argument scope.
	* mangle.c (write_name): Likewise.
libiberty/
	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DEFAULT_ARG.
	(d_print_comp): Likewise.

From-SVN: r196065
2013-02-14 20:26:44 -05:00
Jakub Jelinek
4ab7747c26 re PR other/56245 (-fsanitize=address miscompiles GCC)
PR other/56245
	* regex.c (PTR_INT_TYPE): Define.
	(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.

From-SVN: r195918
2013-02-09 19:41:00 +01:00
Kai Tietz
b713829735 Correct ChangeLog's mentioned PR-number.
From-SVN: r195607
2013-01-31 09:31:16 +01:00
Kai Tietz
1d77deec05 re PR other/54620 (sha1.c has incorrect math if sizeof(size_t) is 8)
PR other/54620
	* sha1.c (sha1_process_block):  Handle case that size_t is
	a wider-integer-scalar as a 32-bit unsigned integer.

From-SVN: r195604
2013-01-31 09:17:58 +01:00
Kai Tietz
4cfc6e54ba re PR other/54620 (sha1.c has incorrect math if sizeof(size_t) is 8)
PR other/54620
	* sha1.c (sha1_process_block):  Handle case that size_t is
	a wider-integer-scalar as a 32-bit unsigned integer.

From-SVN: r195603
2013-01-31 09:17:37 +01:00
Kai Tietz
b1a2e8c606 2013-01-31 Kai Tietz <ktietz@redhat.com>
PR other/543413
	* md5.c (md5_process_block):  Handle case that size_t is
	a wider-integer-scalar a 32-bit unsigned integer.

From-SVN: r195600
2013-01-31 09:11:43 +01:00
Ian Lance Taylor
ad8c59a1b9 re PR other/54800 (libiberty/simple-object-mach-o.c:704: possible optimisation ?)
PR other/54800
	* simple-object-mach-o.c (simple_object_mach_o_segment): Don't
	bother to zero out a buffer we are about to set anyhow.

From-SVN: r194914
2013-01-04 19:00:06 +00:00
David Edelsohn
a9b01f002f simple-object-xcoff.c: New file.
* simple-object-xcoff.c: New file.
        * Makefile.in: Add it to build machinery.
        * simple-object-common.h (simple_object_xcoff_functions): Declare.
        * simple-object.c (format_functions): Add
        simple_object_xcoff_functions.

From-SVN: r194774
2013-01-01 21:04:42 -05:00
Jason Merrill
c61e8502c1 cp-demangle.c (d_unqualified_name): Handle abi tags here.
* cp-demangle.c (d_unqualified_name): Handle abi tags here.
	(d_name): Not here.

From-SVN: r193401
2012-11-10 21:11:15 -05:00
Jason Merrill
7dbb85a793 Add C++ attribute abi_tag and -Wabi-tag option.
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
2012-11-09 11:14:37 -05:00
Jason Merrill
7c424acd9a Allow dynamic initialization of thread_locals.
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
2012-10-08 10:45:37 -04:00
Ian Lance Taylor
9a9baa5254 strnlen.c: New file.
* strnlen.c: New file.
	* configure.ac: Check for strnlen, add it to AC_LIBOBJ if it's not
	present.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add strnlen.c.
	(CONFIGURED_OFILES): Add ./strnlen.$(objext).
	* configure, config.in, functions.texi: Rebuild.

	* maint-tool: Accept .def files in the include directory.

From-SVN: r191432
2012-09-18 16:03:01 +00:00
Florian Weimer
ed770de906 PR other/54411: integer overflow in objalloc_alloc
2012-09-18  Florian Weimer  <fweimer@redhat.com>

	PR other/54411
	* objalloc.h (objalloc_alloc): Do not use fast path on wraparound.

2012-09-18  Florian Weimer  <fweimer@redhat.com>

	PR other/54411
	* objalloc.c (_objalloc_alloc): Add overflow check covering
	alignment and CHUNK_HEADER_SIZE addition.

From-SVN: r191413
2012-09-18 10:34:05 +02:00
H.J. Lu
fabfa16b37 Replace malloc with xmalloc
* argv.c (dupargv): Replace malloc with xmalloc.  Don't check
	xmalloc return.
	(buildargv): Likewise.  Also replace strdup with xstrdup.
	(expandargv): Don't check dupargv return.

From-SVN: r190767
2012-08-28 18:03:21 -07:00
H.J. Lu
55529d369c Replace alloca with xmalloc/free
PR binutils/14526
	* argv.c (buildargv): Replace alloca with xmalloc/free.

From-SVN: r190766
2012-08-28 17:46:36 -07:00
Andreas Schwab
c9ac76ae53 floatformat.c (floatformat_to_double): Correctly handle numbers between 1 and 2.
* floatformat.c (floatformat_to_double): Correctly handle numbers
between 1 and 2.  Simplify handling of denormal number.
(main): Test with 1.1.

From-SVN: r190493
2012-08-17 21:56:48 +00:00
Mike Frysinger
d555a90ebe md5.c (md5_finish_ctx): Declare swap_bytes.
2012-07-27  Mike Frysinger  <vapier@gentoo.org>

	* md5.c (md5_finish_ctx): Declare swap_bytes.  Assign SWAP() output
	to swap_bytes, and then call memcpy to move it to ctx->buffer.

From-SVN: r189996
2012-07-31 08:38:27 +02:00
Kazu Hirata
9cd6dd8239 pex-win32.c (pex_win32_exec_child): Only close original file descriptors if child is launched successfully.
2012-07-26  Kazu Hirata  <kazu@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	libiberty/
	* pex-win32.c (pex_win32_exec_child): Only close original file
	descriptors if child is launched successfully.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r189901
2012-07-26 19:18:47 -04:00
Jason Merrill
aefa74bd2b cp-demangle.c (cplus_demangle_operators): Add *_cast.
* cp-demangle.c (cplus_demangle_operators): Add *_cast.
	(op_is_new_cast): New.
	(d_expression, d_print_comp): Check it.

From-SVN: r189630
2012-07-18 15:51:36 -04:00
Doug Evans
69488641ac filenames.h: #include "hashtab.h".
include/
	* filenames.h: #include "hashtab.h".
	(filename_hash, filename_eq): Declare.
	libiberty/
	* filename_cmp.c (filename_hash, filename_eq): New functions.

From-SVN: r189472
2012-07-13 22:12:28 +00:00
Andreas Schwab
8a8b3779de copying-lib.texi (Library Copying): Don't use @heading inside @enumerate.
* copying-lib.texi (Library Copying): Don't use @heading inside
@enumerate.

From-SVN: r189072
2012-06-29 10:59:48 +00:00
Tom Tromey
d931f693ce demangle-expected: Add regression test.
http://sourceware.org/bugzilla/show_bug.cgi?id=14065
	* testsuite/demangle-expected: Add regression test.
	* cp-demangle.c (d_find_pack): Return NULL for
	DEMANGLE_COMPONENT_UNNAMED_TYPE.

From-SVN: r187773
2012-05-22 13:55:02 +00:00
Tom Tromey
11ec770e46 dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
gcc
	* dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
	(dwarf_tag_name): Use get_DW_TAG_name.
	(dwarf_attr_name): Use get_DW_AT_name.
	(dwarf_form_name): Use get_DW_FORM_name.
	* dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
include
	* dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
	(enum dwarf_location_atom, enum dwarf_type, enum
	dwarf_call_frame_info): Remove.
	(DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
	(DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
	Include dwarf2.def.
	(get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
	(get_DW_OP_name, get_DW_ATE_name): Declare.
	* dwarf2.def: New file, from dwarf2.h.
libiberty
	* dwarfnames.c: New file.
	* Makefile.in (CFILES): Add dwarfnames.
	(REQUIRED_OFILES): Add dwarfnames.
	(./dwarfnames.$(objext)): New target.

From-SVN: r186908
2012-04-27 14:14:14 +00:00
Tristan Gingold
c1a969777f pex-unix.c (to_ptr32): Fix style.
2012-04-04  Tristan Gingold  <gingold@adacore.com>

	* pex-unix.c (to_ptr32): Fix style.

From-SVN: r186134
2012-04-04 08:44:30 +00:00
Tristan Gingold
63e1e57a9a stack-limit.c: Includes ansidecl.h.
2012-04-02  Tristan Gingold  <gingold@adacore.com>

        * stack-limit.c: Includes ansidecl.h.
        (stack_limit_increase): Add ATTRIBUTE_UNUSED

From-SVN: r186064
2012-04-02 07:51:26 +00:00
Jason Merrill
c19267cbaf mangle.c (write_type): Handle 'auto'.
gcc/cp/
	* mangle.c (write_type): Handle 'auto'.
	* init.c (build_new): Don't do auto deduction where it might
	affect template mangling.
libiberty/
	* cp-demangle.c (cplus_demangle_type): Handle 'auto'.

From-SVN: r185595
2012-03-21 00:04:39 -04:00
Jason Merrill
c93ea196be cp-demangle.c (cplus_demangle_operators): Add li.
* cp-demangle.c (cplus_demangle_operators): Add li.
	(d_unqualified_name): Handle it specially.

From-SVN: r185082
2012-03-07 18:19:06 -05:00
Jakub Jelinek
bfb676c121 make-relative-prefix.c (make_relative_prefix_1): Avoid warning about using preprocessor directives inside of macro arguments.
* make-relative-prefix.c (make_relative_prefix_1): Avoid warning
	about using preprocessor directives inside of macro arguments.

From-SVN: r183561
2012-01-26 15:26:25 +01:00
Douglas Rupp
daecebc805 Interix resurrection
2012-01-22  Douglas B Rupp  <rupp@gnat.com>

	* <toplevel>/config/mh-interix: Remove as unneeded.
	* <toplevel>/config/picflag.m4 (i[[34567]]86-*-interix3*):
	Change triplet to i[[34567]]86-*-interix[[3-9]]*.

	* <toplevel>/configure.ac: Remove reference to mh-interix.
	* <toplevel>/configure: Regenerate.

	* <toplevel>/libada/configure: Regenerate.

	* <toplevel>libgcc/config.host (i[34567]86-*-interix3*):
	Change triplet to i[34567]86-*-interix[3-9]*.
	* <toplevel>/libgcc/configure: Regenerate.

	* <toplevel>/liberty/configure: Regenerate.

	* config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
	configurations. Change triplet to i[34567]86-*-interix[3-9]*.
	(extra_options) interix.opt -> i386/interix.opt"
	(extra_objs):Add winnt-stubs.o
	* configure.ac: Add interix to target_os .comm on PE check.
	* configure: Regenerate.
	* config/interix3.h: Delete and move bits to..
	* config/interix.h: Delete and move bits to..
	* config/i386/i386-interix3.h: Delete and move bits to..
	* config/i386/i386-interix.h: ..here.
	(TARGET_CPU_DEFAULT): Remove redefinition.
	(TARGET_ASM_CONSTRUCTOR): Undefine.
	(SUBTARGET_SWITCHES): Define for ms-bitfields.
	(TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
	(PTRDIFF_TYPE): Define.
	(LONG_DOUBLE_TYPE_SIZE): Define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
	(TARGET_SECTION_TYPE_FLAGS): Define.
	(ASM_DECLARE_FUNCTION_NAME): Define.
	(ASM_OUTPUT_EXTERNAL): Define.
	(ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
	(ASM_OUTPUT_ALIGNED_BSS): Define.
	(PCC_BITFIELD_TYPE_MATTERS): Define.
	(USE_CONST_SECTION): Define.
	(SUBTARGET_ENCODE_SECTION_INFO): Remove.
	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
	(SUPPORTS_ONE_ONLY): Remove.
	(I386_PE_STRIP_ENCODING): Define.
	* config/interix.opt: Delete and move bits to..
	* config/i386/interix.opt: ..here. New.
	(mpe-aligned-commons): Add.
	* config/i386/t-interix: Add copyright header.
	(winnt-stubs.o): Add rule.

	* testsuite/gcc.dg/builtins-config.h: (HAVE_C99_RUNTIME):
	Do not define for Interix.

From-SVN: r183406
2012-01-23 06:25:28 +00:00
Jason Merrill
3abbe4587d cp-demangle.c (d_print_comp): Omit a trailing space in the operator name.
* cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:
	Omit a trailing space in the operator name.

From-SVN: r183072
2012-01-10 12:02:52 -05:00
Jason Merrill
4b6aaa996e re PR c++/6057 (expression mangling doesn't work for operator new)
PR c++/6057
	PR c++/48051
	PR c++/50855
	PR c++/51322
gcc/cp/
	* mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
	THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
	PREDECREMENT_EXPR.
	(write_template_arg): Fix mangling of class-scope functions and
	argument packs.
	(mangle_decl): Update suggested -fabi-version argument.
	* operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
	DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
	* tree.c (dependent_name): No longer static.
	* cp-tree.h: Declare it.
	* pt.c (unify): Defer handling of unconverted functions.
include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY.
libiberty/
	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and
	DEMANGLE_COMPONENT_INITIALIZER_LIST.
	(d_make_comp): Likewise.  Allow null right arg for
	DEMANGLE_COMPONENT_TRINARY_ARG2.
	(cplus_demangle_operators): Adjust new/delete; add .*, :: and throw.
	(d_template_args, d_template_arg): Handle 'J' for argument packs.
	(d_exprlist): Add terminator parm.
	(d_expression, d_print_comp): Handle initializer lists, nullary
	expressions, prefix/suffix operators, and new.
	(d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME
	and DEMANGLE_COMPONENT_INITIALIZER_LIST.
	* testsuite/demangle-expected: Add tests.

From-SVN: r182970
2012-01-06 16:39:43 -05:00
Jason Merrill
49f2da1a16 cp-demangle.c (cplus_demangle_type): decltype, pack expansion and vector are substitutable.
* cp-demangle.c (cplus_demangle_type): decltype, pack expansion
	and vector are substitutable.
	(cplus_demangle_operators): Sort.

From-SVN: r182969
2012-01-06 16:39:34 -05:00
Andreas Krebbel
925b0ed821 re PR bootstrap/51734 (Bootstrap fails in libada)
config/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR bootstrap/51734
	* picflag.m4: Remove s390 case statement.

gcc/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

libada/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

libgcc/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.
	* config/s390/t-crtstuff: Remove -fPIC.

libiberty/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

From-SVN: r182868
2012-01-04 11:41:06 +00:00
Jakub Jelinek
341d3f6e9c re PR driver/48306 (presence of gcc subdir with . in PATH causes breakdown)
* make-relative-prefix.c (make_relative_prefix_1): Avoid
	stack overflow if PATH contains just a single entry and
	HOST_EXECUTABLE_SUFFIX needs to be used.

	PR driver/48306
	* make-relative-prefix.c: Include sys/stat.h.
	(make_relative_prefix_1): If access succeeds, check also stat
	if nstore is a regular file.

From-SVN: r182820
2012-01-02 23:18:21 +01:00
Andreas Schwab
4a5e00ca50 warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call.
config/:
	* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
	expr call.
fixincludes/:
	* configure: Regenerate.
gcc/:
	* configure: Regenerate.
libcpp/:
	* configure: Regenerate.
libdecnumber/:
	* configure: Regenerate.
libiberty/:
	* configure: Regenerate.
lto-plugin/:
	* configure: Regenerate.

From-SVN: r182546
2011-12-20 16:54:12 +00:00
Tristan Gingold
8c3db96e64 aclocal.m4: Assume strncmp works in cross case.
2011-12-20  Tristan Gingold  <gingold@adacore.com>

	* aclocal.m4: Assume strncmp works in cross case.
	* configure: Regenerate

From-SVN: r182520
2011-12-20 08:08:30 +00:00
Andreas Schwab
095af58f2c Check for warning flags without no- prefix
config/:
	PR bootstrap/51388
	* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
	(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
	no- prefix.
fixincludes/:
	* configure: Regenerate.
gcc/:
	* configure: Regenerate.
libcpp/:
	* configure: Regenerate.
libdecnumber/:
	* configure: Regenerate.
libiberty/:
	* configure: Regenerate.
lto-plugin/:
	* configure: Regenerate.

From-SVN: r182478
2011-12-19 13:12:26 +00:00
Aldy Hernandez
0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00
Jason Merrill
b25dd954c4 re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
PR c++/48370
	* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
	(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
	(initialize_reference): Just call convert_like.
	* decl.c (grok_reference_init): Just call initialize_reference.
	(build_init_list_var_init): Remove.
	(check_initializer): Change cleanup parm to VEC.  Handle references
	like other types.  Call perform_implicit_conversion instead
	of build_init_list_var_init.  Don't use build_aggr_init for
	aggregate initialization of arrays.
	(cp_finish_decl): Change cleanup to VEC.
	* typeck2.c (store_init_value): Call extend_ref_init_temps.
	Use build_vec_init for non-constant arrays.
	* init.c (expand_aggr_init_1): Adjust.
	(build_vec_init): Avoid re-converting an initializer
	that's already digested.
	* mangle.c (mangle_ref_init_variable): Add a discriminator.
	* cp-tree.h: Adjust.
	* typeck.c (convert_for_initialization): Adjust.
	* decl2.c (maybe_emit_vtables): Adjust.

From-SVN: r180944
2011-11-04 08:54:08 -04:00
Doug Evans
9f2f6d5e84 Fix thinko in previous checkin.
From-SVN: r180805
2011-11-02 22:00:20 +00:00
Doug Evans
4092fb6e8d Forgotten in previous checkin that added timeval-utils.[ch].
* Makefile.in (CFILES): Add it.
	(REQUIRED_OFILES): Add timeval-utils.$(objext).
	(INSTALLED_HEADERS): Add timeval-utils.h.
	(timeval-utils.$(objext)): Add rule.

From-SVN: r180803
2011-11-02 21:45:19 +00:00
Ian Lance Taylor
d6b0f0f14f * setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
From-SVN: r180641
2011-10-29 00:09:39 +00:00
Iain Sandoe
b20577eae4 re PR target/48108 (lto should be containerized in a single mach-o section on darwin)
gcc:

	PR target/48108
	* config/darwin.c (top level): Amend comments concerning LTO output.
	(lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
	(LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
	(LTO_NAMES_SECTION): Rename.
	(darwin_asm_named_section): Record LTO section counts and switches
	in a vec of darwin_lto_section_e.
	(darwin_file_start): Remove unused code.
	(darwin_file_end): Put an LTO section termination label.  Handle
	output of the wrapped LTO sections, index and names table.

libiberty:

	PR target/48108
	* simple-object-mach-o.c  (GNU_WRAPPER_SECTS, GNU_WRAPPER_INDEX,
	GNU_WRAPPER_NAMES): New macros.
	(simple_object_mach_o_segment): Handle wrapper scheme.
	(simple_object_mach_o_write_section_header): Allow the segment name
	to be supplied.
	(simple_object_mach_o_write_segment): Handle wrapper scheme.  Ensure
	that the top-level segment name in the load command is empty.
	(simple_object_mach_o_write_to_file): Determine the number of
	sections during segment output, use that in writing the header.

From-SVN: r180523
2011-10-26 12:37:59 +00:00
Ian Lance Taylor
d58818f7ba re PR c++/48665 (type of const member function)
PR c++/48665
	* cp-demangle.c (d_cv_qualifiers): If qualifiers are applied to a
	function type, change them to apply to the "this" parameter.
	* testsuite/demangle-expected: Add test case.

From-SVN: r179772
2011-10-10 20:34:20 +00:00
Doug Evans
8c850a5a7f timeval-utils.h: New file.
include/
	* timeval-utils.h: New file.

	libiberty/
	* timeval-utils.c: New file.
	* Makefile.in (CFILES): Add it.
	(REQUIRED_OFILES): Add timeval-utils.$(objext).
	(INSTALLED_HEADERS): Add timeval-utils.h.
	(timeval-utils.$(objext)): Add rule.

From-SVN: r179319
2011-09-28 19:09:50 +00:00
Doug Evans
be50fcea4e libiberty.h (countargv): Declare.
include/
	* libiberty.h (countargv): Declare.

	libiberty/
	* argv.c (countargv): New function.

From-SVN: r179318
2011-09-28 19:04:30 +00:00
Basile Starynkevitch
ae0d176cbc trivial libiberty/ChangeLog update
From-SVN: r179147
2011-09-24 19:56:10 +00:00
Cary Coutant
2d2b02c4da re PR c++/40831 (g++ generated symbols for cloned function that be demangled.)
include/ChangeLog:

	PR 40831
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_CLONE.

libiberty/ChangeLog:

	PR 40831
	* cp-demangle.c (d_make_comp): Add new component type.
	(cplus_demangle_mangled_name): Check for clone suffixes.
	(d_parmlist): Don't error out if we see '.'.
	(d_clone_suffix): New function.
	(d_print_comp): Print info for clone suffixes.
	* testsuite/demangle-expected: Add new testcases.

From-SVN: r179132
2011-09-23 14:39:10 -07:00
Ian Lance Taylor
d303ec8e17 md5.c (md5_process_bytes): Correct handling of unaligned buffer.
* md5.c (md5_process_bytes): Correct handling of unaligned
	buffer.

From-SVN: r179128
2011-09-23 19:19:52 +00:00
Rainer Orth
e3aa9ebaf7 Centralize PICFLAG configuration
config:
	* picflag.m4: New file.

	gcc:
	* configure.ac (GCC_PICFLAG_FOR_TARGET): Call it.
	(PICFLAG_FOR_TARGET): Substitute.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	gcc/ada:
	* gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
	(GNATLIBCFLAGS_FOR_C): Replace
	TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
	(gnatlib-shared-default, gnatlib-shared-dual-win32)
	(gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
	(gnatlib-sjlj, gnatlib-zcx): Likewise.

	libada:
	* configure.ac: Include ../config/picflag.m4.
	(GCC_PICFLAG): Call it.
	Substitute.
	* configure: Regenerate.
	* Makefile.in (TARGET_LIBGCC2_CFLAGS): Replace by PICFLAG.
	(GNATLIBCFLAGS_FOR_C): Replace TARGET_LIBGCC2_CFLAGS by PICFLAG.
	(LIBADA_FLAGS_TO_PASS): Pass PICFLAG as PICFLAG_FOR_TARGET.
	Don't include $(GCC_DIR)/libgcc.mvars.

	libiberty:
	* aclocal.m4: Include ../config/picflag.m4.
	* configure.ac (GCC_PICFLAG): Call it.
	(enable_shared): Clear PICFLAG unless shared.
	* configure: Regenerate.

From-SVN: r177967
2011-08-22 16:54:02 +00:00
Steve Ellcey
c49b1a299e md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
2011-08-12  Steve Ellcey  <sje@cup.hp.com>

	* md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.

From-SVN: r177700
2011-08-12 16:06:57 +00:00
Uros Bizjak
bd82021880 test-expandargv.c (writeout_test): Check result of fwrite.
* testsuite/test-expandargv.c (writeout_test): Check result of fwrite.

From-SVN: r177529
2011-08-06 19:38:04 +02:00
Jason Merrill
4bbff96e36 re PR c++/49932 ([C++0x] ICE on instantiating decltype(expr)::type with template)
PR c++/49932
gcc/cp/
	* mangle.c (write_prefix): Handle decltype.
libiberty/
	* cp-demangle.c (d_prefix): Handle decltype.

From-SVN: r177074
2011-08-01 17:02:07 -04:00
H.J. Lu
52bed4d7ee Remove an extra line.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Remove an extra line.

From-SVN: r176796
2011-07-26 10:07:51 -07:00
Ian Lance Taylor
f2e6f32e60 cp-demangle.c (d_print_init): Initialize pack_index field.
* cp-demangle.c (d_print_init): Initialize pack_index field.
	(d_print_comp): Check for NULL template argument.
	* testsuite/demangle-expected: Add test case.

From-SVN: r176791
2011-07-26 14:28:23 +00:00
Gerald Pfeifer
a0a22423b0 re PR target/49817 (libiberty/stack-limit.c causes a bootstrap failure on all FreeBSD targets)
PR target/49817
	* stack-limit.c: Include <stdint.h>.

From-SVN: r176662
2011-07-22 22:52:55 +00:00
Jakub Jelinek
679debeea3 re PR c++/49756 (g++ ICE)
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
2011-07-22 11:21:49 +02:00
Jakub Jelinek
d423df4823 re PR c++/49756 (g++ ICE)
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: r176617
2011-07-22 10:33:37 +02:00
Jason Merrill
a517066db8 cp-demangle.c (d_expression): Handle 'this'.
* cp-demangle.c (d_expression): Handle 'this'.
	(d_print_comp) [DEMANGLE_COMPONENT_FUNCTION_PARAM]: Likewise.

From-SVN: r175836
2011-07-04 17:44:11 -04:00
Joel Brobecker
985b34c77a Darwin has case-insensitive filesystems
HFS+, the FS on Darwin, is case insensitive. So this patch adjusts
filename_cmp.c to ignore the casing when comparing filenames on Darwin.

include/ChangeLog:

        * filenames.h (HAVE_CASE_INSENSITIVE_FILE_SYSTEM): Define
        on Darwin, as well as on the systems that use a DOS-like
        filesystem.

libiberty/ChangeLog:

        * filename_cmp.c (filename_cmp, filename_ncmp): Add handling of
        HAVE_CASE_INSENSITIVE_FILE_SYSTEM.

From-SVN: r175762
2011-07-01 17:51:05 +00:00
Jan Kratochvil
cb0ad10428 re PR debug/49408 (member function template id not matching linkage name)
libiberty/
	PR debug/49408
	* cp-demangle.c (d_print_comp): Suppress argument list for function
	references by the '&' unary operator.  Keep also already processed
	variant without the argument list.  Suppress argument list types for
	function call used in an expression.
	* testsuite/demangle-expected: Fix excessive argument list types in
	`test for typed function in decltype'.  New testcase for no argument
	list types printed.  3 new testcases for function references by the
	'&' unary operator..

From-SVN: r175761
2011-07-01 17:16:44 +00:00
Jason Merrill
dd70e080ff re PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error ouput thus printing "&&&")
PR c++/37089
	* cp-demangle.c (d_print_comp): Handle reference smashing.

From-SVN: r175213
2011-06-20 10:40:01 -04:00
Jan Kratochvil
5fe8e1e9ab cp-demangle.c (d_print_comp): Suppress d_print_mod for DMGL_RET_POSTFIX.
libiberty/
	* cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>:
	Suppress d_print_mod for DMGL_RET_POSTFIX.
	* testsuite/demangle-expected: New testcases for --ret-postfix.

From-SVN: r175001
2011-06-13 22:34:19 +00:00
Jan Kratochvil
f019462c62 demangle.h (DMGL_RET_POSTFIX): Extend the comment.
include/
	* demangle.h (DMGL_RET_POSTFIX): Extend the comment.
	(DMGL_RET_DROP): New.

libiberty/
	* cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Do
	not pass DMGL_RET_POSTFIX or DMGL_RET_DROP.  Support DMGL_RET_DROP.
	* testsuite/demangle-expected: New testcases for --ret-drop.
	* testsuite/test-demangle.c: Document --ret-drop in a comment.
	(main): New variable ret_drop, fill it, call cplus_demangle with it.

From-SVN: r175000
2011-06-13 22:32:40 +00:00
Jan Kratochvil
743a99db07 cp-demangle.c (struct d_print_info): Remove field options.
libiberty/
	* cp-demangle.c (struct d_print_info): Remove field options.
	(d_print_init): Remove parameter options.
	(cplus_demangle_print_callback): Update all the callers.
	(d_print_comp, d_print_mod_list, d_print_mod, d_print_function_type)
	(d_print_array_type, d_print_expr_op, d_print_cast, d_print_subexpr):
	Add parameter options, update all the callers.

From-SVN: r174999
2011-06-13 22:30:02 +00:00
Jim Meyering
046957830e remove useless if-before-free tests
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free.  Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.

From-SVN: r172785
2011-04-20 18:19:03 +00:00
Jim Meyering
4b9726d48c Avoid memory overrun in a test leading to potential double-free.
2011-04-10  Jim Meyering  <meyering@redhat.com>

	    Avoid memory overrun in a test leading to potential double-free.
	    * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
	    i.e., do copy the trailing NUL byte.

From-SVN: r172246
2011-04-10 18:13:23 +00:00
Tristan Gingold
178aa0f648 makefile.vms (OBJS): Add filename_cmp.obj
2011-03-31  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Add filename_cmp.obj

From-SVN: r171776
2011-03-31 11:09:09 +00:00
Kai Tietz
9436925165 re PR debug/28047 (DWARF output_file_names should really understand DOS pathnames)
2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	PR debug/28047
	* dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
	(lookup_filename): Likewise.
	* final.c (remap_debug_filename): Use filename_ncmp instead of
	strncmp.

2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* filename_cmp.c (filename_ncmp): New function.
	* functions.texi: Regenerated.

2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* filenames.h (filename_ncmp): New prototype.

From-SVN: r170570
2011-02-28 19:23:25 +01:00
Ralf Wildenhues
996c0cb05f libiberty: documentation markup and order fixes.
libiberty/:
	* splay-tree.c: Escape wrapping newlines in texinfo markup
	with '@', to fix function declaration output rendering.
	* gather-docs: Relax and improve macro name matching to actually
	match all current names and to allow input line wrapping.
	* bsearch.c, concat.c, crc32.c, fnmatch.txh, fopen_unlocked.c,
	hashtab.c, insque.c, make-relative-prefix.c, memchr.c, memcmp.c,
	memcpy.c, memmem.c, memmove.c, mempcpy.c, memset.c,
	pexecute.txh, random.c, setenv.c, setproctitle.c,
	simple-object.txh, snprintf.c, stpncpy.c, strncmp.c, strtod.c,
	strtol.c, vasprintf.c, vprintf.c, vsnprintf.c, xmemdup.c:
	Wrap long texinfo input lines.
	* functions.texi: Regenerate.

From-SVN: r169783
2011-02-03 07:23:20 +00:00
Mike Frysinger
9e7955b2d3 libiberty: add .gitignore
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

From-SVN: r168942
2011-01-18 05:06:50 +00:00
Jakub Jelinek
d652f226fc Update Copyright years for files modified in 2010.
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Doug Evans
23346f368b splay-tree.c (splay_tree_foreach_helper): Remove arg `sp', all callers updated.
* splay-tree.c (splay_tree_foreach_helper): Remove arg `sp',
	all callers updated.  Rewrite to be non-recursive.

From-SVN: r167589
2010-12-08 15:48:50 +00:00