demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
include/ * demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h. (rust_demangle_sym): Move to libiberty/rust-demangle.h. libiberty/ * cplus-dem.c: Include rust-demangle.h. * rust-demangle.c: Include rust-demangle.h. * rust-demangle.h: New file. From-SVN: r273573
This commit is contained in:
parent
24990170d3
commit
979526c9ce
@ -1,3 +1,8 @@
|
||||
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||||
|
||||
* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
|
||||
(rust_demangle_sym): Move to libiberty/rust-demangle.h.
|
||||
|
||||
2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* gomp-constants.h (enum gomp_map_kind): Fix description of
|
||||
|
@ -159,24 +159,6 @@ ada_demangle (const char *mangled, int options);
|
||||
extern char *
|
||||
dlang_demangle (const char *mangled, int options);
|
||||
|
||||
/* Returns non-zero iff MANGLED is a rust mangled symbol. MANGLED must
|
||||
already have been demangled through cplus_demangle_v3. If this function
|
||||
returns non-zero then MANGLED can be demangled (in-place) using
|
||||
RUST_DEMANGLE_SYM. */
|
||||
extern int
|
||||
rust_is_mangled (const char *mangled);
|
||||
|
||||
/* Demangles SYM (in-place) if RUST_IS_MANGLED returned non-zero for SYM.
|
||||
If RUST_IS_MANGLED returned zero for SYM then RUST_DEMANGLE_SYM might
|
||||
replace characters that cannot be demangled with '?' and might truncate
|
||||
SYM. After calling RUST_DEMANGLE_SYM SYM might be shorter, but never
|
||||
larger. */
|
||||
extern void
|
||||
rust_demangle_sym (char *sym);
|
||||
|
||||
/* Demangles MANGLED if it was GNU_V3 and then RUST mangled, otherwise
|
||||
returns NULL. Uses CPLUS_DEMANGLE_V3, RUST_IS_MANGLED and
|
||||
RUST_DEMANGLE_SYM. Returns a new string that is owned by the caller. */
|
||||
extern char *
|
||||
rust_demangle (const char *mangled, int options);
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||||
|
||||
* cplus-dem.c: Include rust-demangle.h.
|
||||
* rust-demangle.c: Include rust-demangle.h.
|
||||
* rust-demangle.h: New file.
|
||||
|
||||
2019-05-31 Michael Forney <mforney@mforney.org>
|
||||
|
||||
* cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
|
||||
|
@ -52,6 +52,7 @@ void * realloc ();
|
||||
#define CURRENT_DEMANGLING_STYLE options
|
||||
|
||||
#include "libiberty.h"
|
||||
#include "rust-demangle.h"
|
||||
|
||||
enum demangling_styles current_demangling_style = auto_demangling;
|
||||
|
||||
|
@ -47,6 +47,7 @@ extern void *memset(void *s, int c, size_t n);
|
||||
|
||||
#include <demangle.h>
|
||||
#include "libiberty.h"
|
||||
#include "rust-demangle.h"
|
||||
|
||||
|
||||
/* Mangled Rust symbols look like this:
|
||||
|
45
libiberty/rust-demangle.h
Normal file
45
libiberty/rust-demangle.h
Normal file
@ -0,0 +1,45 @@
|
||||
/* Internal demangler interface for the Rust programming language.
|
||||
Copyright (C) 2016-2019 Free Software Foundation, Inc.
|
||||
Written by David Tolnay (dtolnay@gmail.com).
|
||||
|
||||
This file is part of the libiberty library.
|
||||
Libiberty is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Library General Public
|
||||
License, the Free Software Foundation gives you unlimited permission
|
||||
to link the compiled version of this file into combinations with other
|
||||
programs, and to distribute those combinations without any restriction
|
||||
coming from the use of this file. (The Library Public License
|
||||
restrictions do apply in other respects; for example, they cover
|
||||
modification of the file, and distribution when not linked into a
|
||||
combined executable.)
|
||||
|
||||
Libiberty is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with libiberty; see the file COPYING.LIB.
|
||||
If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This file provides some definitions shared by cplus-dem.c and
|
||||
rust-demangle.c. It should not be included by any other files. */
|
||||
|
||||
/* Returns non-zero iff MANGLED is a rust mangled symbol. MANGLED must
|
||||
already have been demangled through cplus_demangle_v3. If this function
|
||||
returns non-zero then MANGLED can be demangled (in-place) using
|
||||
RUST_DEMANGLE_SYM. */
|
||||
extern int
|
||||
rust_is_mangled (const char *mangled);
|
||||
|
||||
/* Demangles SYM (in-place) if RUST_IS_MANGLED returned non-zero for SYM.
|
||||
If RUST_IS_MANGLED returned zero for SYM then RUST_DEMANGLE_SYM might
|
||||
replace characters that cannot be demangled with '?' and might truncate
|
||||
SYM. After calling RUST_DEMANGLE_SYM SYM might be shorter, but never
|
||||
larger. */
|
||||
extern void
|
||||
rust_demangle_sym (char *sym);
|
Loading…
Reference in New Issue
Block a user