d: Merge dmd, druntime d8e3976a58, phobos 7a6e95688
[official-gcc.git] / gcc / d / dmd / mangle.h
blob68064a9210a948077eae32793e8277b283cd1602
2 /* Compiler implementation of the D programming language
3 * Copyright (C) 1999-2024 by The D Language Foundation, All Rights Reserved
4 * written by Walter Bright
5 * https://www.digitalmars.com
6 * Distributed under the Boost Software License, Version 1.0.
7 * https://www.boost.org/LICENSE_1_0.txt
8 * https://github.com/dlang/dmd/blob/master/src/dmd/mangle.h
9 */
11 #pragma once
13 class Dsymbol;
14 class Expression;
15 class FuncDeclaration;
16 class TemplateInstance;
17 class Type;
18 struct OutBuffer;
20 // In cppmangle.d
21 const char *toCppMangleItanium(Dsymbol *s);
22 const char *cppTypeInfoMangleItanium(Dsymbol *s);
23 const char *cppThunkMangleItanium(FuncDeclaration *fd, int offset);
25 // In cppmanglewin.d
26 const char *toCppMangleMSVC(Dsymbol *s);
27 const char *cppTypeInfoMangleMSVC(Dsymbol *s);
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);