diff options
Diffstat (limited to 'includes/compiler/common.h')
-rw-r--r-- | includes/compiler/common.h | 81 |
1 files changed, 69 insertions, 12 deletions
diff --git a/includes/compiler/common.h b/includes/compiler/common.h index b5909e2..15043f5 100644 --- a/includes/compiler/common.h +++ b/includes/compiler/common.h @@ -94,27 +94,34 @@ typedef enum Section { SECT_MW_SWITCH = 30, SECT_8BYTE_LITERALS = 31, SECT_4BYTE_LITERALS = 32, + // one of these next 2 is missing in pro7 SECT_MOD_INIT_FUNC = 33, SECT_MOD_TERM_FUNC = 34, - SECT_CONST = 35, - SECT_CONST_PTR = 36, - SECT_NONLAZY_PTRS = 37, - SECT_COMMON_VARS = 38, - SECT_16BYTE_LITERALS = 39, - SECT_TEXT_COALESCE = 40, - SECT_DATA_COALESCE = 41, - SECT_UDATA_COALESCE = 42, - SECT_CONST_COALESCE = 43, - SECT_CONST_PTR_COALESCE = 44, - SECT_CSTR_COALESCE = 45, - N_SECTIONS = 46 + SECT_CONST = 34, + SECT_CONST_PTR = 35, + // everything after here is known ok + SECT_NONLAZY_PTRS = 36, + SECT_COMMON_VARS = 37, + SECT_16BYTE_LITERALS = 38, + SECT_TEXT_COALESCE = 39, + SECT_DATA_COALESCE = 40, + SECT_UDATA_COALESCE = 41, + SECT_CONST_COALESCE = 42, + SECT_CONST_PTR_COALESCE = 43, + SECT_CSTR_COALESCE = 44, + N_SECTIONS = 45 } Section; typedef struct BClassList BClassList; typedef struct CI_FuncData CI_FuncData; typedef struct CLabel CLabel; +typedef struct ClassList ClassList; +typedef struct CParams CParams; +typedef struct DeclInfo DeclInfo; +typedef struct DeclThing DeclThing; // rename me please typedef struct DefArgCtorInfo DefArgCtorInfo; typedef struct DepName DepName; +typedef struct EMemberInfo EMemberInfo; typedef struct ENode ENode; typedef struct ENodeList ENodeList; typedef struct ExceptionAction ExceptionAction; @@ -139,6 +146,11 @@ typedef struct Object Object; typedef struct ObjectList ObjectList; typedef struct ObjCInfo ObjCInfo; typedef struct ObjCMethod ObjCMethod; +typedef struct Operand Operand; +typedef struct PackedDeclInfo PackedDeclInfo; +typedef struct PCode PCode; +typedef struct PCodeArg PCodeArg; +typedef struct PCodeBlock PCodeBlock; typedef struct PCodeLabel PCodeLabel; typedef struct PointsToFunction PointsToFunction; typedef struct PTFList PTFList; @@ -166,6 +178,7 @@ typedef struct TypeClass TypeClass; typedef struct TypeEnum TypeEnum; typedef struct TypeFunc TypeFunc; typedef struct TypeIntegral TypeIntegral; +typedef struct TypeList TypeList; typedef struct TypeMemberPointer TypeMemberPointer; typedef struct TypeMethod TypeMethod; typedef struct TypePointer TypePointer; @@ -173,6 +186,7 @@ typedef struct TypeStruct TypeStruct; typedef struct TypeTemplDep TypeTemplDep; typedef struct VarInfo VarInfo; typedef struct VarRecord VarRecord; +typedef struct VClassList VClassList; // Common bits for templates typedef enum TemplParamType { @@ -262,7 +276,12 @@ enum { Q_BYCOPY = 0x2000, Q_BYREF = 0x4000, Q_ONEWAY = 0x8000, + Q_10000 = 0x10000, + Q_20000 = 0x20000, + Q_OVERLOAD = 0x40000, // weak + Q_80000 = 0x80000, Q_RESTRICT = 0x200000, + Q_1000000 = 0x1000000, Q_ALIGNED_1 = 0x2000000, Q_ALIGNED_2 = 0x4000000, Q_ALIGNED_4 = 0x6000000, @@ -280,4 +299,42 @@ enum { Q_ALIGNED_MASK = 0x1E000000 }; +enum { + EXPORT_FLAGS_INTERNAL = 0x10, + EXPORT_FLAGS_IMPORT = 0x20, + EXPORT_FLAGS_EXPORT = 0x40 +}; + +#ifdef __MWERKS__ +#pragma options align=mac68k +#endif +struct CParams { + CWPluginContext context; + CWObjectData objectdata; + Handle objectDataHandle; + Handle browseDataHandle; + SInt32 pluginRequest; + SInt32 apiVersion; + FSSpec projectFile; + SInt32 projectFileCount; + SInt32 mainFileNumber; + FSSpec mainFileSpec; + const char *mainFileText; + SInt32 mainFileTextLength; + Boolean isPrecompiling; + Boolean isAutoPrecompiling; + Boolean isPreprocessing; + Boolean isGeneratingDebugInfo; + Boolean isCachingPrecompiledHeaders; + CWBrowseOptions browseOptions; + Boolean field276; + SInt16 mainFileID; + CWDataType targetOS; + CWDataType targetCPU; + char *targetName; +}; +#ifdef __MWERKS__ +#pragma options align=reset +#endif + #endif |