mirror of
https://git.wuffs.org/MWCC
synced 2025-12-14 23:56:22 +00:00
reorganise things a bit to align further with the actual names/structure
This commit is contained in:
@@ -7,9 +7,9 @@ extern Boolean gUseTokenStreamSource;
|
||||
extern Boolean gForceSourceLoc;
|
||||
extern Boolean gUseNameTable;
|
||||
|
||||
extern void CBrowse_Setup(CParams *params);
|
||||
extern void CBrowse_Finish(CParams *params);
|
||||
extern void CBrowse_Cleanup(CParams *params);
|
||||
extern void CBrowse_Setup(CompilerLinkerParamBlk *params);
|
||||
extern void CBrowse_Finish(CompilerLinkerParamBlk *params);
|
||||
extern void CBrowse_Cleanup(CompilerLinkerParamBlk *params);
|
||||
extern void CBrowse_BeginClass(DeclInfo *di, GList *gl);
|
||||
extern void CBrowse_AddClassMemberVar(ObjMemberVar *ivar, SInt32 startOffset, SInt32 endOffset);
|
||||
extern void CBrowse_AddClassMemberFunction(Object *object, SInt32 startOffset, SInt32 endOffset);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
extern Boolean systemHandles;
|
||||
extern Boolean crippled;
|
||||
extern SInt32 license_cookie;
|
||||
extern CParams cparams;
|
||||
extern CompilerLinkerParamBlk cparams;
|
||||
|
||||
extern CWPLUGIN_ENTRY(MWC_main)(CWPluginContext context);
|
||||
extern void PrintProgressFunction(const char *str);
|
||||
|
||||
@@ -53,82 +53,81 @@ enum {
|
||||
};
|
||||
|
||||
|
||||
// not sure how many of these are char and how many are unsigned char or Boolean
|
||||
typedef struct COpts {
|
||||
Boolean little_endian;
|
||||
typedef struct CompilerLinkerOptions {
|
||||
Boolean littleendian;
|
||||
Boolean codegen_dynamic;
|
||||
Boolean codegen_pic;
|
||||
Boolean no_common;
|
||||
Boolean no_implicit_templates;
|
||||
Boolean absolutepath; // determines the path written to debug info
|
||||
char x06; // linker/objgen related
|
||||
short cpu;
|
||||
char schedule_cpu;
|
||||
char schedule_mode; // may be an enum??
|
||||
short processor;
|
||||
char scheduling;
|
||||
char schedule_factor;
|
||||
SInt32 debuglisting;
|
||||
Boolean profile;
|
||||
Boolean traceback;
|
||||
Boolean disable_registers;
|
||||
Boolean fp_contract;
|
||||
Boolean no_register_save_helpers;
|
||||
Boolean ppc_unroll_speculative;
|
||||
short ppc_unroll_instructions_limit;
|
||||
short ppc_unroll_factor_limit;
|
||||
Boolean unroll_speculative;
|
||||
short unroll_instr_limit;
|
||||
short unroll_factor_limit;
|
||||
Boolean altivec_model;
|
||||
UInt8 altivec_vrsave;
|
||||
UInt8 code_alignment;
|
||||
UInt8 function_align;
|
||||
UInt8 x1D;
|
||||
UInt8 x1E; // some register used in TOC_use_isel
|
||||
UInt8 gen_isel;
|
||||
UInt8 gen_fsel;
|
||||
Boolean ppc_opt_bclr_bcctr;
|
||||
Boolean opt_bcc_lr_ctr;
|
||||
Boolean use_lmw_stmw;
|
||||
char report_heap_info;
|
||||
Boolean misaligned_mem_access;
|
||||
Boolean switch_tables;
|
||||
char prepare_compress;
|
||||
char some_alignment; // used in CMach_AllocationAlignment
|
||||
Boolean prepare_compress;
|
||||
char min_struct_alignment; // used in CMach_AllocationAlignment
|
||||
Boolean asmsemicolcomment;
|
||||
Boolean asmpoundcomment;
|
||||
StringPtr oldprefixname;
|
||||
short inlinelevel;
|
||||
int inline_max_size;
|
||||
int inline_max_total_size;
|
||||
int inlinemaxsize;
|
||||
int inlinemaxtotalsize;
|
||||
Boolean inline_bottom_up;
|
||||
Boolean cplusplus;
|
||||
Boolean ecplusplus;
|
||||
Boolean objective_c;
|
||||
Boolean objc_strict;
|
||||
Boolean ARM_conform;
|
||||
Boolean ARM_scoping;
|
||||
Boolean require_prototypes;
|
||||
Boolean ARMconform;
|
||||
Boolean ARMscoping;
|
||||
Boolean checkprotos;
|
||||
Boolean trigraphs;
|
||||
Boolean only_std_keywords;
|
||||
Boolean onlystdkeywords;
|
||||
Boolean enumsalwaysint;
|
||||
Boolean ANSI_strict;
|
||||
Boolean ANSIstrict;
|
||||
Boolean mpwc_relax;
|
||||
Boolean mpwc_newline;
|
||||
Boolean ignore_oldstyle;
|
||||
Boolean cpp_extensions;
|
||||
Boolean pointercast_lvalue;
|
||||
Boolean useRTTI;
|
||||
Boolean RTTI;
|
||||
Boolean delete_exception;
|
||||
char _4B;
|
||||
Boolean test_dummy;
|
||||
Boolean oldalignment;
|
||||
Boolean unsignedchars;
|
||||
Boolean unsigned_char;
|
||||
Boolean multibyteaware;
|
||||
Boolean autoinline;
|
||||
Boolean auto_inline;
|
||||
Boolean defer_codegen;
|
||||
Boolean direct_to_som;
|
||||
Boolean som_env_check;
|
||||
Boolean som_call_opt;
|
||||
Boolean som_call_optimize;
|
||||
Boolean booltruefalse;
|
||||
char old_enum_mangler;
|
||||
Boolean old_enum_mangler;
|
||||
Boolean longlong;
|
||||
Boolean longlong_enums;
|
||||
char no_tfuncinline;
|
||||
Boolean _59;
|
||||
Boolean no_tfuncinline;
|
||||
Boolean always_vdispatch;
|
||||
Boolean flat_include;
|
||||
char syspath_once;
|
||||
Boolean syspath_once;
|
||||
Boolean always_import;
|
||||
Boolean simple_class_byval;
|
||||
Boolean wchar_type;
|
||||
@@ -136,16 +135,16 @@ typedef struct COpts {
|
||||
Boolean vbase_abi_v2;
|
||||
Boolean def_inherited;
|
||||
Boolean template_patch;
|
||||
char template_friends;
|
||||
Boolean template_friends;
|
||||
Boolean faster_pch_gen;
|
||||
Boolean array_new_delete;
|
||||
Boolean dollar_identifiers;
|
||||
char def_inline_tfuncs;
|
||||
Boolean def_inline_tfuncs;
|
||||
Boolean arg_dep_lookup;
|
||||
Boolean simple_prepdump;
|
||||
Boolean line_prepdump;
|
||||
Boolean fullpath_prepdump;
|
||||
char old_mtemplparser;
|
||||
Boolean old_mtemplparser;
|
||||
Boolean suppress_init_code;
|
||||
Boolean reverse_bitfields;
|
||||
Boolean c9x;
|
||||
@@ -153,20 +152,20 @@ typedef struct COpts {
|
||||
Boolean no_static_dtors;
|
||||
Boolean longlong_prepeval;
|
||||
Boolean const_strings;
|
||||
char dumpir;
|
||||
Boolean dumpir;
|
||||
Boolean experimental;
|
||||
Boolean gcc_extensions;
|
||||
char stdc_fp_contract;
|
||||
char stdc_fenv_access;
|
||||
char stdc_cx_limitedr;
|
||||
Boolean stdc_fp_contract;
|
||||
Boolean stdc_fenv_access;
|
||||
Boolean stdc_cx_limitedr;
|
||||
Boolean old_argmatch;
|
||||
Boolean optEH;
|
||||
Boolean optEH2;
|
||||
Boolean new_mangler;
|
||||
char microsoft;
|
||||
Boolean microsoft_EH;
|
||||
Boolean warningerrors;
|
||||
Boolean pedantic;
|
||||
Boolean check_header_flags;
|
||||
Boolean checkprecompflags;
|
||||
Boolean supress_warnings;
|
||||
Boolean warn_illpragma;
|
||||
Boolean warn_emptydecl;
|
||||
@@ -183,51 +182,51 @@ typedef struct COpts {
|
||||
Boolean warn_no_side_effect;
|
||||
Boolean warn_resultnotused;
|
||||
Boolean warn_ptr_int_conv;
|
||||
char align_mode;
|
||||
Boolean align_array_members;
|
||||
char structalignment;
|
||||
Boolean alignarraymembers;
|
||||
Boolean dont_reuse_strings;
|
||||
Boolean pool_strings;
|
||||
Boolean poolstrings;
|
||||
Boolean explicit_zero_data;
|
||||
Boolean readonly_strings;
|
||||
Boolean exceptions;
|
||||
char _99;
|
||||
Boolean dont_inline;
|
||||
Boolean always_inline;
|
||||
Boolean dddummy;
|
||||
Boolean dontinline;
|
||||
Boolean alwaysinline;
|
||||
Boolean peephole;
|
||||
Boolean global_optimizer;
|
||||
char side_effects;
|
||||
Boolean internal;
|
||||
Boolean import;
|
||||
Boolean export;
|
||||
Boolean lib_export;
|
||||
Boolean globaloptimizer;
|
||||
Boolean sideeffects;
|
||||
Boolean cfm_internal;
|
||||
Boolean cfm_import;
|
||||
Boolean cfm_export;
|
||||
Boolean cfm_lib_export;
|
||||
Boolean nosyminline;
|
||||
char force_active;
|
||||
Boolean force_active;
|
||||
char optimizationlevel;
|
||||
Boolean optimize_for_size;
|
||||
Boolean optimizesize;
|
||||
Boolean optimizewithasm;
|
||||
Boolean crippled;
|
||||
Boolean opt_common_subs;
|
||||
Boolean opt_loop_invariants;
|
||||
Boolean opt_propagation;
|
||||
Boolean opt_dead_assignments;
|
||||
Boolean opt_strength_reduction;
|
||||
Boolean opt_strength_reduction_strict;
|
||||
Boolean opt_dead_code;
|
||||
Boolean opt_lifetimes;
|
||||
char _B1; // unused?
|
||||
Boolean opt_unroll_loops;
|
||||
char opt_vectorize_loops;
|
||||
Boolean _B4; // amount of IRO passes?
|
||||
Boolean commonsubs;
|
||||
Boolean loopinvariants;
|
||||
Boolean propagation;
|
||||
Boolean deadstore;
|
||||
Boolean strengthreduction;
|
||||
Boolean strengthreductionstrict;
|
||||
Boolean deadcode;
|
||||
Boolean lifetimes;
|
||||
Boolean logopts;
|
||||
Boolean unrolling;
|
||||
Boolean vectorizeloops;
|
||||
Boolean multiplepasses;
|
||||
Boolean opt_pointer_analysis;
|
||||
unsigned char opt_pointer_analysis_mode;
|
||||
char loop_unroll_count;
|
||||
char loop_unroll_size_threshold;
|
||||
Boolean isGeneratingDebugInfo;
|
||||
CWDataType pchCreator;
|
||||
CWDataType pchType;
|
||||
CWDataType text;
|
||||
HashNameNode *forcedSegment; // when set by #pragma segment
|
||||
} COpts;
|
||||
UInt8 opt_pointer_analysis_mode;
|
||||
char unrollfactor;
|
||||
char unrollinstrfactor;
|
||||
Boolean filesyminfo;
|
||||
CWDataType appltype;
|
||||
CWDataType headtype;
|
||||
CWDataType texttype;
|
||||
HashNameNode *cursegmentname; // when set by #pragma segment
|
||||
} CompilerLinkerOptions;
|
||||
|
||||
typedef struct ParserTryBlock {
|
||||
struct ParserTryBlock *next;
|
||||
@@ -290,7 +289,7 @@ extern Object *Xthrw_func;
|
||||
extern Object *Xicth_func;
|
||||
extern Object *Xecth_func;
|
||||
extern Object *Xunex_func;
|
||||
extern COpts copts;
|
||||
extern CompilerLinkerOptions copts;
|
||||
extern struct GList name_mangle_list;
|
||||
extern HashNameNode *no_name_node;
|
||||
extern HashNameNode *temp_argument_name;
|
||||
|
||||
@@ -25,7 +25,7 @@ typedef struct TokenStack {
|
||||
} TokenStack;
|
||||
|
||||
//#define OPT_OFFSET(optname) ((short) (((char *) (&copts.optname)) - ((char *) &copts)))
|
||||
#define OPT_OFFSET(optname) ((UInt16) ( &((COpts *)0)->optname ))
|
||||
#define OPT_OFFSET(optname) ((UInt16) ( &((CompilerLinkerOptions *)0)->optname ))
|
||||
enum {
|
||||
OPT_OFFSET_MASK = 0x1FFF,
|
||||
OPT_FLAG_2000 = 0x2000,
|
||||
@@ -33,7 +33,7 @@ enum {
|
||||
OPT_FLAG_8000 = 0x8000
|
||||
};
|
||||
|
||||
extern CParams *cparamblkptr;
|
||||
extern CompilerLinkerParamBlk *cparamblkptr;
|
||||
extern short tk;
|
||||
extern CInt64 tkintconst;
|
||||
extern Float tkfloatconst;
|
||||
@@ -112,7 +112,7 @@ extern SInt32 CPrep_GetFileOffsetInfo(FileOffsetInfo *foi);
|
||||
extern void CPrep_GetFileOffsetInfo2(FileOffsetInfo *foi, SInt32 *pLine, HashNameNode **pName);
|
||||
extern void CPrep_ResetFileInfo(FileOffsetInfo *foi);
|
||||
extern void CPrep_GetPrepPos(CPrepFileInfo **file, SInt32 *ppos);
|
||||
extern UInt8 C_Compiler(CParams *param);
|
||||
extern UInt8 C_Compiler(CompilerLinkerParamBlk *param);
|
||||
extern void poptokenseq(void);
|
||||
extern void foundnl(void);
|
||||
extern void newline(void);
|
||||
|
||||
@@ -112,7 +112,7 @@ typedef struct BClassList BClassList;
|
||||
typedef struct CI_FuncData CI_FuncData;
|
||||
typedef struct CLabel CLabel;
|
||||
typedef struct ClassList ClassList;
|
||||
typedef struct CParams CParams;
|
||||
typedef struct CompilerLinkerParamBlk CompilerLinkerParamBlk;
|
||||
typedef struct CPrepFileInfo CPrepFileInfo;
|
||||
typedef struct CScopeSave CScopeSave;
|
||||
typedef struct DeclE DeclE;
|
||||
@@ -296,30 +296,30 @@ typedef enum RegClass {
|
||||
#ifdef __MWERKS__
|
||||
#pragma options align=mac68k
|
||||
#endif
|
||||
struct CParams {
|
||||
struct CompilerLinkerParamBlk {
|
||||
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;
|
||||
CWObjectData object;
|
||||
Handle objectdata;
|
||||
Handle browsedata;
|
||||
SInt32 request;
|
||||
SInt32 version;
|
||||
FSSpec targetfile;
|
||||
SInt32 numfiles;
|
||||
SInt32 whichfile;
|
||||
FSSpec sourcefile;
|
||||
const char *sourcetext;
|
||||
SInt32 sourcetextsize;
|
||||
Boolean precompile;
|
||||
Boolean autoprecompile;
|
||||
Boolean preprocess;
|
||||
Boolean SYMinfo;
|
||||
Boolean caching_includes;
|
||||
CWBrowseOptions browseoptions;
|
||||
Boolean recordbrowseinfo;
|
||||
SInt16 browserfileID;
|
||||
CWDataType targetOS;
|
||||
CWDataType targetCPU;
|
||||
char *targetName;
|
||||
char *idetargetname;
|
||||
};
|
||||
|
||||
#define FITS_IN_SHORT(value) ( (value) == ((short) (value)) )
|
||||
|
||||
Reference in New Issue
Block a user