tic4x: sign extension using shifts
[deliverable/binutils-gdb.git] / libiberty / rust-demangle.h
1 /* Internal demangler interface for the Rust programming language.
2 Copyright (C) 2016-2019 Free Software Foundation, Inc.
3 Written by David Tolnay (dtolnay@gmail.com).
4
5 This file is part of the libiberty library.
6 Libiberty is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 In addition to the permissions in the GNU Library General Public
12 License, the Free Software Foundation gives you unlimited permission
13 to link the compiled version of this file into combinations with other
14 programs, and to distribute those combinations without any restriction
15 coming from the use of this file. (The Library Public License
16 restrictions do apply in other respects; for example, they cover
17 modification of the file, and distribution when not linked into a
18 combined executable.)
19
20 Libiberty is distributed in the hope that it will be useful,
21 but WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 Library General Public License for more details.
24
25 You should have received a copy of the GNU Library General Public
26 License along with libiberty; see the file COPYING.LIB.
27 If not, see <http://www.gnu.org/licenses/>. */
28
29 /* This file provides some definitions shared by cplus-dem.c and
30 rust-demangle.c. It should not be included by any other files. */
31
32 /* Returns non-zero iff MANGLED is a rust mangled symbol. MANGLED must
33 already have been demangled through cplus_demangle_v3. If this function
34 returns non-zero then MANGLED can be demangled (in-place) using
35 RUST_DEMANGLE_SYM. */
36 extern int
37 rust_is_mangled (const char *mangled);
38
39 /* Demangles SYM (in-place) if RUST_IS_MANGLED returned non-zero for SYM.
40 If RUST_IS_MANGLED returned zero for SYM then RUST_DEMANGLE_SYM might
41 replace characters that cannot be demangled with '?' and might truncate
42 SYM. After calling RUST_DEMANGLE_SYM SYM might be shorter, but never
43 larger. */
44 extern void
45 rust_demangle_sym (char *sym);
This page took 0.033012 seconds and 4 git commands to generate.