]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/d/dmd/mangle.h
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / d / dmd / mangle.h
1
2 /* Compiler implementation of the D programming language
3 * Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved
4 * written by Walter Bright
5 * http://www.digitalmars.com
6 * Distributed under the Boost Software License, Version 1.0.
7 * http://www.boost.org/LICENSE_1_0.txt
8 * https://github.com/dlang/dmd/blob/master/src/dmd/mangle.h
9 */
10
11 #pragma once
12
13 class Dsymbol;
14 class Expression;
15 class FuncDeclaration;
16 class TemplateInstance;
17 class Type;
18 struct OutBuffer;
19
20 // In cppmangle.d
21 const char *toCppMangleItanium(Dsymbol *s);
22 const char *cppTypeInfoMangleItanium(Dsymbol *s);
23 const char *cppThunkMangleItanium(FuncDeclaration *fd, int offset);
24
25 // In cppmanglewin.d
26 const char *toCppMangleMSVC(Dsymbol *s);
27 const char *cppTypeInfoMangleMSVC(Dsymbol *s);
28
29 // In dmangle.d
30 const char *mangleExact(FuncDeclaration *fd);
31 void mangleToBuffer(Type *s, OutBuffer *buf);
32 void mangleToBuffer(Expression *s, OutBuffer *buf);
33 void mangleToBuffer(Dsymbol *s, OutBuffer *buf);
34 void mangleToBuffer(TemplateInstance *s, OutBuffer *buf);