diff options
author | Ash Wolf <ninji@wuffs.org> | 2022-11-07 03:06:21 +0000 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2022-11-07 03:06:21 +0000 |
commit | 9a46dd0e2e80790d9848c0bbd718932a27c23269 (patch) | |
tree | e7a8e976c7138d50a69ff4778c4e8572efd94452 /includes/compiler/CMangler.h | |
parent | d0b9848c54e6f85ab713f059dcd1ddef7e57caa6 (diff) | |
download | MWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.tar.gz MWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.zip |
honk
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/CMangler.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/includes/compiler/CMangler.h b/includes/compiler/CMangler.h new file mode 100644 index 0000000..f08ecd8 --- /dev/null +++ b/includes/compiler/CMangler.h @@ -0,0 +1,35 @@ +#ifndef COMPILER_CMANGLER_H +#define COMPILER_CMANGLER_H + +#include "compiler/common.h" + +#ifdef __MWERKS__ +#pragma options align=mac68k +#endif + +extern HashNameNode *constructor_name_node; +extern HashNameNode *destructor_name_node; +extern HashNameNode *asop_name_node; + +extern void CMangler_Setup(void); +extern HashNameNode *CMangler_BasicDtorName(void); +extern HashNameNode *CMangler_VBaseDtorName(void); +extern HashNameNode *CMangler_ArrayDtorName(void); +extern HashNameNode *CMangler_SDeleteDtorName(void); +extern HashNameNode *CMangler_DeleteDtorName(void); +extern char *CMangler_GetOperator(HashNameNode *opname); +extern HashNameNode *CMangler_OperatorName(short token); +extern HashNameNode *CMangler_VTableName(TypeClass *tclass); +extern HashNameNode *CMangler_RTTIObjectName(Type *type, UInt32 qual); +extern HashNameNode *CMangler_ThunkName(Object *obj, int a, int b, int c); +extern HashNameNode *CMangler_TemplateInstanceName(HashNameNode *basename, TemplArg *args); +extern void CMangler_MangleType(Type *type, UInt32 qual); +extern HashNameNode *CMangler_ConversionFuncName(Type *type, UInt32 qual); +extern HashNameNode *CMangler_GetCovariantFunctionName(Object *obj, Type *type); +extern HashNameNode *CMangler_GetLinkName(Object *obj); + +#ifdef __MWERKS__ +#pragma options align=reset +#endif + +#endif |