mirror of https://git.wuffs.org/MWCC
36 lines
1.3 KiB
C
36 lines
1.3 KiB
C
|
#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
|