mirror of
https://git.wuffs.org/MWCC
synced 2025-12-12 14:46:09 +00:00
getting closer
This commit is contained in:
@@ -8,298 +8,591 @@
|
||||
#define CError_FATAL(line) do { CError_Internal(__FILE__, line); } while (0)
|
||||
|
||||
enum {
|
||||
// "illegal character constant"
|
||||
CErrorStr100 = 100,
|
||||
// "illegal string constant"
|
||||
CErrorStr101 = 101,
|
||||
// "unexpected end of file"
|
||||
CErrorStr102 = 102,
|
||||
// "unterminated comment"
|
||||
CErrorStr103 = 103,
|
||||
// "undefined preprocessor directive"
|
||||
CErrorStr104 = 104,
|
||||
// "illegal token"
|
||||
CErrorStr105 = 105,
|
||||
// "string too long"
|
||||
CErrorStr106 = 106,
|
||||
// "identifier expected"
|
||||
CErrorStr107 = 107,
|
||||
// "macro '%u' redefined"
|
||||
CErrorStr108 = 108,
|
||||
// "illegal argument list"
|
||||
CErrorStr109 = 109,
|
||||
// "too many macro arguments"
|
||||
CErrorStr110 = 110,
|
||||
// "macro(s) too complex"
|
||||
CErrorStr111 = 111,
|
||||
// "unexpected end of line"
|
||||
CErrorStr112 = 112,
|
||||
// "end of line expected"
|
||||
CErrorStr113 = 113,
|
||||
// "'(' expected"
|
||||
CErrorStr114 = 114,
|
||||
// "')' expected"
|
||||
CErrorStr115 = 115,
|
||||
// "',' expected"
|
||||
CErrorStr116 = 116,
|
||||
// "preprocessor syntax error"
|
||||
CErrorStr117 = 117,
|
||||
// "preceding #if is missing"
|
||||
CErrorStr118 = 118,
|
||||
// "unterminated #if / macro"
|
||||
CErrorStr119 = 119,
|
||||
// "unexpected token"
|
||||
CErrorStr120 = 120,
|
||||
// "declaration syntax error"
|
||||
CErrorStr121 = 121,
|
||||
// "identifier '%u' redeclared"
|
||||
CErrorStr122 = 122,
|
||||
// "';' expected"
|
||||
CErrorStr123 = 123,
|
||||
// "illegal constant expression"
|
||||
CErrorStr124 = 124,
|
||||
// "']' expected"
|
||||
CErrorStr125 = 125,
|
||||
// "illegal use of 'void'"
|
||||
CErrorStr126 = 126,
|
||||
// "illegal function definition"
|
||||
CErrorStr127 = 127,
|
||||
// "illegal function return type"
|
||||
CErrorStr128 = 128,
|
||||
// "illegal array definition"
|
||||
CErrorStr129 = 129,
|
||||
// "'}' expected"
|
||||
CErrorStr130 = 130,
|
||||
// "illegal struct/union/enum/class definition"
|
||||
CErrorStr131 = 131,
|
||||
// "struct/union/enum/class tag '%u' redefined"
|
||||
CErrorStr132 = 132,
|
||||
// "struct/union/class member '%u' redefined"
|
||||
CErrorStr133 = 133,
|
||||
// "declarator expected"
|
||||
CErrorStr134 = 134,
|
||||
// "'{' expected"
|
||||
CErrorStr135 = 135,
|
||||
// "illegal use of incomplete struct/union/class '%t'"
|
||||
CErrorStr136 = 136,
|
||||
// "struct/union/class size exceeds 32K"
|
||||
CErrorStr137 = 137,
|
||||
// "illegal bitfield declaration"
|
||||
CErrorStr138 = 138,
|
||||
// "division by 0"
|
||||
CErrorStr139 = 139,
|
||||
// "undefined identifier '%u'"
|
||||
CErrorStr140 = 140,
|
||||
// "expression syntax error"
|
||||
CErrorStr141 = 141,
|
||||
// "not an lvalue"
|
||||
CErrorStr142 = 142,
|
||||
// "illegal operation"
|
||||
CErrorStr143 = 143,
|
||||
// "illegal operand"
|
||||
CErrorStr144 = 144,
|
||||
// "data type is incomplete"
|
||||
CErrorStr145 = 145,
|
||||
// "illegal type"
|
||||
CErrorStr146 = 146,
|
||||
// "too many initializers"
|
||||
CErrorStr147 = 147,
|
||||
// "pointer/array required"
|
||||
CErrorStr148 = 148,
|
||||
// "not a struct/union/class"
|
||||
CErrorStr149 = 149,
|
||||
// "'%u' is not a struct/union/class member"
|
||||
CErrorStr150 = 150,
|
||||
// "the file '%u' cannot be opened"
|
||||
CErrorStr151 = 151,
|
||||
// "illegal instruction for this processor"
|
||||
CErrorStr152 = 152,
|
||||
// "illegal operands for this processor"
|
||||
CErrorStr153 = 153,
|
||||
// "number is out of range"
|
||||
CErrorStr154 = 154,
|
||||
// "illegal addressing mode"
|
||||
CErrorStr155 = 155,
|
||||
// "illegal data size"
|
||||
CErrorStr156 = 156,
|
||||
// "illegal register list"
|
||||
CErrorStr157 = 157,
|
||||
// "branch out of range"
|
||||
CErrorStr158 = 158,
|
||||
// "undefined label '%u'"
|
||||
CErrorStr159 = 159,
|
||||
// "reference to label '%u' is out of range"
|
||||
CErrorStr160 = 160,
|
||||
// "call of non-function"
|
||||
CErrorStr161 = 161,
|
||||
// "function call does not match prototype"
|
||||
CErrorStr162 = 162,
|
||||
// "illegal use of register variable"
|
||||
CErrorStr163 = 163,
|
||||
// "illegal type cast"
|
||||
CErrorStr164 = 164,
|
||||
// "function already has a stackframe"
|
||||
CErrorStr165 = 165,
|
||||
// "function has no initialized stackframe"
|
||||
CErrorStr166 = 166,
|
||||
// "value is not stored in register"
|
||||
CErrorStr167 = 167,
|
||||
// "function nesting too complex"
|
||||
CErrorStr168 = 168,
|
||||
// "illegal use of keyword"
|
||||
CErrorStr169 = 169,
|
||||
// "':' expected"
|
||||
CErrorStr170 = 170,
|
||||
// "label '%u' redefined"
|
||||
CErrorStr171 = 171,
|
||||
// "case constant defined more than once"
|
||||
CErrorStr172 = 172,
|
||||
// "default label defined more than once"
|
||||
CErrorStr173 = 173,
|
||||
// "illegal initialization"
|
||||
CErrorStr174 = 174,
|
||||
// "illegal use of inline function"
|
||||
CErrorStr175 = 175,
|
||||
// "illegal type qualifier(s)"
|
||||
CErrorStr176 = 176,
|
||||
// "illegal storage class"
|
||||
CErrorStr177 = 177,
|
||||
// "function has no prototype"
|
||||
CErrorStr178 = 178,
|
||||
// "illegal assignment to constant"
|
||||
CErrorStr179 = 179,
|
||||
// "illegal use of precompiled header"
|
||||
CErrorStr180 = 180,
|
||||
// "illegal data in precompiled header"
|
||||
CErrorStr181 = 181,
|
||||
// "variable / argument '%u' is not used in function"
|
||||
CErrorStr182 = 182,
|
||||
// "illegal use of direct parameters"
|
||||
CErrorStr183 = 183,
|
||||
// "return value expected"
|
||||
CErrorStr184 = 184,
|
||||
// "variable '%u' is not initialized before being used"
|
||||
CErrorStr185 = 185,
|
||||
// "illegal #pragma"
|
||||
CErrorStr186 = 186,
|
||||
// "illegal access to protected/private member"
|
||||
CErrorStr187 = 187,
|
||||
// "ambiguous access to class/struct/union member"
|
||||
CErrorStr188 = 188,
|
||||
// "illegal use of 'this'"
|
||||
CErrorStr189 = 189,
|
||||
// "unimplemented C++ feature"
|
||||
CErrorStr190 = 190,
|
||||
// "illegal use of 'HandleObject'"
|
||||
CErrorStr191 = 191,
|
||||
// "illegal access qualifier"
|
||||
CErrorStr192 = 192,
|
||||
// "illegal 'operator' declaration"
|
||||
CErrorStr193 = 193,
|
||||
// "illegal use of abstract class ('%o')"
|
||||
CErrorStr194 = 194,
|
||||
// "illegal use of pure function"
|
||||
CErrorStr195 = 195,
|
||||
// "illegal '&' reference"
|
||||
CErrorStr196 = 196,
|
||||
// "illegal function overloading"
|
||||
CErrorStr197 = 197,
|
||||
// "illegal operator overloading"
|
||||
CErrorStr198 = 198,
|
||||
// "ambiguous access to overloaded function "
|
||||
CErrorStr199 = 199,
|
||||
// "illegal access/using declaration"
|
||||
CErrorStr200 = 200,
|
||||
// "illegal 'friend' declaration"
|
||||
CErrorStr201 = 201,
|
||||
// "illegal 'inline' function definition"
|
||||
CErrorStr202 = 202,
|
||||
// "class has no default constructor"
|
||||
CErrorStr203 = 203,
|
||||
// "illegal operator"
|
||||
CErrorStr204 = 204,
|
||||
// "illegal default argument(s)"
|
||||
CErrorStr205 = 205,
|
||||
// "possible unwanted ';'"
|
||||
CErrorStr206 = 206,
|
||||
// "possible unwanted assignment"
|
||||
CErrorStr207 = 207,
|
||||
// "possible unwanted compare"
|
||||
CErrorStr208 = 208,
|
||||
// "illegal implicit conversion from '%t' to\n'%t'"
|
||||
CErrorStr209 = 209,
|
||||
// "local data >32k"
|
||||
CErrorStr210 = 210,
|
||||
// "illegal jump past initializer"
|
||||
CErrorStr211 = 211,
|
||||
// "illegal ctor initializer"
|
||||
CErrorStr212 = 212,
|
||||
// "cannot construct %t's base class '%t'"
|
||||
CErrorStr213 = 213,
|
||||
// "cannot construct %t's direct member '%u'"
|
||||
CErrorStr214 = 214,
|
||||
// "#if nesting overflow"
|
||||
CErrorStr215 = 215,
|
||||
// "illegal empty declaration"
|
||||
CErrorStr216 = 216,
|
||||
// "illegal implicit enum conversion from '%t' to\n'%t'"
|
||||
CErrorStr217 = 217,
|
||||
// "illegal use of #pragma parameter"
|
||||
CErrorStr218 = 218,
|
||||
// "virtual functions cannot be pascal functions"
|
||||
CErrorStr219 = 219,
|
||||
// "illegal implicit const/volatile pointer conversion from '%t' to\n'%t'"
|
||||
CErrorStr220 = 220,
|
||||
// "illegal use of non-static member"
|
||||
CErrorStr221 = 221,
|
||||
// "illegal precompiled header version"
|
||||
CErrorStr222 = 222,
|
||||
// "illegal precompiled header compiler flags or target"
|
||||
CErrorStr223 = 223,
|
||||
// "'const' or '&' variable needs initializer"
|
||||
CErrorStr224 = 224,
|
||||
// "'%o' hides inherited virtual function '%o'"
|
||||
CErrorStr225 = 225,
|
||||
// "pascal function cannot be overloaded"
|
||||
CErrorStr226 = 226,
|
||||
// "derived function differs from virtual base function in return type only"
|
||||
CErrorStr227 = 227,
|
||||
// "non-const '&' reference initialized to temporary"
|
||||
CErrorStr228 = 228,
|
||||
// "illegal template declaration"
|
||||
CErrorStr229 = 229,
|
||||
// "'<' expected"
|
||||
CErrorStr230 = 230,
|
||||
// "'>' expected"
|
||||
CErrorStr231 = 231,
|
||||
// "illegal template argument(s)"
|
||||
CErrorStr232 = 232,
|
||||
// "cannot instantiate '%o'"
|
||||
CErrorStr233 = 233,
|
||||
// "template redefined"
|
||||
CErrorStr234 = 234,
|
||||
// "template parameter mismatch"
|
||||
CErrorStr235 = 235,
|
||||
// "cannot pass const/volatile data object to non-const/volatile member function"
|
||||
CErrorStr236 = 236,
|
||||
// "preceding '#pragma push' is missing"
|
||||
CErrorStr237 = 237,
|
||||
// "illegal explicit template instantiation"
|
||||
CErrorStr238 = 238,
|
||||
// "illegal X::X(X) copy constructor"
|
||||
CErrorStr239 = 239,
|
||||
// "function defined 'inline' after being called"
|
||||
CErrorStr240 = 240,
|
||||
// "illegal constructor/destructor declaration"
|
||||
CErrorStr241 = 241,
|
||||
// "'catch' expected"
|
||||
CErrorStr242 = 242,
|
||||
// "#include nesting overflow"
|
||||
CErrorStr243 = 243,
|
||||
// "cannot convert\n'%t' to\n'%t'"
|
||||
CErrorStr244 = 244,
|
||||
// "type mismatch\n'%t' and\n'%t'"
|
||||
CErrorStr245 = 245,
|
||||
// "class type expected"
|
||||
CErrorStr246 = 246,
|
||||
// "illegal explicit conversion from '%t' to\n'%t'"
|
||||
CErrorStr247 = 247,
|
||||
// "function call '*' does not match"
|
||||
CErrorStr248 = 248,
|
||||
// "identifier '%u' redeclared\nwas declared as: '%t'\nnow declared as: '%t'"
|
||||
CErrorStr249 = 249,
|
||||
// "cannot throw class with ambiguous base class ('%u')"
|
||||
CErrorStr250 = 250,
|
||||
// "class '%t': '%o' has more than one final overrider:\n'%o'\nand '%o'"
|
||||
CErrorStr251 = 251,
|
||||
// "exception handling option is disabled"
|
||||
CErrorStr252 = 252,
|
||||
// "cannot delete pointer to const"
|
||||
CErrorStr253 = 253,
|
||||
// "cannot destroy const object"
|
||||
CErrorStr254 = 254,
|
||||
// "const member '%u' is not initialized"
|
||||
CErrorStr255 = 255,
|
||||
// "'&' reference member '%u' is not initialized"
|
||||
CErrorStr256 = 256,
|
||||
// "RTTI option is disabled"
|
||||
CErrorStr257 = 257,
|
||||
// "constness casted away"
|
||||
CErrorStr258 = 258,
|
||||
// "illegal const/volatile '&' reference initialization"
|
||||
CErrorStr259 = 259,
|
||||
// "inconsistent linkage: 'extern' object redeclared as 'static'"
|
||||
CErrorStr260 = 260,
|
||||
// "unknown assembler instruction mnemonic"
|
||||
CErrorStr261 = 261,
|
||||
// "local data > 224 bytes"
|
||||
CErrorStr262 = 262,
|
||||
// "'%u' could not be assigned to a register"
|
||||
CErrorStr263 = 263,
|
||||
// "illegal exception specification"
|
||||
CErrorStr264 = 264,
|
||||
// "exception specification list mismatch"
|
||||
CErrorStr265 = 265,
|
||||
// "the parameter(s) of the '%n' function must be immediate value(s)"
|
||||
CErrorStr266 = 266,
|
||||
// "SOM classes can only inherit from other SOM based classes"
|
||||
CErrorStr267 = 267,
|
||||
// "SOM classes inhertiance must be virtual"
|
||||
CErrorStr268 = 268,
|
||||
// "SOM class data members must be private"
|
||||
CErrorStr269 = 269,
|
||||
// "illegal SOM function overload '%o'"
|
||||
CErrorStr270 = 270,
|
||||
// "no static members allowed in SOM classes"
|
||||
CErrorStr271 = 271,
|
||||
// "no parameters allowed in SOM class constructors"
|
||||
CErrorStr272 = 272,
|
||||
// "illegal SOM function parameters or return type"
|
||||
CErrorStr273 = 273,
|
||||
// "SOM runtime function '%u' not defined (should be defined in somobj.hh)"
|
||||
CErrorStr274 = 274,
|
||||
// "SOM runtime function '%u' has unexpected type"
|
||||
CErrorStr275 = 275,
|
||||
// "'%u' is not a SOM class"
|
||||
CErrorStr276 = 276,
|
||||
// "illegal use of #pragma outside of SOM class definition"
|
||||
CErrorStr277 = 277,
|
||||
// "introduced method '%o' is not specified in release order list"
|
||||
CErrorStr278 = 278,
|
||||
// "SOM class access qualification only allowed to direct parent or own class"
|
||||
CErrorStr279 = 279,
|
||||
// "SOM class must have one non-inline member function"
|
||||
CErrorStr280 = 280,
|
||||
// "SOM type '%u' undefined"
|
||||
CErrorStr281 = 281,
|
||||
// "new SOM callstyle method '%o' must have explicit 'Environment *' parameter"
|
||||
CErrorStr282 = 282,
|
||||
// "functions cannot return SOM classes"
|
||||
CErrorStr283 = 283,
|
||||
// "functions cannot have SOM class arguments"
|
||||
CErrorStr284 = 284,
|
||||
// "assignment is not supported for SOM classes"
|
||||
CErrorStr285 = 285,
|
||||
// "sizeof() is not supported for SOM classes"
|
||||
CErrorStr286 = 286,
|
||||
// "SOM classes cannot be class members"
|
||||
CErrorStr287 = 287,
|
||||
// "global SOM class objects are not supported"
|
||||
CErrorStr288 = 288,
|
||||
// "SOM class arrays are not supported"
|
||||
CErrorStr289 = 289,
|
||||
// "'pointer to member' is not supported for SOM classes"
|
||||
CErrorStr290 = 290,
|
||||
// "SOM class has no release order list"
|
||||
CErrorStr291 = 291,
|
||||
// "'%u' is not an Objective-C class"
|
||||
CErrorStr292 = 292,
|
||||
// "method '%m' redeclared"
|
||||
CErrorStr293 = 293,
|
||||
// "undefined method '%m'"
|
||||
CErrorStr294 = 294,
|
||||
// "class '%u' redeclared"
|
||||
CErrorStr295 = 295,
|
||||
// "class '%u' redefined"
|
||||
CErrorStr296 = 296,
|
||||
// "Objective-C type '%u' is undefined (should be defined in objc.h)"
|
||||
CErrorStr297 = 297,
|
||||
// "Objective-C type '%u' has unexpected type"
|
||||
CErrorStr298 = 298,
|
||||
// "method '%m' not defined"
|
||||
CErrorStr299 = 299,
|
||||
// "method '%m' redefined"
|
||||
CErrorStr300 = 300,
|
||||
// "illegal use of 'self'"
|
||||
CErrorStr301 = 301,
|
||||
// "illegal use of 'super'"
|
||||
CErrorStr302 = 302,
|
||||
// "illegal message receiver"
|
||||
CErrorStr303 = 303,
|
||||
// "receiver cannot handle this message"
|
||||
CErrorStr304 = 304,
|
||||
// "ambiguous message selector\nused: '%m'\nalso had: '%m'"
|
||||
CErrorStr305 = 305,
|
||||
// "unknown message selector"
|
||||
CErrorStr306 = 306,
|
||||
// "illegal use of Objective-C object"
|
||||
CErrorStr307 = 307,
|
||||
// "protocol '%u' redefined"
|
||||
CErrorStr308 = 308,
|
||||
// "protocol '%u' is undefined"
|
||||
CErrorStr309 = 309,
|
||||
// "protocol '%u' is already in protocol list"
|
||||
CErrorStr310 = 310,
|
||||
// "category '%u' redefined"
|
||||
CErrorStr311 = 311,
|
||||
// "category '%u' is undefined"
|
||||
CErrorStr312 = 312,
|
||||
// "illegal use of '%u'"
|
||||
CErrorStr313 = 313,
|
||||
// "template too complex or recursive"
|
||||
CErrorStr314 = 314,
|
||||
// "illegal return value in void/constructor/destructor function"
|
||||
CErrorStr315 = 315,
|
||||
// "assigning a non-int numeric value to an unprototyped function"
|
||||
CErrorStr316 = 316,
|
||||
// "implicit arithmetic conversion from '%t' to '%t'"
|
||||
CErrorStr317 = 317,
|
||||
// "preprocessor #error directive"
|
||||
CErrorStr318 = 318,
|
||||
// "ambiguous access to name found '%u' and '%u'"
|
||||
CErrorStr319 = 319,
|
||||
// "illegal namespace"
|
||||
CErrorStr320 = 320,
|
||||
// "illegal use of namespace name"
|
||||
CErrorStr321 = 321,
|
||||
// "illegal name overloading"
|
||||
CErrorStr322 = 322,
|
||||
// "instance variable list does not match @interface"
|
||||
CErrorStr323 = 323,
|
||||
// "protocol list does not match @interface"
|
||||
CErrorStr324 = 324,
|
||||
// "super class does not match @interface"
|
||||
CErrorStr325 = 325,
|
||||
// "function result is a pointer/reference to an automatic variable"
|
||||
CErrorStr326 = 326,
|
||||
// "cannot allocate initialized objects in the scratchpad"
|
||||
CErrorStr327 = 327,
|
||||
// "illegal class member access"
|
||||
CErrorStr328 = 328,
|
||||
// "data object '%o' redefined"
|
||||
CErrorStr329 = 329,
|
||||
// "illegal access to local variable from other function"
|
||||
CErrorStr330 = 330,
|
||||
// "illegal implicit member pointer conversion"
|
||||
CErrorStr331 = 331,
|
||||
// "typename redefined"
|
||||
CErrorStr332 = 332,
|
||||
// "object '%o' redefined"
|
||||
CErrorStr333 = 333,
|
||||
// "'main' not defined as external 'int main()' function"
|
||||
CErrorStr334 = 334,
|
||||
// "illegal explicit template specialization"
|
||||
CErrorStr335 = 335,
|
||||
// "name has not been declared in namespace/class"
|
||||
CErrorStr336 = 336,
|
||||
// "preprocessor #warning directive"
|
||||
CErrorStr337 = 337,
|
||||
// "illegal use of asm inline function"
|
||||
CErrorStr338 = 338,
|
||||
// "illegal use of C++ feature in EC++"
|
||||
CErrorStr339 = 339,
|
||||
// "illegal use template argument dependent type 'T::%u'"
|
||||
CErrorStr340 = 340,
|
||||
// "illegal use of alloca() in function argument"
|
||||
CErrorStr341 = 341,
|
||||
// "inline function call '%o' not inlined"
|
||||
CErrorStr342 = 342,
|
||||
// "inconsistent use of 'class' and 'struct' keywords"
|
||||
CErrorStr343 = 343,
|
||||
// "illegal partial specialization"
|
||||
CErrorStr344 = 344,
|
||||
// "illegal partial specialization argument list"
|
||||
CErrorStr345 = 345,
|
||||
// "ambiguous use of partial specialization"
|
||||
CErrorStr346 = 346,
|
||||
// "local classes shall not have member templates"
|
||||
CErrorStr347 = 347,
|
||||
// "illegal template argument dependent expression"
|
||||
CErrorStr348 = 348,
|
||||
// "implicit 'int' is no longer supported in C++"
|
||||
CErrorStr349 = 349,
|
||||
// "%i pad byte(s) inserted after data member '%u'"
|
||||
CErrorStr350 = 350,
|
||||
// "pure function '%o' is not virtual"
|
||||
CErrorStr351 = 351,
|
||||
// "illegal virtual function '%o' in 'union'"
|
||||
CErrorStr352 = 352,
|
||||
// "cannot pass 'void' or 'function' parameter"
|
||||
CErrorStr353 = 353,
|
||||
// "illegal static const member '%u' initialization"
|
||||
CErrorStr354 = 354,
|
||||
// "'typename' is missing in template argument dependent qualified type"
|
||||
CErrorStr355 = 355,
|
||||
// "more than one expression in non-class type conversion"
|
||||
CErrorStr356 = 356,
|
||||
// "template non-type argument objects shall have external linkage"
|
||||
CErrorStr357 = 357,
|
||||
// "illegal inline assembly operand: %u"
|
||||
CErrorStr358 = 358,
|
||||
// "illegal or unsupported __attribute__"
|
||||
CErrorStr359 = 359,
|
||||
// "cannot create object file '%f'"
|
||||
CErrorStr360 = 360,
|
||||
// "error writing to object file '%f'"
|
||||
CErrorStr361 = 361,
|
||||
// "printf-family format string doesn't match arguments"
|
||||
CErrorStr362 = 362,
|
||||
// "scanf-family format string doesn't match arguments"
|
||||
CErrorStr363 = 363,
|
||||
// "__alignof__() is not supported for SOM classes"
|
||||
CErrorStr364 = 364,
|
||||
// "illegal macro argument name '%u'"
|
||||
CErrorStr365 = 365,
|
||||
// "case has an empty range of values"
|
||||
CErrorStr366 = 366,
|
||||
// "'long long' switch() is not supported"
|
||||
CErrorStr367 = 367,
|
||||
// "'long long' case range is not supported"
|
||||
CErrorStr368 = 368,
|
||||
// "expression has no side effect"
|
||||
CErrorStr369 = 369,
|
||||
// "result of function call is not used"
|
||||
CErrorStr370 = 370,
|
||||
// "illegal non-type template argument"
|
||||
CErrorStr371 = 371,
|
||||
// "illegal use of abstract class ('%t')"
|
||||
CErrorStr372 = 372,
|
||||
// "illegal use of 'template' prefix"
|
||||
CErrorStr373 = 373,
|
||||
// "template parameter/argument list mismatch"
|
||||
CErrorStr374 = 374,
|
||||
// "cannot find matching deallocation function for '%t'"
|
||||
CErrorStr375 = 375,
|
||||
// "illegal operand '%t'"
|
||||
CErrorStr376 = 376,
|
||||
// "illegal operands '%t' %u '%t'"
|
||||
CErrorStr377 = 377,
|
||||
// "illegal use of default template-argument"
|
||||
CErrorStr378 = 378,
|
||||
// "illegal UUID syntax"
|
||||
CErrorStr379 = 379,
|
||||
// "__uuidof() is not supported for SOM classes"
|
||||
CErrorStr380 = 380,
|
||||
// "illegal access from '%t' to protected/private member '%o'"
|
||||
CErrorStr381 = 381,
|
||||
// "integral type is not large enough to hold pointer"
|
||||
CErrorStr382 = 382,
|
||||
// "unknown x86 assembler instruction mnemonic"
|
||||
CErrorStr383 = 383,
|
||||
// "illegal use of const/volatile function qualifier sequence"
|
||||
CErrorStr384 = 384,
|
||||
// "illegal optimization level for this limited version of CodeWarrior"
|
||||
CErrorStr385 = 385,
|
||||
// "no UUID defined for type '%t'"
|
||||
CErrorStr386 = 386,
|
||||
// "using implicit copy assigment for class with const or reference member ('%t')"
|
||||
CErrorStr387 = 387,
|
||||
// "unimplemented assembler instruction/directive"
|
||||
CErrorStr388 = 388,
|
||||
// "override of dllimport function '%u' only has application scope"
|
||||
CErrorStr389 = 389,
|
||||
// "illegal combination of operands in inline statement at line %i"
|
||||
CErrorStr390 = 390,
|
||||
// "illegal operand in inline statement at line %i"
|
||||
CErrorStr391 = 391,
|
||||
// "function call '*' is ambiguous"
|
||||
CErrorStr392 = 392,
|
||||
CErrorStrMAX = 393
|
||||
};
|
||||
@@ -316,12 +609,12 @@ extern char cerror_synchdata[32];
|
||||
extern short cerror_synchoffset;
|
||||
extern int CError_BreakPointcount;
|
||||
|
||||
extern void CError_Init();
|
||||
extern void CError_Init(void);
|
||||
extern void CError_SetErrorToken(TStreamElement *token);
|
||||
extern void CError_SetNullErrorToken();
|
||||
extern void CError_SetNullErrorToken(void);
|
||||
extern void CError_LockErrorPos(TStreamElement *token, TStreamElement **saved);
|
||||
extern void CError_UnlockErrorPos(TStreamElement **saved);
|
||||
extern void CError_ResetErrorSkip();
|
||||
extern void CError_ResetErrorSkip(void);
|
||||
extern void CError_GetErrorString(char *buf, short code);
|
||||
extern void CError_BufferInit(CErrorBuffer *eb, char *buf, SInt32 bufSize);
|
||||
extern void CError_BufferGrow(CErrorBuffer *eb, SInt32 amount);
|
||||
@@ -360,10 +653,10 @@ extern void CError_AbstractClassError(TypeClass *tclass);
|
||||
extern void CError_Warning(int code, ...);
|
||||
extern void CError_BreakPoint(const char *a, const char *b);
|
||||
extern void CError_Internal(char *filename, int line);
|
||||
extern void CError_ExpressionTooComplex();
|
||||
extern void CError_NoMem();
|
||||
extern void CError_UserBreak();
|
||||
extern void CError_CannotOpen();
|
||||
extern void CError_ExpressionTooComplex(void);
|
||||
extern void CError_NoMem(void);
|
||||
extern void CError_UserBreak(void);
|
||||
extern void CError_CannotOpen(void);
|
||||
extern void CError_QualifierCheck(UInt32 qual);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct CI_Action {
|
||||
union {
|
||||
struct {
|
||||
FileOffsetInfo fileoffset;
|
||||
TStream stream;
|
||||
TokenStream stream;
|
||||
TypeClass *tclass;
|
||||
} inlinefunc;
|
||||
struct {
|
||||
@@ -151,7 +151,7 @@ extern SInt16 CInline_GetStatementNumber(Statement *first, Statement *stmt);
|
||||
extern void CInline_PackIFunctionData(CI_FuncData *packed, Statement *stmt, Object *object);
|
||||
extern void CInline_UnpackIFunctionData(Object *object, CI_FuncData *packed, Statement *firstStmt);
|
||||
extern void CInline_AddDefaultFunctionAction(Object *object);
|
||||
extern void CInline_AddInlineFunctionAction(Object *object, TypeClass *tclass, FileOffsetInfo *fileoffset, TStream *stream, Boolean flag);
|
||||
extern void CInline_AddInlineFunctionAction(Object *object, TypeClass *tclass, FileOffsetInfo *fileoffset, TokenStream *stream, Boolean flag);
|
||||
extern void CInline_AddMemberFunctionAction(Object *object, TemplClass *templ, TemplClassInst *inst, TemplateMember *tmemb);
|
||||
extern void CInline_AddTemplateFunctionAction(Object *object, TemplateFunction *func, TemplFuncInstance *inst);
|
||||
extern void CInline_ObjectAddrRef(Object *object);
|
||||
|
||||
@@ -40,7 +40,7 @@ inline void CInt64_Extend32(CInt64 *n) { // assumed name
|
||||
n->hi = (n->lo >> 31) ? 0xFFFFFFFF : 0;
|
||||
}
|
||||
|
||||
extern void CInt64_Init();
|
||||
extern void CInt64_Init(void);
|
||||
extern CInt64 CInt64_Not(CInt64 input);
|
||||
extern CInt64 CInt64_Inv(CInt64 input);
|
||||
extern CInt64 CInt64_Add(CInt64 lhs, CInt64 rhs);
|
||||
|
||||
@@ -60,7 +60,7 @@ extern Boolean CMach_FloatIsNegOne(Float fval);
|
||||
extern void CMach_InitFloatMem(Type *type, Float val, void *mem);
|
||||
extern void CMach_PrintFloat(char *buf, Float val);
|
||||
extern void CMach_PragmaParams(void);
|
||||
extern void CMach_AdjustFuntionArgs(void);
|
||||
extern void CMach_AdjustFuntionArgs(/* unknown args */);
|
||||
extern SInt16 CMach_GetStructAlign(TypeStruct *tstruct);
|
||||
extern SInt16 CMach_GetClassAlign(TypeClass *tclass);
|
||||
extern SInt16 CMach_GetTypeAlign(Type *type);
|
||||
|
||||
@@ -30,7 +30,7 @@ extern void CObjC_ParseInterface(void);
|
||||
extern void CObjC_ParseImplementation(void);
|
||||
extern void CObjC_ParseProtocol(void);
|
||||
extern void CObjC_ParseClassDeclaration(void);
|
||||
extern void *CObjC_ParseIdentifier();
|
||||
extern void *CObjC_ParseIdentifier(/* unknown args */);
|
||||
extern ENode *CObjC_MakeSendMsgExpr(ENode *objexpr, TypeClass *tclass, ObjCNamedArg *namedArgs, ENodeList *unnamedArgs, UInt8 calltype, Boolean isSuper);
|
||||
extern ENode *CObjC_ParseMessageExpression(void);
|
||||
extern ENode *CObjC_ParseEncodeExpression(void);
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
|
||||
#include "compiler/common.h"
|
||||
|
||||
extern void SetupPrecompiler(void);
|
||||
extern char *precomp_target_str;
|
||||
|
||||
extern void SetupPrecompiler(Boolean isPrecompiling);
|
||||
extern void CleanupPrecompiler(void);
|
||||
extern void PreComp_StaticData(Object *obj, const void *data, OLinkList *links, SInt32 size);
|
||||
extern void PrecompilerWrite(void);
|
||||
|
||||
@@ -15,7 +15,7 @@ struct Macro {
|
||||
unsigned short xC;
|
||||
Boolean is_special;
|
||||
Boolean xF;
|
||||
HashNameNode *names[1];
|
||||
HashNameNode *names[0];
|
||||
};
|
||||
typedef struct TokenStack {
|
||||
char *pos;
|
||||
@@ -25,7 +25,7 @@ typedef struct TokenStack {
|
||||
} TokenStack;
|
||||
|
||||
//#define OPT_OFFSET(optname) ((short) (((char *) (&copts.optname)) - ((char *) &copts)))
|
||||
#define OPT_OFFSET(optname) ((short) ( &((COpts *)0)->optname ))
|
||||
#define OPT_OFFSET(optname) ((UInt16) ( &((COpts *)0)->optname ))
|
||||
enum {
|
||||
OPT_OFFSET_MASK = 0x1FFF,
|
||||
OPT_FLAG_2000 = 0x2000,
|
||||
@@ -89,11 +89,11 @@ extern void CPrep_UnLex(void);
|
||||
// this is actually an arg of `const PrepState *`
|
||||
extern void CPrep_TokenStreamSetCurState(SInt32 *state);
|
||||
typedef void (*CPrepStreamFuncPtr)(TStreamElement *);
|
||||
extern void CPrep_StreamGetBlock(TStream *stream, CPrepStreamFuncPtr func, int arg);
|
||||
extern void CPrep_StreamGetSemicolon(TStream *stream, CPrepStreamFuncPtr func);
|
||||
extern void CPrep_StreamGetTemplate(TStream *stream, CPrepStreamFuncPtr func);
|
||||
extern void CPrep_StreamInsert(TStream *stream, SInt32 *state);
|
||||
extern void CPrep_StreamRemove(TStream *stream, SInt32 *state);
|
||||
extern void CPrep_StreamGetBlock(TokenStream *stream, CPrepStreamFuncPtr func, int arg);
|
||||
extern void CPrep_StreamGetSemicolon(TokenStream *stream, CPrepStreamFuncPtr func);
|
||||
extern void CPrep_StreamGetTemplate(TokenStream *stream, CPrepStreamFuncPtr func);
|
||||
extern void CPrep_StreamInsert(TokenStream *stream, SInt32 *state);
|
||||
extern void CPrep_StreamRemove(TokenStream *stream, SInt32 *state);
|
||||
extern void CPrep_RemoveTokens(SInt32 amount);
|
||||
extern void CPrep_TokenStreamFlush(void);
|
||||
extern TStreamElement *CPrep_CurStreamElement(void);
|
||||
|
||||
@@ -97,7 +97,7 @@ extern NameSpaceObjectList *CScope_GetLocalObject(NameSpace *nspace, HashNameNod
|
||||
extern BClassList *CScope_GetClassAccessPath(BClassList *list, TypeClass *tclass);
|
||||
extern Boolean CScope_ParseMemberName(TypeClass *tclass, CScopeParseResult *result, Boolean flag);
|
||||
extern void CScope_AddClassUsingDeclaration(TypeClass *tclass, TypeClass *tclass2, HashNameNode *name, AccessType access);
|
||||
extern void CScope_ParseUsingDeclaration(NameSpace *nspace, short access, Boolean flag);
|
||||
extern void CScope_ParseUsingDeclaration(NameSpace *nspace, AccessType access, Boolean flag);
|
||||
extern void CScope_ParseNameSpaceAlias(HashNameNode *name);
|
||||
extern void CScope_ParseUsingDirective(NameSpace *nspace);
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ extern void CTemplClass_RegisterObjectInit(TemplClass *tmclass, Object *object,
|
||||
extern void CTemplClass_RegisterObjectDef(TemplClass *tmclass, ObjBase *refobj);
|
||||
extern void CTemplClass_CompleteClass(TemplClass *templ, DeclE *de);
|
||||
extern TemplClassInst *CTemplClass_GetInstance(TemplClass *tmclass, TemplArg *args1, TemplArg *args2);
|
||||
extern TemplateMember *CTemplClass_DefineMember(TemplClass *tmclass, Object *object, FileOffsetInfo *foi, TStream *stream);
|
||||
extern TemplateMember *CTemplClass_DefineMember(TemplClass *tmclass, Object *object, FileOffsetInfo *foi, TokenStream *stream);
|
||||
extern void CTemplClass_ParsePartialSpecialization(DeclFucker *what_is_this, TemplParam *params, short mode, SInt32 *offset);
|
||||
extern void CTemplClass_ParseClass(DeclFucker *what_is_this, TemplParam *params, short mode, SInt32 *offset);
|
||||
extern Boolean CTemplClass_FindPartialTemplate(TemplArg *args, TemplClass **resultTempl, TemplArg **resultArgs);
|
||||
|
||||
@@ -49,7 +49,7 @@ struct GList {
|
||||
|
||||
extern long hash_name_id;
|
||||
extern HashNameNode **name_hash_nodes;
|
||||
extern void (*GListErrorProc)();
|
||||
extern void (*GListErrorProc)(void);
|
||||
|
||||
extern short InitGList(GList *gl, SInt32 size);
|
||||
extern void FreeGList(GList *gl);
|
||||
@@ -79,34 +79,34 @@ extern HashNameNode *GetHashNameNodeHash2(const char *name, SInt16 hashval);
|
||||
extern HashNameNode *GetHashNameNodeExport(const char *name);
|
||||
extern SInt32 GetHashNameNodeExportID(HashNameNode *node);
|
||||
extern HashNameNode *GetHashNameNodeByID(SInt32 id);
|
||||
extern void NameHashExportReset();
|
||||
extern void NameHashExportReset(void);
|
||||
extern void NameHashWriteNameTable(GList *glist);
|
||||
extern void NameHashWriteTargetEndianNameTable(GList *glist);
|
||||
extern void InitNameHash();
|
||||
extern void InitNameHash(void);
|
||||
|
||||
typedef void (*heaperror_t)();
|
||||
typedef void (*heaperror_t)(void);
|
||||
|
||||
extern SInt32 CTool_TotalHeapSize();
|
||||
extern SInt32 CTool_TotalHeapSize(void);
|
||||
extern void CTool_GetHeapInfo(HeapInfo *result, unsigned char heapID);
|
||||
extern short initheaps(heaperror_t heaperrorproc);
|
||||
extern short initgheap(heaperror_t heaperrorproc);
|
||||
extern heaperror_t getheaperror();
|
||||
extern heaperror_t getheaperror(void);
|
||||
extern void setheaperror(heaperror_t heaperrorproc);
|
||||
extern void releaseheaps();
|
||||
extern void releasegheap();
|
||||
extern void releaseoheap();
|
||||
extern void releaseheaps(void);
|
||||
extern void releasegheap(void);
|
||||
extern void releaseoheap(void);
|
||||
extern void *galloc(SInt32 s);
|
||||
extern void *lalloc(SInt32 s);
|
||||
extern void *aalloc(SInt32 s);
|
||||
extern void *oalloc(SInt32 s);
|
||||
extern void *balloc(SInt32 s);
|
||||
|
||||
extern void locklheap();
|
||||
extern void unlocklheap();
|
||||
extern void freelheap();
|
||||
extern void freeaheap();
|
||||
extern void freeoheap();
|
||||
extern void freebheap();
|
||||
extern void locklheap(void);
|
||||
extern void unlocklheap(void);
|
||||
extern void freelheap(void);
|
||||
extern void freeaheap(void);
|
||||
extern void freeoheap(void);
|
||||
extern void freebheap(void);
|
||||
|
||||
extern char *ScanHex(char *string, UInt32 *result, Boolean *overflow);
|
||||
extern char *ScanOct(char *string, UInt32 *result, Boolean *overflow);
|
||||
|
||||
@@ -47,7 +47,7 @@ extern void ObjGen_SrcBreakName(HashNameNode *name, SInt32 fileModDate, Boolean
|
||||
extern GList *ObjGen_GetSectionGList(MachOSection *section);
|
||||
extern MachOSection *ObjGen_DeclareFunction(Object *object);
|
||||
extern MachOSection *ObjGen_DeclareCode(Object *object);
|
||||
extern MachOSection *ObjGen_DeclareMachSection();
|
||||
extern MachOSection *ObjGen_DeclareMachSection(/* unknown args */);
|
||||
extern void ObjGen_Relocate(MachOSection *section, SInt32 offset, SInt32 relocID, RelocType relocType, MWReloc mwRelType);
|
||||
extern void ObjGen_RelocateObj(MachOSection *section, SInt32 offset, Object *object, MWReloc mwRelType);
|
||||
extern SInt32 ObjGen_DeclareLiteralString(UInt32 len, char *data, SInt32 align);
|
||||
@@ -68,7 +68,7 @@ extern void ObjGen_DeclareSymInfo(void);
|
||||
extern void ObjGen_Line(UInt32 line, UInt32 offset);
|
||||
extern void ObjGen_OutputDebugInfo(Object *funcobj);
|
||||
extern SInt32 ObjGen_OutputStab(SymbolData *symbol, SInt32 strIdx);
|
||||
extern void ObjGen_SetSectName();
|
||||
extern void ObjGen_SetSectName(/* unknown args */);
|
||||
extern void ObjGen_DeclareInitFunction(Object *funcobj);
|
||||
extern Boolean ObjGen_IsExported(Object *object);
|
||||
|
||||
|
||||
@@ -61,15 +61,15 @@ extern void combine(Operand *opA, Operand *opB, short output_reg, Operand *opOut
|
||||
extern void coerce_to_addressable(Operand *op);
|
||||
extern void Coerce_to_register(Operand *op, Type *type, short output_reg);
|
||||
extern void coerce_to_register_pair(Operand *op, Type *type, short output_reg, short output_regHi);
|
||||
extern void Coerce_to_fp_register(Operand *op, Type *tint, short output_reg);
|
||||
extern void Coerce_to_v_register(Operand *op, Type *tstruct, short output_reg);
|
||||
extern void Coerce_to_fp_register(Operand *op, Type *type, short output_reg);
|
||||
extern void Coerce_to_v_register(Operand *op, Type *type, short output_reg);
|
||||
extern void store(short reg, Operand *op, Type *type);
|
||||
extern void store_pair(short reg, short regHi, Operand *op, Type *type);
|
||||
extern void store_fp(short reg, Operand *op, Type *tint);
|
||||
extern void store_v(short reg, Operand *op, Type *tstruct);
|
||||
extern void extend32(Operand *op, Type *type, short output_reg);
|
||||
extern void extend64(Operand *op, Type *type, short output_reg, short output_regHi);
|
||||
extern void load_floating_constant(short reg, Type *type, double *data);
|
||||
extern void load_floating_constant(short reg, Type *type, Float *data);
|
||||
extern void convert_integer_to_floating(Operand *op, Boolean is_single, short output_reg);
|
||||
extern void convert_unsigned_to_floating(Operand *op, Boolean is_single, short output_reg);
|
||||
extern void convert_floating_to_integer(Operand *op, short output_reg);
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
#pragma options align=mac68k
|
||||
#endif
|
||||
|
||||
#define FLAG_SET_T(flags) (((flags) & (fPCodeFlag1 | fPCodeFlag8)) ? (flags) : 0)
|
||||
#define FLAG_SET_F(flags) (((flags) & (fPCodeFlag1 | fPCodeFlag8)) ? 0 : (flags))
|
||||
#define FLAG_SET_T(flags) (((flags) & (fIsBranch | fIsCall)) ? (flags) : 0)
|
||||
#define FLAG_SET_F(flags) (((flags) & (fIsBranch | fIsCall)) ? 0 : (flags))
|
||||
|
||||
#define PCODE_FLAG_SET_T(pcode) (((pcode)->flags & (fPCodeFlag1 | fPCodeFlag8)) ? (pcode)->flags : 0)
|
||||
#define PCODE_FLAG_SET_F(pcode) (((pcode)->flags & (fPCodeFlag1 | fPCodeFlag8)) ? 0 : (pcode)->flags)
|
||||
#define PCODE_FLAG_SET_T(pcode) (((pcode)->flags & (fIsBranch | fIsCall)) ? (pcode)->flags : 0)
|
||||
#define PCODE_FLAG_SET_F(pcode) (((pcode)->flags & (fIsBranch | fIsCall)) ? 0 : (pcode)->flags)
|
||||
|
||||
enum {
|
||||
EffectRead = 1,
|
||||
@@ -22,16 +22,6 @@ enum {
|
||||
Effect40 = 0x40 // spilled register?
|
||||
};
|
||||
|
||||
/*typedef enum {
|
||||
PCOp_REGISTER,
|
||||
PCOp_SYSREG,
|
||||
PCOp_IMMEDIATE,
|
||||
PCOp_MEMORY,
|
||||
PCOp_LABEL,
|
||||
PCOp_LABELDIFF,
|
||||
PCOp_PLACEHOLDEROPERAND
|
||||
} PCOpKind;*/
|
||||
|
||||
typedef enum {
|
||||
RefType_0,
|
||||
RefType_1, // like D, but 32-bit?
|
||||
@@ -158,12 +148,11 @@ struct PCodeBlock {
|
||||
|
||||
/* PCode Flags */
|
||||
enum {
|
||||
fPCodeFlag1 = 1, // some kinds of branches
|
||||
fPCodeFlag2 = 2, // read from memory
|
||||
fPCodeFlag4 = 4, // write to memory
|
||||
fPCodeFlag8 = 8, // other kinds of branches
|
||||
fPCodeFlag10 = 0x10, // moves
|
||||
fPCodeFlag20 = 0x20, // indexed operations
|
||||
fIsBranch = 1,
|
||||
fIsRead = 2, // read from memory
|
||||
fIsWrite = 4, // write to memory
|
||||
fIsCall = 8,
|
||||
fIsMove = 0x10, // moves register (mcrf, mr, fmr, vmr, vmrp)
|
||||
// Always valid
|
||||
fIsConst = 0x40,
|
||||
fIsVolatile = 0x80,
|
||||
@@ -174,36 +163,39 @@ enum {
|
||||
fPCodeFlag1000 = 0x1000, // ?
|
||||
fCommutative = 0x2000,
|
||||
fIsCSE = 0x4000,
|
||||
fPCodeFlag8000 = 0x8000,
|
||||
fIsArgInit = 0x8000, // instruction that stores varargs from GPRs to the stack
|
||||
fPCodeFlag20000 = 0x20000, // some kinda load?
|
||||
fPCodeFlag40000 = 0x40000, // some kinda store?
|
||||
// Set 1 (branches) only
|
||||
fLink = 0x1000000,
|
||||
fCanLink = 0x2000000, // is capable of being a link branch
|
||||
fBranchNotTaken = 0x4000000,
|
||||
fBranchTaken = 0x8000000,
|
||||
fAbsolute = 0x10000000,
|
||||
fCanBeAbsolute = 0x20000000, // is capable of having fAbsolute set
|
||||
// Set 2 (non-branches) only
|
||||
fIsPtrOp = 0x20,
|
||||
fPCodeFlag200000 = 0x200000,
|
||||
fPCodeFlag400000 = 0x400000,
|
||||
fOverflow = 0x800000,
|
||||
fUpdatesPtr = 0x2000000, // lbzu, lbzux, lwzu, stbu, stbux, etc
|
||||
fCanSetCarry = 0x4000000, // is capable of having fSetsCarry set
|
||||
fCanSetRecordBit = 0x8000000, // is capable of having fRecordBit set
|
||||
fSetsCarry = 0x10000000,
|
||||
fPCodeFlag20000000 = 0x20000000, // record bit?
|
||||
// ??
|
||||
fPCodeFlag2000000 = 0x2000000,
|
||||
fPCodeFlag4000000 = 0x4000000,
|
||||
fPCodeFlag8000000 = 0x8000000,
|
||||
fPCodeFlag10000000 = 0x10000000,
|
||||
fPCodeFlag40000000 = 0x40000000,
|
||||
fPCodeFlag80000000 = 0x80000000,
|
||||
fPCodeFlagC0000000 = 0xC0000000
|
||||
fRecordBit = 0x20000000,
|
||||
fOpTypeFPR = 0x40000000,
|
||||
fOpTypeGPR = 0x80000000,
|
||||
fOpTypeVR = 0xC0000000,
|
||||
fOpTypeMask = 0xC0000000
|
||||
};
|
||||
|
||||
enum {
|
||||
fPCBlockFlag1 = 1, // fIsProlog
|
||||
fPCBlockFlag2 = 2, // fIsEpilogue
|
||||
fPCBlockFlag4 = 4, // fVisited
|
||||
fPCBlockFlag8 = 8, // fScheduled
|
||||
fIsProlog = 1, // fIsProlog
|
||||
fIsEpilogue = 2, // fIsEpilogue
|
||||
fVisited = 4, // fVisited
|
||||
fScheduled = 8, // fScheduled
|
||||
fPCBlockFlag10 = 0x10, // maybe fIsSwitch based off v3?
|
||||
fPCBlockFlag20 = 0x20, // fDeleted
|
||||
fDeleted = 0x20,
|
||||
fPCBlockFlag2000 = 0x2000,
|
||||
fPCBlockFlag4000 = 0x4000,
|
||||
fPCBlockFlag6000 = 0x6000,
|
||||
|
||||
@@ -463,870 +463,9 @@ typedef enum Opcode {
|
||||
PC_RRIB = 0x1AB,
|
||||
OPCODE_MAX = 0x1AC
|
||||
} Opcode;
|
||||
//#define PC_B 0x0
|
||||
//#define PC_BL 0x1
|
||||
//#define PC_BC 0x2
|
||||
//#define PC_BCLR 0x3
|
||||
//#define PC_BCCTR 0x4
|
||||
//#define PC_BT 0x5
|
||||
//#define PC_BTLR 0x6
|
||||
//#define PC_BTCTR 0x7
|
||||
//#define PC_BF 0x8
|
||||
//#define PC_BFLR 0x9
|
||||
//#define PC_BFCTR 0xA
|
||||
//#define PC_BDNZ 0xB
|
||||
//#define PC_BDNZT 0xC
|
||||
//#define PC_BDNZF 0xD
|
||||
//#define PC_BDZ 0xE
|
||||
//#define PC_BDZT 0xF
|
||||
//#define PC_BDZF 0x10
|
||||
//#define PC_BLR 0x11
|
||||
//#define PC_BCTR 0x12
|
||||
//#define PC_BCTRL 0x13
|
||||
//#define PC_BLRL 0x14
|
||||
//#define PC_LBZ 0x15
|
||||
//#define PC_LBZU 0x16
|
||||
//#define PC_LBZX 0x17
|
||||
//#define PC_LBZUX 0x18
|
||||
//#define PC_LHZ 0x19
|
||||
//#define PC_LHZU 0x1A
|
||||
//#define PC_LHZX 0x1B
|
||||
//#define PC_LHZUX 0x1C
|
||||
//#define PC_LHA 0x1D
|
||||
//#define PC_LHAU 0x1E
|
||||
//#define PC_LHAX 0x1F
|
||||
//#define PC_LHAUX 0x20
|
||||
//#define PC_LHBRX 0x21
|
||||
//#define PC_LWZ 0x22
|
||||
//#define PC_LWZU 0x23
|
||||
//#define PC_LWZX 0x24
|
||||
//#define PC_LWZUX 0x25
|
||||
//#define PC_LWBRX 0x26
|
||||
//#define PC_LMW 0x27
|
||||
//#define PC_STB 0x28
|
||||
//#define PC_STBU 0x29
|
||||
//#define PC_STBX 0x2A
|
||||
//#define PC_STBUX 0x2B
|
||||
//#define PC_STH 0x2C
|
||||
//#define PC_STHU 0x2D
|
||||
//#define PC_STHX 0x2E
|
||||
//#define PC_STHUX 0x2F
|
||||
//#define PC_STHBRX 0x30
|
||||
//#define PC_STW 0x31
|
||||
//#define PC_STWU 0x32
|
||||
//#define PC_STWX 0x33
|
||||
//#define PC_STWUX 0x34
|
||||
//#define PC_STWBRX 0x35
|
||||
//#define PC_STMW 0x36
|
||||
//#define PC_DCBF 0x37
|
||||
//#define PC_DCBST 0x38
|
||||
//#define PC_DCBT 0x39
|
||||
//#define PC_DCBTST 0x3A
|
||||
//#define PC_DCBZ 0x3B
|
||||
//#define PC_ADD 0x3C
|
||||
//#define PC_ADDC 0x3D
|
||||
//#define PC_ADDE 0x3E
|
||||
//#define PC_ADDI 0x3F
|
||||
//#define PC_ADDIC 0x40
|
||||
//#define PC_ADDICR 0x41
|
||||
//#define PC_ADDIS 0x42
|
||||
//#define PC_ADDME 0x43
|
||||
//#define PC_ADDZE 0x44
|
||||
//#define PC_DIVW 0x45
|
||||
//#define PC_DIVWU 0x46
|
||||
//#define PC_MULHW 0x47
|
||||
//#define PC_MULHWU 0x48
|
||||
//#define PC_MULLI 0x49
|
||||
//#define PC_MULLW 0x4A
|
||||
//#define PC_NEG 0x4B
|
||||
//#define PC_SUBF 0x4C
|
||||
//#define PC_SUBFC 0x4D
|
||||
//#define PC_SUBFE 0x4E
|
||||
//#define PC_SUBFIC 0x4F
|
||||
//#define PC_SUBFME 0x50
|
||||
//#define PC_SUBFZE 0x51
|
||||
//#define PC_CMPI 0x52
|
||||
//#define PC_CMP 0x53
|
||||
//#define PC_CMPLI 0x54
|
||||
//#define PC_CMPL 0x55
|
||||
//#define PC_ANDI 0x56
|
||||
//#define PC_ANDIS 0x57
|
||||
//#define PC_ORI 0x58
|
||||
//#define PC_ORIS 0x59
|
||||
//#define PC_XORI 0x5A
|
||||
//#define PC_XORIS 0x5B
|
||||
//#define PC_AND 0x5C
|
||||
//#define PC_OR 0x5D
|
||||
//#define PC_XOR 0x5E
|
||||
//#define PC_NAND 0x5F
|
||||
//#define PC_NOR 0x60
|
||||
//#define PC_EQV 0x61
|
||||
//#define PC_ANDC 0x62
|
||||
//#define PC_ORC 0x63
|
||||
//#define PC_EXTSB 0x64
|
||||
//#define PC_EXTSH 0x65
|
||||
//#define PC_CNTLZW 0x66
|
||||
//#define PC_RLWINM 0x67
|
||||
//#define PC_RLWNM 0x68
|
||||
//#define PC_RLWIMI 0x69
|
||||
//#define PC_SLW 0x6A
|
||||
//#define PC_SRW 0x6B
|
||||
//#define PC_SRAWI 0x6C
|
||||
//#define PC_SRAW 0x6D
|
||||
//#define PC_CRAND 0x6E
|
||||
//#define PC_CRANDC 0x6F
|
||||
//#define PC_CREQV 0x70
|
||||
//#define PC_CRNAND 0x71
|
||||
//#define PC_CRNOR 0x72
|
||||
//#define PC_CROR 0x73
|
||||
//#define PC_CRORC 0x74
|
||||
//#define PC_CRXOR 0x75
|
||||
//#define PC_MCRF 0x76
|
||||
//#define PC_MTXER 0x77
|
||||
//#define PC_MTCTR 0x78
|
||||
//#define PC_MTLR 0x79
|
||||
//#define PC_MTCRF 0x7A
|
||||
//#define PC_MTMSR 0x7B
|
||||
//#define PC_MTSPR 0x7C
|
||||
//#define PC_MFMSR 0x7D
|
||||
//#define PC_MFSPR 0x7E
|
||||
//#define PC_MFXER 0x7F
|
||||
//#define PC_MFCTR 0x80
|
||||
//#define PC_MFLR 0x81
|
||||
//#define PC_MFCR 0x82
|
||||
//#define PC_MFFS 0x83
|
||||
//#define PC_MTFSF 0x84
|
||||
//#define PC_EIEIO 0x85
|
||||
//#define PC_ISYNC 0x86
|
||||
//#define PC_SYNC 0x87
|
||||
//#define PC_RFI 0x88
|
||||
//#define PC_LI 0x89
|
||||
//#define PC_LIS 0x8A
|
||||
//#define PC_MR 0x8B
|
||||
//#define PC_NOP 0x8C
|
||||
//#define PC_NOT 0x8D
|
||||
//#define PC_LFS 0x8E
|
||||
//#define PC_LFSU 0x8F
|
||||
//#define PC_LFSX 0x90
|
||||
//#define PC_LFSUX 0x91
|
||||
//#define PC_LFD 0x92
|
||||
//#define PC_LFDU 0x93
|
||||
//#define PC_LFDX 0x94
|
||||
//#define PC_LFDUX 0x95
|
||||
//#define PC_STFS 0x96
|
||||
//#define PC_STFSU 0x97
|
||||
//#define PC_STFSX 0x98
|
||||
//#define PC_STFSUX 0x99
|
||||
//#define PC_STFD 0x9A
|
||||
//#define PC_STFDU 0x9B
|
||||
//#define PC_STFDX 0x9C
|
||||
//#define PC_STFDUX 0x9D
|
||||
//#define PC_FMR 0x9E
|
||||
//#define PC_FABS 0x9F
|
||||
//#define PC_FNEG 0xA0
|
||||
//#define PC_FNABS 0xA1
|
||||
//#define PC_FADD 0xA2
|
||||
//#define PC_FADDS 0xA3
|
||||
//#define PC_FSUB 0xA4
|
||||
//#define PC_FSUBS 0xA5
|
||||
//#define PC_FMUL 0xA6
|
||||
//#define PC_FMULS 0xA7
|
||||
//#define PC_FDIV 0xA8
|
||||
//#define PC_FDIVS 0xA9
|
||||
//#define PC_FMADD 0xAA
|
||||
//#define PC_FMADDS 0xAB
|
||||
//#define PC_FMSUB 0xAC
|
||||
//#define PC_FMSUBS 0xAD
|
||||
//#define PC_FNMADD 0xAE
|
||||
//#define PC_FNMADDS 0xAF
|
||||
//#define PC_FNMSUB 0xB0
|
||||
//#define PC_FNMSUBS 0xB1
|
||||
//#define PC_FRES 0xB2
|
||||
//#define PC_FRSQRTE 0xB3
|
||||
//#define PC_FSEL 0xB4
|
||||
//#define PC_FRSP 0xB5
|
||||
//#define PC_FCTIW 0xB6
|
||||
//#define PC_FCTIWZ 0xB7
|
||||
//#define PC_FCMPU 0xB8
|
||||
//#define PC_FCMPO 0xB9
|
||||
//#define PC_LWARX 0xBA
|
||||
//#define PC_LSWI 0xBB
|
||||
//#define PC_LSWX 0xBC
|
||||
//#define PC_STFIWX 0xBD
|
||||
//#define PC_STSWI 0xBE
|
||||
//#define PC_STSWX 0xBF
|
||||
//#define PC_STWCX 0xC0
|
||||
//#define PC_ECIWX 0xC1
|
||||
//#define PC_ECOWX 0xC2
|
||||
//#define PC_DCBI 0xC3
|
||||
//#define PC_ICBI 0xC4
|
||||
//#define PC_MCRFS 0xC5
|
||||
//#define PC_MCRXR 0xC6
|
||||
//#define PC_MFTB 0xC7
|
||||
//#define PC_MFSR 0xC8
|
||||
//#define PC_MTSR 0xC9
|
||||
//#define PC_MFSRIN 0xCA
|
||||
//#define PC_MTSRIN 0xCB
|
||||
//#define PC_MTFSB0 0xCC
|
||||
//#define PC_MTFSB1 0xCD
|
||||
//#define PC_MTFSFI 0xCE
|
||||
//#define PC_SC 0xCF
|
||||
//#define PC_FSQRT 0xD0
|
||||
//#define PC_FSQRTS 0xD1
|
||||
//#define PC_TLBIA 0xD2
|
||||
//#define PC_TLBIE 0xD3
|
||||
//#define PC_TLBLD 0xD4
|
||||
//#define PC_TLBLI 0xD5
|
||||
//#define PC_TLBSYNC 0xD6
|
||||
//#define PC_TW 0xD7
|
||||
//#define PC_TRAP 0xD8
|
||||
//#define PC_TWI 0xD9
|
||||
//#define PC_OPWORD 0xDA
|
||||
//#define PC_MFROM 0xDB
|
||||
//#define PC_DSA 0xDC
|
||||
//#define PC_ESA 0xDD
|
||||
//#define PC_DCCCI 0xDE
|
||||
//#define PC_DCREAD 0xDF
|
||||
//#define PC_ICBT 0xE0
|
||||
//#define PC_ICCCI 0xE1
|
||||
//#define PC_ICREAD 0xE2
|
||||
//#define PC_RFCI 0xE3
|
||||
//#define PC_TLBRE 0xE4
|
||||
//#define PC_TLBSX 0xE5
|
||||
//#define PC_TLBWE 0xE6
|
||||
//#define PC_WRTEE 0xE7
|
||||
//#define PC_WRTEEI 0xE8
|
||||
//#define PC_MFDCR 0xE9
|
||||
//#define PC_MTDCR 0xEA
|
||||
//#define PC_DCBA 0xEB
|
||||
//#define PC_DSS 0xEC
|
||||
//#define PC_DSSALL 0xED
|
||||
//#define PC_DST 0xEE
|
||||
//#define PC_DSTT 0xEF
|
||||
//#define PC_DSTST 0xF0
|
||||
//#define PC_DSTSTT 0xF1
|
||||
//#define PC_LVEBX 0xF2
|
||||
//#define PC_LVEHX 0xF3
|
||||
//#define PC_LVEWX 0xF4
|
||||
//#define PC_LVSL 0xF5
|
||||
//#define PC_LVSR 0xF6
|
||||
//#define PC_LVX 0xF7
|
||||
//#define PC_LVXL 0xF8
|
||||
//#define PC_STVEBX 0xF9
|
||||
//#define PC_STVEHX 0xFA
|
||||
//#define PC_STVEWX 0xFB
|
||||
//#define PC_STVX 0xFC
|
||||
//#define PC_STVXL 0xFD
|
||||
//#define PC_MFVSCR 0xFE
|
||||
//#define PC_MTVSCR 0xFF
|
||||
//#define PC_VADDCUW 0x100
|
||||
//#define PC_VADDFP 0x101
|
||||
//#define PC_VADDSBS 0x102
|
||||
//#define PC_VADDSHS 0x103
|
||||
//#define PC_VADDSWS 0x104
|
||||
//#define PC_VADDUBM 0x105
|
||||
//#define PC_VADDUBS 0x106
|
||||
//#define PC_VADDUHM 0x107
|
||||
//#define PC_VADDUHS 0x108
|
||||
//#define PC_VADDUWM 0x109
|
||||
//#define PC_VADDUWS 0x10A
|
||||
//#define PC_VAND 0x10B
|
||||
//#define PC_VANDC 0x10C
|
||||
//#define PC_VAVGSB 0x10D
|
||||
//#define PC_VAVGSH 0x10E
|
||||
//#define PC_VAVGSW 0x10F
|
||||
//#define PC_VAVGUB 0x110
|
||||
//#define PC_VAVGUH 0x111
|
||||
//#define PC_VAVGUW 0x112
|
||||
//#define PC_VCFSX 0x113
|
||||
//#define PC_VCFUX 0x114
|
||||
//#define PC_VCMPBFP 0x115
|
||||
//#define PC_VCMPEQFP 0x116
|
||||
//#define PC_VCMPEQUB 0x117
|
||||
//#define PC_VCMPEQUH 0x118
|
||||
//#define PC_VCMPEQUW 0x119
|
||||
//#define PC_VCMPGEFP 0x11A
|
||||
//#define PC_VCMPGTFP 0x11B
|
||||
//#define PC_VCMPGTSB 0x11C
|
||||
//#define PC_VCMPGTSH 0x11D
|
||||
//#define PC_VCMPGTSW 0x11E
|
||||
//#define PC_VCMPGTUB 0x11F
|
||||
//#define PC_VCMPGTUH 0x120
|
||||
//#define PC_VCMPGTUW 0x121
|
||||
//#define PC_VCTSXS 0x122
|
||||
//#define PC_VCTUXS 0x123
|
||||
//#define PC_VEXPTEFP 0x124
|
||||
//#define PC_VLOGEFP 0x125
|
||||
//#define PC_VMAXFP 0x126
|
||||
//#define PC_VMAXSB 0x127
|
||||
//#define PC_VMAXSH 0x128
|
||||
//#define PC_VMAXSW 0x129
|
||||
//#define PC_VMAXUB 0x12A
|
||||
//#define PC_VMAXUH 0x12B
|
||||
//#define PC_VMAXUW 0x12C
|
||||
//#define PC_VMINFP 0x12D
|
||||
//#define PC_VMINSB 0x12E
|
||||
//#define PC_VMINSH 0x12F
|
||||
//#define PC_VMINSW 0x130
|
||||
//#define PC_VMINUB 0x131
|
||||
//#define PC_VMINUH 0x132
|
||||
//#define PC_VMINUW 0x133
|
||||
//#define PC_VMRGHB 0x134
|
||||
//#define PC_VMRGHH 0x135
|
||||
//#define PC_VMRGHW 0x136
|
||||
//#define PC_VMRGLB 0x137
|
||||
//#define PC_VMRGLH 0x138
|
||||
//#define PC_VMRGLW 0x139
|
||||
//#define PC_VMULESB 0x13A
|
||||
//#define PC_VMULESH 0x13B
|
||||
//#define PC_VMULEUB 0x13C
|
||||
//#define PC_VMULEUH 0x13D
|
||||
//#define PC_VMULOSB 0x13E
|
||||
//#define PC_VMULOSH 0x13F
|
||||
//#define PC_VMULOUB 0x140
|
||||
//#define PC_VMULOUH 0x141
|
||||
//#define PC_VNOR 0x142
|
||||
//#define PC_VOR 0x143
|
||||
//#define PC_VPKPX 0x144
|
||||
//#define PC_VPKSHSS 0x145
|
||||
//#define PC_VPKSHUS 0x146
|
||||
//#define PC_VPKSWSS 0x147
|
||||
//#define PC_VPKSWUS 0x148
|
||||
//#define PC_VPKUHUM 0x149
|
||||
//#define PC_VPKUHUS 0x14A
|
||||
//#define PC_VPKUWUM 0x14B
|
||||
//#define PC_VPKUWUS 0x14C
|
||||
//#define PC_VREFP 0x14D
|
||||
//#define PC_VRFIM 0x14E
|
||||
//#define PC_VRFIN 0x14F
|
||||
//#define PC_VRFIP 0x150
|
||||
//#define PC_VRFIZ 0x151
|
||||
//#define PC_VRLB 0x152
|
||||
//#define PC_VRLH 0x153
|
||||
//#define PC_VRLW 0x154
|
||||
//#define PC_VRSQRTEFP 0x155
|
||||
//#define PC_VSL 0x156
|
||||
//#define PC_VSLB 0x157
|
||||
//#define PC_VSLH 0x158
|
||||
//#define PC_VSLO 0x159
|
||||
//#define PC_VSLW 0x15A
|
||||
//#define PC_VSPLTB 0x15B
|
||||
//#define PC_VSPLTH 0x15C
|
||||
//#define PC_VSPLTW 0x15D
|
||||
//#define PC_VSPLTISB 0x15E
|
||||
//#define PC_VSPLTISH 0x15F
|
||||
//#define PC_VSPLTISW 0x160
|
||||
//#define PC_VSR 0x161
|
||||
//#define PC_VSRAB 0x162
|
||||
//#define PC_VSRAH 0x163
|
||||
//#define PC_VSRAW 0x164
|
||||
//#define PC_VSRB 0x165
|
||||
//#define PC_VSRH 0x166
|
||||
//#define PC_VSRO 0x167
|
||||
//#define PC_VSRW 0x168
|
||||
//#define PC_VSUBCUW 0x169
|
||||
//#define PC_VSUBFP 0x16A
|
||||
//#define PC_VSUBSBS 0x16B
|
||||
//#define PC_VSUBSHS 0x16C
|
||||
//#define PC_VSUBSWS 0x16D
|
||||
//#define PC_VSUBUBM 0x16E
|
||||
//#define PC_VSUBUBS 0x16F
|
||||
//#define PC_VSUBUHM 0x170
|
||||
//#define PC_VSUBUHS 0x171
|
||||
//#define PC_VSUBUWM 0x172
|
||||
//#define PC_VSUBUWS 0x173
|
||||
//#define PC_VSUMSWS 0x174
|
||||
//#define PC_VSUM2SWS 0x175
|
||||
//#define PC_VSUM4SBS 0x176
|
||||
//#define PC_VSUM4SHS 0x177
|
||||
//#define PC_VSUM4UBS 0x178
|
||||
//#define PC_VUPKHPX 0x179
|
||||
//#define PC_VUPKHSB 0x17A
|
||||
//#define PC_VUPKHSH 0x17B
|
||||
//#define PC_VUPKLPX 0x17C
|
||||
//#define PC_VUPKLSB 0x17D
|
||||
//#define PC_VUPKLSH 0x17E
|
||||
//#define PC_VXOR 0x17F
|
||||
//#define PC_VMADDFP 0x180
|
||||
//#define PC_VMHADDSHS 0x181
|
||||
//#define PC_VMHRADDSHS 0x182
|
||||
//#define PC_VMLADDUHM 0x183
|
||||
//#define PC_VMSUMMBM 0x184
|
||||
//#define PC_VMSUMSHM 0x185
|
||||
//#define PC_VMSUMSHS 0x186
|
||||
//#define PC_VMSUMUBM 0x187
|
||||
//#define PC_VMSUMUHM 0x188
|
||||
//#define PC_VMSUMUHS 0x189
|
||||
//#define PC_VNMSUBFP 0x18A
|
||||
//#define PC_VPERM 0x18B
|
||||
//#define PC_VSEL 0x18C
|
||||
//#define PC_VSLDOI 0x18D
|
||||
//#define PC_VMR 0x18E
|
||||
//#define PC_VMRP 0x18F
|
||||
//#define PC_SLE 0x190
|
||||
//#define PC_SLEQ 0x191
|
||||
//#define PC_SLIQ 0x192
|
||||
//#define PC_SLLIQ 0x193
|
||||
//#define PC_SLLQ 0x194
|
||||
//#define PC_SLQ 0x195
|
||||
//#define PC_SRAIQ 0x196
|
||||
//#define PC_SRAQ 0x197
|
||||
//#define PC_SRE 0x198
|
||||
//#define PC_SREA 0x199
|
||||
//#define PC_SREQ 0x19A
|
||||
//#define PC_SRIQ 0x19B
|
||||
//#define PC_SRLIQ 0x19C
|
||||
//#define PC_SRLQ 0x19D
|
||||
//#define PC_SRQ 0x19E
|
||||
//#define PC_MASKG 0x19F
|
||||
//#define PC_MASKIR 0x1A0
|
||||
//#define PC_LSCBX 0x1A1
|
||||
//#define PC_DIV 0x1A2
|
||||
//#define PC_DIVS 0x1A3
|
||||
//#define PC_DOZ 0x1A4
|
||||
//#define PC_MUL 0x1A5
|
||||
//#define PC_NABS 0x1A6
|
||||
//#define PC_ABS 0x1A7
|
||||
//#define PC_CLCS 0x1A8
|
||||
//#define PC_DOZI 0x1A9
|
||||
//#define PC_RLMI 0x1AA
|
||||
//#define PC_RRIB 0x1AB
|
||||
//#define PC_PENTRY 0x1AC
|
||||
//#define PC_PEXIT 0x1AD
|
||||
//#define OPCODE_MAX 0x1AE
|
||||
//const short PC_B = 0x0;
|
||||
//const short PC_BL = 0x1;
|
||||
//const short PC_BC = 0x2;
|
||||
//const short PC_BCLR = 0x3;
|
||||
//const short PC_BCCTR = 0x4;
|
||||
//const short PC_BT = 0x5;
|
||||
//const short PC_BTLR = 0x6;
|
||||
//const short PC_BTCTR = 0x7;
|
||||
//const short PC_BF = 0x8;
|
||||
//const short PC_BFLR = 0x9;
|
||||
//const short PC_BFCTR = 0xA;
|
||||
//const short PC_BDNZ = 0xB;
|
||||
//const short PC_BDNZT = 0xC;
|
||||
//const short PC_BDNZF = 0xD;
|
||||
//const short PC_BDZ = 0xE;
|
||||
//const short PC_BDZT = 0xF;
|
||||
//const short PC_BDZF = 0x10;
|
||||
//const short PC_BLR = 0x11;
|
||||
//const short PC_BCTR = 0x12;
|
||||
//const short PC_BCTRL = 0x13;
|
||||
//const short PC_BLRL = 0x14;
|
||||
//const short PC_LBZ = 0x15;
|
||||
//const short PC_LBZU = 0x16;
|
||||
//const short PC_LBZX = 0x17;
|
||||
//const short PC_LBZUX = 0x18;
|
||||
//const short PC_LHZ = 0x19;
|
||||
//const short PC_LHZU = 0x1A;
|
||||
//const short PC_LHZX = 0x1B;
|
||||
//const short PC_LHZUX = 0x1C;
|
||||
//const short PC_LHA = 0x1D;
|
||||
//const short PC_LHAU = 0x1E;
|
||||
//const short PC_LHAX = 0x1F;
|
||||
//const short PC_LHAUX = 0x20;
|
||||
//const short PC_LHBRX = 0x21;
|
||||
//const short PC_LWZ = 0x22;
|
||||
//const short PC_LWZU = 0x23;
|
||||
//const short PC_LWZX = 0x24;
|
||||
//const short PC_LWZUX = 0x25;
|
||||
//const short PC_LWBRX = 0x26;
|
||||
//const short PC_LMW = 0x27;
|
||||
//const short PC_STB = 0x28;
|
||||
//const short PC_STBU = 0x29;
|
||||
//const short PC_STBX = 0x2A;
|
||||
//const short PC_STBUX = 0x2B;
|
||||
//const short PC_STH = 0x2C;
|
||||
//const short PC_STHU = 0x2D;
|
||||
//const short PC_STHX = 0x2E;
|
||||
//const short PC_STHUX = 0x2F;
|
||||
//const short PC_STHBRX = 0x30;
|
||||
//const short PC_STW = 0x31;
|
||||
//const short PC_STWU = 0x32;
|
||||
//const short PC_STWX = 0x33;
|
||||
//const short PC_STWUX = 0x34;
|
||||
//const short PC_STWBRX = 0x35;
|
||||
//const short PC_STMW = 0x36;
|
||||
//const short PC_DCBF = 0x37;
|
||||
//const short PC_DCBST = 0x38;
|
||||
//const short PC_DCBT = 0x39;
|
||||
//const short PC_DCBTST = 0x3A;
|
||||
//const short PC_DCBZ = 0x3B;
|
||||
//const short PC_ADD = 0x3C;
|
||||
//const short PC_ADDC = 0x3D;
|
||||
//const short PC_ADDE = 0x3E;
|
||||
//const short PC_ADDI = 0x3F;
|
||||
//const short PC_ADDIC = 0x40;
|
||||
//const short PC_ADDICR = 0x41;
|
||||
//const short PC_ADDIS = 0x42;
|
||||
//const short PC_ADDME = 0x43;
|
||||
//const short PC_ADDZE = 0x44;
|
||||
//const short PC_DIVW = 0x45;
|
||||
//const short PC_DIVWU = 0x46;
|
||||
//const short PC_MULHW = 0x47;
|
||||
//const short PC_MULHWU = 0x48;
|
||||
//const short PC_MULLI = 0x49;
|
||||
//const short PC_MULLW = 0x4A;
|
||||
//const short PC_NEG = 0x4B;
|
||||
//const short PC_SUBF = 0x4C;
|
||||
//const short PC_SUBFC = 0x4D;
|
||||
//const short PC_SUBFE = 0x4E;
|
||||
//const short PC_SUBFIC = 0x4F;
|
||||
//const short PC_SUBFME = 0x50;
|
||||
//const short PC_SUBFZE = 0x51;
|
||||
//const short PC_CMPI = 0x52;
|
||||
//const short PC_CMP = 0x53;
|
||||
//const short PC_CMPLI = 0x54;
|
||||
//const short PC_CMPL = 0x55;
|
||||
//const short PC_ANDI = 0x56;
|
||||
//const short PC_ANDIS = 0x57;
|
||||
//const short PC_ORI = 0x58;
|
||||
//const short PC_ORIS = 0x59;
|
||||
//const short PC_XORI = 0x5A;
|
||||
//const short PC_XORIS = 0x5B;
|
||||
//const short PC_AND = 0x5C;
|
||||
//const short PC_OR = 0x5D;
|
||||
//const short PC_XOR = 0x5E;
|
||||
//const short PC_NAND = 0x5F;
|
||||
//const short PC_NOR = 0x60;
|
||||
//const short PC_EQV = 0x61;
|
||||
//const short PC_ANDC = 0x62;
|
||||
//const short PC_ORC = 0x63;
|
||||
//const short PC_EXTSB = 0x64;
|
||||
//const short PC_EXTSH = 0x65;
|
||||
//const short PC_CNTLZW = 0x66;
|
||||
//const short PC_RLWINM = 0x67;
|
||||
//const short PC_RLWNM = 0x68;
|
||||
//const short PC_RLWIMI = 0x69;
|
||||
//const short PC_SLW = 0x6A;
|
||||
//const short PC_SRW = 0x6B;
|
||||
//const short PC_SRAWI = 0x6C;
|
||||
//const short PC_SRAW = 0x6D;
|
||||
//const short PC_CRAND = 0x6E;
|
||||
//const short PC_CRANDC = 0x6F;
|
||||
//const short PC_CREQV = 0x70;
|
||||
//const short PC_CRNAND = 0x71;
|
||||
//const short PC_CRNOR = 0x72;
|
||||
//const short PC_CROR = 0x73;
|
||||
//const short PC_CRORC = 0x74;
|
||||
//const short PC_CRXOR = 0x75;
|
||||
//const short PC_MCRF = 0x76;
|
||||
//const short PC_MTXER = 0x77;
|
||||
//const short PC_MTCTR = 0x78;
|
||||
//const short PC_MTLR = 0x79;
|
||||
//const short PC_MTCRF = 0x7A;
|
||||
//const short PC_MTMSR = 0x7B;
|
||||
//const short PC_MTSPR = 0x7C;
|
||||
//const short PC_MFMSR = 0x7D;
|
||||
//const short PC_MFSPR = 0x7E;
|
||||
//const short PC_MFXER = 0x7F;
|
||||
//const short PC_MFCTR = 0x80;
|
||||
//const short PC_MFLR = 0x81;
|
||||
//const short PC_MFCR = 0x82;
|
||||
//const short PC_MFFS = 0x83;
|
||||
//const short PC_MTFSF = 0x84;
|
||||
//const short PC_EIEIO = 0x85;
|
||||
//const short PC_ISYNC = 0x86;
|
||||
//const short PC_SYNC = 0x87;
|
||||
//const short PC_RFI = 0x88;
|
||||
//const short PC_LI = 0x89;
|
||||
//const short PC_LIS = 0x8A;
|
||||
//const short PC_MR = 0x8B;
|
||||
//const short PC_NOP = 0x8C;
|
||||
//const short PC_NOT = 0x8D;
|
||||
//const short PC_LFS = 0x8E;
|
||||
//const short PC_LFSU = 0x8F;
|
||||
//const short PC_LFSX = 0x90;
|
||||
//const short PC_LFSUX = 0x91;
|
||||
//const short PC_LFD = 0x92;
|
||||
//const short PC_LFDU = 0x93;
|
||||
//const short PC_LFDX = 0x94;
|
||||
//const short PC_LFDUX = 0x95;
|
||||
//const short PC_STFS = 0x96;
|
||||
//const short PC_STFSU = 0x97;
|
||||
//const short PC_STFSX = 0x98;
|
||||
//const short PC_STFSUX = 0x99;
|
||||
//const short PC_STFD = 0x9A;
|
||||
//const short PC_STFDU = 0x9B;
|
||||
//const short PC_STFDX = 0x9C;
|
||||
//const short PC_STFDUX = 0x9D;
|
||||
//const short PC_FMR = 0x9E;
|
||||
//const short PC_FABS = 0x9F;
|
||||
//const short PC_FNEG = 0xA0;
|
||||
//const short PC_FNABS = 0xA1;
|
||||
//const short PC_FADD = 0xA2;
|
||||
//const short PC_FADDS = 0xA3;
|
||||
//const short PC_FSUB = 0xA4;
|
||||
//const short PC_FSUBS = 0xA5;
|
||||
//const short PC_FMUL = 0xA6;
|
||||
//const short PC_FMULS = 0xA7;
|
||||
//const short PC_FDIV = 0xA8;
|
||||
//const short PC_FDIVS = 0xA9;
|
||||
//const short PC_FMADD = 0xAA;
|
||||
//const short PC_FMADDS = 0xAB;
|
||||
//const short PC_FMSUB = 0xAC;
|
||||
//const short PC_FMSUBS = 0xAD;
|
||||
//const short PC_FNMADD = 0xAE;
|
||||
//const short PC_FNMADDS = 0xAF;
|
||||
//const short PC_FNMSUB = 0xB0;
|
||||
//const short PC_FNMSUBS = 0xB1;
|
||||
//const short PC_FRES = 0xB2;
|
||||
//const short PC_FRSQRTE = 0xB3;
|
||||
//const short PC_FSEL = 0xB4;
|
||||
//const short PC_FRSP = 0xB5;
|
||||
//const short PC_FCTIW = 0xB6;
|
||||
//const short PC_FCTIWZ = 0xB7;
|
||||
//const short PC_FCMPU = 0xB8;
|
||||
//const short PC_FCMPO = 0xB9;
|
||||
//const short PC_LWARX = 0xBA;
|
||||
//const short PC_LSWI = 0xBB;
|
||||
//const short PC_LSWX = 0xBC;
|
||||
//const short PC_STFIWX = 0xBD;
|
||||
//const short PC_STSWI = 0xBE;
|
||||
//const short PC_STSWX = 0xBF;
|
||||
//const short PC_STWCX = 0xC0;
|
||||
//const short PC_ECIWX = 0xC1;
|
||||
//const short PC_ECOWX = 0xC2;
|
||||
//const short PC_DCBI = 0xC3;
|
||||
//const short PC_ICBI = 0xC4;
|
||||
//const short PC_MCRFS = 0xC5;
|
||||
//const short PC_MCRXR = 0xC6;
|
||||
//const short PC_MFTB = 0xC7;
|
||||
//const short PC_MFSR = 0xC8;
|
||||
//const short PC_MTSR = 0xC9;
|
||||
//const short PC_MFSRIN = 0xCA;
|
||||
//const short PC_MTSRIN = 0xCB;
|
||||
//const short PC_MTFSB0 = 0xCC;
|
||||
//const short PC_MTFSB1 = 0xCD;
|
||||
//const short PC_MTFSFI = 0xCE;
|
||||
//const short PC_SC = 0xCF;
|
||||
//const short PC_FSQRT = 0xD0;
|
||||
//const short PC_FSQRTS = 0xD1;
|
||||
//const short PC_TLBIA = 0xD2;
|
||||
//const short PC_TLBIE = 0xD3;
|
||||
//const short PC_TLBLD = 0xD4;
|
||||
//const short PC_TLBLI = 0xD5;
|
||||
//const short PC_TLBSYNC = 0xD6;
|
||||
//const short PC_TW = 0xD7;
|
||||
//const short PC_TRAP = 0xD8;
|
||||
//const short PC_TWI = 0xD9;
|
||||
//const short PC_OPWORD = 0xDA;
|
||||
//const short PC_MFROM = 0xDB;
|
||||
//const short PC_DSA = 0xDC;
|
||||
//const short PC_ESA = 0xDD;
|
||||
//const short PC_DCCCI = 0xDE;
|
||||
//const short PC_DCREAD = 0xDF;
|
||||
//const short PC_ICBT = 0xE0;
|
||||
//const short PC_ICCCI = 0xE1;
|
||||
//const short PC_ICREAD = 0xE2;
|
||||
//const short PC_RFCI = 0xE3;
|
||||
//const short PC_TLBRE = 0xE4;
|
||||
//const short PC_TLBSX = 0xE5;
|
||||
//const short PC_TLBWE = 0xE6;
|
||||
//const short PC_WRTEE = 0xE7;
|
||||
//const short PC_WRTEEI = 0xE8;
|
||||
//const short PC_MFDCR = 0xE9;
|
||||
//const short PC_MTDCR = 0xEA;
|
||||
//const short PC_DCBA = 0xEB;
|
||||
//const short PC_DSS = 0xEC;
|
||||
//const short PC_DSSALL = 0xED;
|
||||
//const short PC_DST = 0xEE;
|
||||
//const short PC_DSTT = 0xEF;
|
||||
//const short PC_DSTST = 0xF0;
|
||||
//const short PC_DSTSTT = 0xF1;
|
||||
//const short PC_LVEBX = 0xF2;
|
||||
//const short PC_LVEHX = 0xF3;
|
||||
//const short PC_LVEWX = 0xF4;
|
||||
//const short PC_LVSL = 0xF5;
|
||||
//const short PC_LVSR = 0xF6;
|
||||
//const short PC_LVX = 0xF7;
|
||||
//const short PC_LVXL = 0xF8;
|
||||
//const short PC_STVEBX = 0xF9;
|
||||
//const short PC_STVEHX = 0xFA;
|
||||
//const short PC_STVEWX = 0xFB;
|
||||
//const short PC_STVX = 0xFC;
|
||||
//const short PC_STVXL = 0xFD;
|
||||
//const short PC_MFVSCR = 0xFE;
|
||||
//const short PC_MTVSCR = 0xFF;
|
||||
//const short PC_VADDCUW = 0x100;
|
||||
//const short PC_VADDFP = 0x101;
|
||||
//const short PC_VADDSBS = 0x102;
|
||||
//const short PC_VADDSHS = 0x103;
|
||||
//const short PC_VADDSWS = 0x104;
|
||||
//const short PC_VADDUBM = 0x105;
|
||||
//const short PC_VADDUBS = 0x106;
|
||||
//const short PC_VADDUHM = 0x107;
|
||||
//const short PC_VADDUHS = 0x108;
|
||||
//const short PC_VADDUWM = 0x109;
|
||||
//const short PC_VADDUWS = 0x10A;
|
||||
//const short PC_VAND = 0x10B;
|
||||
//const short PC_VANDC = 0x10C;
|
||||
//const short PC_VAVGSB = 0x10D;
|
||||
//const short PC_VAVGSH = 0x10E;
|
||||
//const short PC_VAVGSW = 0x10F;
|
||||
//const short PC_VAVGUB = 0x110;
|
||||
//const short PC_VAVGUH = 0x111;
|
||||
//const short PC_VAVGUW = 0x112;
|
||||
//const short PC_VCFSX = 0x113;
|
||||
//const short PC_VCFUX = 0x114;
|
||||
//const short PC_VCMPBFP = 0x115;
|
||||
//const short PC_VCMPEQFP = 0x116;
|
||||
//const short PC_VCMPEQUB = 0x117;
|
||||
//const short PC_VCMPEQUH = 0x118;
|
||||
//const short PC_VCMPEQUW = 0x119;
|
||||
//const short PC_VCMPGEFP = 0x11A;
|
||||
//const short PC_VCMPGTFP = 0x11B;
|
||||
//const short PC_VCMPGTSB = 0x11C;
|
||||
//const short PC_VCMPGTSH = 0x11D;
|
||||
//const short PC_VCMPGTSW = 0x11E;
|
||||
//const short PC_VCMPGTUB = 0x11F;
|
||||
//const short PC_VCMPGTUH = 0x120;
|
||||
//const short PC_VCMPGTUW = 0x121;
|
||||
//const short PC_VCTSXS = 0x122;
|
||||
//const short PC_VCTUXS = 0x123;
|
||||
//const short PC_VEXPTEFP = 0x124;
|
||||
//const short PC_VLOGEFP = 0x125;
|
||||
//const short PC_VMAXFP = 0x126;
|
||||
//const short PC_VMAXSB = 0x127;
|
||||
//const short PC_VMAXSH = 0x128;
|
||||
//const short PC_VMAXSW = 0x129;
|
||||
//const short PC_VMAXUB = 0x12A;
|
||||
//const short PC_VMAXUH = 0x12B;
|
||||
//const short PC_VMAXUW = 0x12C;
|
||||
//const short PC_VMINFP = 0x12D;
|
||||
//const short PC_VMINSB = 0x12E;
|
||||
//const short PC_VMINSH = 0x12F;
|
||||
//const short PC_VMINSW = 0x130;
|
||||
//const short PC_VMINUB = 0x131;
|
||||
//const short PC_VMINUH = 0x132;
|
||||
//const short PC_VMINUW = 0x133;
|
||||
//const short PC_VMRGHB = 0x134;
|
||||
//const short PC_VMRGHH = 0x135;
|
||||
//const short PC_VMRGHW = 0x136;
|
||||
//const short PC_VMRGLB = 0x137;
|
||||
//const short PC_VMRGLH = 0x138;
|
||||
//const short PC_VMRGLW = 0x139;
|
||||
//const short PC_VMULESB = 0x13A;
|
||||
//const short PC_VMULESH = 0x13B;
|
||||
//const short PC_VMULEUB = 0x13C;
|
||||
//const short PC_VMULEUH = 0x13D;
|
||||
//const short PC_VMULOSB = 0x13E;
|
||||
//const short PC_VMULOSH = 0x13F;
|
||||
//const short PC_VMULOUB = 0x140;
|
||||
//const short PC_VMULOUH = 0x141;
|
||||
//const short PC_VNOR = 0x142;
|
||||
//const short PC_VOR = 0x143;
|
||||
//const short PC_VPKPX = 0x144;
|
||||
//const short PC_VPKSHSS = 0x145;
|
||||
//const short PC_VPKSHUS = 0x146;
|
||||
//const short PC_VPKSWSS = 0x147;
|
||||
//const short PC_VPKSWUS = 0x148;
|
||||
//const short PC_VPKUHUM = 0x149;
|
||||
//const short PC_VPKUHUS = 0x14A;
|
||||
//const short PC_VPKUWUM = 0x14B;
|
||||
//const short PC_VPKUWUS = 0x14C;
|
||||
//const short PC_VREFP = 0x14D;
|
||||
//const short PC_VRFIM = 0x14E;
|
||||
//const short PC_VRFIN = 0x14F;
|
||||
//const short PC_VRFIP = 0x150;
|
||||
//const short PC_VRFIZ = 0x151;
|
||||
//const short PC_VRLB = 0x152;
|
||||
//const short PC_VRLH = 0x153;
|
||||
//const short PC_VRLW = 0x154;
|
||||
//const short PC_VRSQRTEFP = 0x155;
|
||||
//const short PC_VSL = 0x156;
|
||||
//const short PC_VSLB = 0x157;
|
||||
//const short PC_VSLH = 0x158;
|
||||
//const short PC_VSLO = 0x159;
|
||||
//const short PC_VSLW = 0x15A;
|
||||
//const short PC_VSPLTB = 0x15B;
|
||||
//const short PC_VSPLTH = 0x15C;
|
||||
//const short PC_VSPLTW = 0x15D;
|
||||
//const short PC_VSPLTISB = 0x15E;
|
||||
//const short PC_VSPLTISH = 0x15F;
|
||||
//const short PC_VSPLTISW = 0x160;
|
||||
//const short PC_VSR = 0x161;
|
||||
//const short PC_VSRAB = 0x162;
|
||||
//const short PC_VSRAH = 0x163;
|
||||
//const short PC_VSRAW = 0x164;
|
||||
//const short PC_VSRB = 0x165;
|
||||
//const short PC_VSRH = 0x166;
|
||||
//const short PC_VSRO = 0x167;
|
||||
//const short PC_VSRW = 0x168;
|
||||
//const short PC_VSUBCUW = 0x169;
|
||||
//const short PC_VSUBFP = 0x16A;
|
||||
//const short PC_VSUBSBS = 0x16B;
|
||||
//const short PC_VSUBSHS = 0x16C;
|
||||
//const short PC_VSUBSWS = 0x16D;
|
||||
//const short PC_VSUBUBM = 0x16E;
|
||||
//const short PC_VSUBUBS = 0x16F;
|
||||
//const short PC_VSUBUHM = 0x170;
|
||||
//const short PC_VSUBUHS = 0x171;
|
||||
//const short PC_VSUBUWM = 0x172;
|
||||
//const short PC_VSUBUWS = 0x173;
|
||||
//const short PC_VSUMSWS = 0x174;
|
||||
//const short PC_VSUM2SWS = 0x175;
|
||||
//const short PC_VSUM4SBS = 0x176;
|
||||
//const short PC_VSUM4SHS = 0x177;
|
||||
//const short PC_VSUM4UBS = 0x178;
|
||||
//const short PC_VUPKHPX = 0x179;
|
||||
//const short PC_VUPKHSB = 0x17A;
|
||||
//const short PC_VUPKHSH = 0x17B;
|
||||
//const short PC_VUPKLPX = 0x17C;
|
||||
//const short PC_VUPKLSB = 0x17D;
|
||||
//const short PC_VUPKLSH = 0x17E;
|
||||
//const short PC_VXOR = 0x17F;
|
||||
//const short PC_VMADDFP = 0x180;
|
||||
//const short PC_VMHADDSHS = 0x181;
|
||||
//const short PC_VMHRADDSHS = 0x182;
|
||||
//const short PC_VMLADDUHM = 0x183;
|
||||
//const short PC_VMSUMMBM = 0x184;
|
||||
//const short PC_VMSUMSHM = 0x185;
|
||||
//const short PC_VMSUMSHS = 0x186;
|
||||
//const short PC_VMSUMUBM = 0x187;
|
||||
//const short PC_VMSUMUHM = 0x188;
|
||||
//const short PC_VMSUMUHS = 0x189;
|
||||
//const short PC_VNMSUBFP = 0x18A;
|
||||
//const short PC_VPERM = 0x18B;
|
||||
//const short PC_VSEL = 0x18C;
|
||||
//const short PC_VSLDOI = 0x18D;
|
||||
//const short PC_VMR = 0x18E;
|
||||
//const short PC_VMRP = 0x18F;
|
||||
//const short PC_SLE = 0x190;
|
||||
//const short PC_SLEQ = 0x191;
|
||||
//const short PC_SLIQ = 0x192;
|
||||
//const short PC_SLLIQ = 0x193;
|
||||
//const short PC_SLLQ = 0x194;
|
||||
//const short PC_SLQ = 0x195;
|
||||
//const short PC_SRAIQ = 0x196;
|
||||
//const short PC_SRAQ = 0x197;
|
||||
//const short PC_SRE = 0x198;
|
||||
//const short PC_SREA = 0x199;
|
||||
//const short PC_SREQ = 0x19A;
|
||||
//const short PC_SRIQ = 0x19B;
|
||||
//const short PC_SRLIQ = 0x19C;
|
||||
//const short PC_SRLQ = 0x19D;
|
||||
//const short PC_SRQ = 0x19E;
|
||||
//const short PC_MASKG = 0x19F;
|
||||
//const short PC_MASKIR = 0x1A0;
|
||||
//const short PC_LSCBX = 0x1A1;
|
||||
//const short PC_DIV = 0x1A2;
|
||||
//const short PC_DIVS = 0x1A3;
|
||||
//const short PC_DOZ = 0x1A4;
|
||||
//const short PC_MUL = 0x1A5;
|
||||
//const short PC_NABS = 0x1A6;
|
||||
//const short PC_ABS = 0x1A7;
|
||||
//const short PC_CLCS = 0x1A8;
|
||||
//const short PC_DOZI = 0x1A9;
|
||||
//const short PC_RLMI = 0x1AA;
|
||||
//const short PC_RRIB = 0x1AB;
|
||||
//const short PC_PENTRY = 0x1AC;
|
||||
//const short PC_PEXIT = 0x1AD;
|
||||
//const short OPCODE_MAX = 0x1AE;
|
||||
|
||||
extern OpcodeInfo opcodeinfo[OPCODE_MAX];
|
||||
// this is actually in OpcodeInfo.c
|
||||
extern OpcodeInfo opcodeinfo[];
|
||||
|
||||
extern void pcode_get_hi_lo(int bits, char typechar, SInt32 *hi, SInt32 *lo);
|
||||
extern int pcode_check_imm_bits(SInt32 value, int bits, char typechar);
|
||||
|
||||
@@ -5,34 +5,34 @@
|
||||
|
||||
extern int pclist_bad_operand;
|
||||
|
||||
extern void pcinitlisting(void);
|
||||
extern void pcinitlisting(/* unknown args */);
|
||||
extern void pccleanuplisting(void);
|
||||
extern void pclistblocks(char *name1, char *name2);
|
||||
extern void pclistdataflow(void);
|
||||
extern void pclistdataflow(/* unknown args */);
|
||||
extern void pclistinterferences(char *class_format, int regcount);
|
||||
extern void pclistspill(void);
|
||||
extern void pclistcopypropitem(void);
|
||||
extern void pclistcoalesce(void);
|
||||
extern void pclistusedefs(void);
|
||||
extern void pclistpropinfo(void);
|
||||
extern void pclistloops(void);
|
||||
extern void pclistswitchtables(void);
|
||||
extern void pclistdominators(void);
|
||||
extern void pclistbackedge(void);
|
||||
extern void pclistinterferencegraphnode(void);
|
||||
extern void pclistinterferencegraph(void);
|
||||
extern void pclistblock_scheduler(void);
|
||||
extern void pclistspill(/* unknown args */);
|
||||
extern void pclistcopypropitem(/* unknown args */);
|
||||
extern void pclistcoalesce(/* unknown args */);
|
||||
extern void pclistusedefs(/* unknown args */);
|
||||
extern void pclistpropinfo(/* unknown args */);
|
||||
extern void pclistloops(/* unknown args */);
|
||||
extern void pclistswitchtables(/* unknown args */);
|
||||
extern void pclistdominators(/* unknown args */);
|
||||
extern void pclistbackedge(/* unknown args */);
|
||||
extern void pclistinterferencegraphnode(/* unknown args */);
|
||||
extern void pclistinterferencegraph(/* unknown args */);
|
||||
extern void pclistblock_scheduler(/* unknown args */);
|
||||
extern void pclistblocks_start_scheduler(char *str1, char *str2);
|
||||
extern void pclistblocks_end_scheduler(void);
|
||||
extern void pctotalheap(void);
|
||||
extern void pctotalmemory(void);
|
||||
extern void pctotalheap(/* unknown args */);
|
||||
extern void pctotalmemory(/* unknown args */);
|
||||
extern void pcmessage(char *probably_a_string, ...);
|
||||
extern int formatalias(Alias *alias, char *buf, int bufSize);
|
||||
extern int dumpalias(Alias *alias, int len, Boolean flag1, Boolean flag2);
|
||||
extern void pcformatset(void);
|
||||
extern void pcformatset(/* unknown args */);
|
||||
extern int GetLineEndOffset(char *str, int lineNum, int len);
|
||||
extern int GetLineOffset(char *str, int lineNum, int len);
|
||||
extern void DumpSourceCode(void);
|
||||
extern int DumpIR_SrcBreak(void);
|
||||
extern void DumpSourceCode(/* unknown args */);
|
||||
extern int DumpIR_SrcBreak(/* unknown args */);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -187,7 +187,7 @@ typedef struct TemplInstance TemplInstance;
|
||||
typedef struct TemplParam TemplParam;
|
||||
typedef struct TemplPartialSpec TemplPartialSpec;
|
||||
typedef struct TemplStack TemplStack;
|
||||
typedef struct TStream TStream;
|
||||
typedef struct TokenStream TokenStream;
|
||||
typedef struct TStreamElement TStreamElement;
|
||||
typedef struct Type Type;
|
||||
typedef struct TypeBitfield TypeBitfield;
|
||||
|
||||
@@ -188,7 +188,7 @@ struct ObjectTemplated {
|
||||
};
|
||||
|
||||
enum {
|
||||
OBJECT_FLAGS_UNUSED = 1,
|
||||
OBJECT_FLAGS_1 = 1,
|
||||
OBJECT_FLAGS_2 = 2,
|
||||
OBJECT_FLAGS_4 = 4,
|
||||
OBJECT_FLAGS_8 = 8,
|
||||
|
||||
@@ -31,7 +31,7 @@ struct Template {
|
||||
struct TemplateFriend { // verified via CPrec
|
||||
PackedDeclInfo decl;
|
||||
FileOffsetInfo fileoffset;
|
||||
TStream stream;
|
||||
TokenStream stream;
|
||||
};
|
||||
|
||||
struct TemplateMember { // verified via CPrec
|
||||
@@ -39,7 +39,7 @@ struct TemplateMember { // verified via CPrec
|
||||
TemplParam *params;
|
||||
Object *object;
|
||||
FileOffsetInfo fileoffset;
|
||||
TStream stream;
|
||||
TokenStream stream;
|
||||
CPrepFileInfo *srcfile;
|
||||
SInt32 startoffset;
|
||||
SInt32 endoffset;
|
||||
@@ -191,7 +191,7 @@ struct TemplateFunction { // verified via CPrec
|
||||
TemplateFunction *unk4; // parent?
|
||||
HashNameNode *name;
|
||||
TemplParam *params;
|
||||
TStream stream;
|
||||
TokenStream stream;
|
||||
TStreamElement deftoken;
|
||||
Object *tfunc;
|
||||
TemplFuncInstance *instances;
|
||||
|
||||
@@ -7,19 +7,20 @@
|
||||
#pragma options align=mac68k
|
||||
#endif
|
||||
|
||||
#define TKD_OPERATOR 328
|
||||
#define TKD_TEMPLATE 332
|
||||
#define TKD_IDENTIFIER -3
|
||||
#define TKD_COLON_COLON 372
|
||||
|
||||
typedef enum EToken {
|
||||
TK_INTCONST = -1,
|
||||
TK_FLOATCONST = -2,
|
||||
TK_IDENTIFIER = -3,
|
||||
TK_STRING = -4,
|
||||
TK_STRING_WIDE = -5,
|
||||
TK_NEG6 = -6,
|
||||
TK_NEG7 = -7,
|
||||
TK_ILLEGAL = -6,
|
||||
TK_EOL = -7,
|
||||
TK_END = 0,
|
||||
TK_MACRO_ARG_1 = 1,
|
||||
TK_MACRO_ARG_2 = 2,
|
||||
TK_MACRO_ARG_HASH = 3, // #something, followed by the arg index
|
||||
TK_4 = 4,
|
||||
TK_5 = 5,
|
||||
TK_AUTO = 256,
|
||||
TK_REGISTER,
|
||||
TK_STATIC,
|
||||
@@ -180,8 +181,7 @@ struct TStreamElement {
|
||||
TData data;
|
||||
};
|
||||
|
||||
// this is actually called TokenStream
|
||||
struct TStream {
|
||||
struct TokenStream {
|
||||
SInt32 tokens;
|
||||
TStreamElement *firsttoken;
|
||||
};
|
||||
|
||||
@@ -96,7 +96,7 @@ struct StructMember {
|
||||
UInt32 qual;
|
||||
};
|
||||
|
||||
/*enum {
|
||||
enum {
|
||||
STRUCT_TYPE_STRUCT = 0,
|
||||
STRUCT_TYPE_UNION = 1,
|
||||
STRUCT_TYPE_CLASS = 2,
|
||||
@@ -112,22 +112,22 @@ struct StructMember {
|
||||
STRUCT_TYPE_C = 12,
|
||||
STRUCT_TYPE_D = 13,
|
||||
STRUCT_TYPE_E = 14
|
||||
};*/
|
||||
const char STRUCT_TYPE_STRUCT = 0;
|
||||
const char STRUCT_TYPE_UNION = 1;
|
||||
const char STRUCT_TYPE_CLASS = 2;
|
||||
const char STRUCT_TYPE_3 = 3;
|
||||
const char STRUCT_TYPE_4 = 4;
|
||||
const char STRUCT_TYPE_5 = 5;
|
||||
const char STRUCT_TYPE_6 = 6;
|
||||
const char STRUCT_TYPE_7 = 7;
|
||||
const char STRUCT_TYPE_8 = 8;
|
||||
const char STRUCT_TYPE_9 = 9;
|
||||
const char STRUCT_TYPE_A = 10;
|
||||
const char STRUCT_TYPE_B = 11;
|
||||
const char STRUCT_TYPE_C = 12;
|
||||
const char STRUCT_TYPE_D = 13;
|
||||
const char STRUCT_TYPE_E = 14;
|
||||
};
|
||||
//const char STRUCT_TYPE_STRUCT = 0;
|
||||
//const char STRUCT_TYPE_UNION = 1;
|
||||
//const char STRUCT_TYPE_CLASS = 2;
|
||||
//const char STRUCT_TYPE_3 = 3;
|
||||
//const char STRUCT_TYPE_4 = 4;
|
||||
//const char STRUCT_TYPE_5 = 5;
|
||||
//const char STRUCT_TYPE_6 = 6;
|
||||
//const char STRUCT_TYPE_7 = 7;
|
||||
//const char STRUCT_TYPE_8 = 8;
|
||||
//const char STRUCT_TYPE_9 = 9;
|
||||
//const char STRUCT_TYPE_A = 10;
|
||||
//const char STRUCT_TYPE_B = 11;
|
||||
//const char STRUCT_TYPE_C = 12;
|
||||
//const char STRUCT_TYPE_D = 13;
|
||||
//const char STRUCT_TYPE_E = 14;
|
||||
|
||||
|
||||
struct ClassList { // checked via CPrec
|
||||
|
||||
Reference in New Issue
Block a user