summaryrefslogtreecommitdiff
path: root/includes/compiler/common.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-11-07 03:06:21 +0000
committerAsh Wolf <ninji@wuffs.org>2022-11-07 03:06:21 +0000
commit9a46dd0e2e80790d9848c0bbd718932a27c23269 (patch)
treee7a8e976c7138d50a69ff4778c4e8572efd94452 /includes/compiler/common.h
parentd0b9848c54e6f85ab713f059dcd1ddef7e57caa6 (diff)
downloadMWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.tar.gz
MWCC-9a46dd0e2e80790d9848c0bbd718932a27c23269.zip
honk
Diffstat (limited to '')
-rw-r--r--includes/compiler/common.h81
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