1 
2 /* Compiler implementation of the D programming language
3  * Copyright (C) 1999-2019 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.c
21 const char *toCppMangleItanium(Dsymbol *s);
22 const char *cppTypeInfoMangleItanium(Dsymbol *s);
23 
24 // In cppmanglewin.c
25 const char *toCppMangleMSVC(Dsymbol *s);
26 const char *cppTypeInfoMangleMSVC(Dsymbol *s);
27 
28 // In dmangle.c
29 const char *mangleExact(FuncDeclaration *fd);
30 void mangleToBuffer(Type *s, OutBuffer *buf);
31 void mangleToBuffer(Expression *s, OutBuffer *buf);
32 void mangleToBuffer(Dsymbol *s, OutBuffer *buf);
33 void mangleToBuffer(TemplateInstance *s, OutBuffer *buf);
34