diff options
Diffstat (limited to 'includes/compiler/CMangler.h')
-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 |