Commit Graph

  • 85890e0b6b Give an error if assembly code tries to use direct page addressing for a local variable that is out of range. Stephen Heumann 2023-03-04 21:06:07 -0600
  • a985a9ca7a Simplify code generation for function parameters. Stephen Heumann 2023-03-01 22:20:33 -0600
  • ea623d38fc Avoid incorrectly setting lastwasconst. Stephen Heumann 2023-02-28 22:36:42 -0600
  • bda54c0a79 Document qsort fixes. Stephen Heumann 2023-02-15 22:05:24 -0600
  • cff8144c88 Do not do format checking on static functions. Stephen Heumann 2023-02-12 19:19:28 -0600
  • a6ef872513 Add debugging option to detect illegal use of null pointers. Stephen Heumann 2023-02-12 18:56:02 -0600
  • a32ddedc0c Add constants in tool headers for System 6.0.1 functionality. Stephen Heumann 2023-01-27 21:49:43 -0600
  • 6b39cea80d Add missing SysBeep2 constants for System 6.0.1 (Programmer's Reference for System 6.0.1 page 13) Kelvin Sherlock 2023-01-27 08:57:47 -0500
  • e557aca966 Add missing SysBeep2 constants for System 6.0.1 (Programmer's Reference for System 6.0.1 page 13) Kelvin Sherlock 2023-01-27 08:57:47 -0500
  • 4b9824d5d6 Remove an unused function. Stephen Heumann 2023-01-22 13:19:06 -0600
  • 40260bb8a0 Remove an unnecessary instruction from stack check code. Stephen Heumann 2023-01-14 19:09:45 -0600
  • 03fc7a43b9 Give an error for expressions with incomplete struct/union types. Stephen Heumann 2023-01-09 21:58:05 -0600
  • 61a2cd1e5e Consistently report "compiler error" for unrecognized error codes. Stephen Heumann 2023-01-09 18:46:33 -0600
  • 2958619726 Fix varargs stack repair. Stephen Heumann 2023-01-08 15:15:32 -0600
  • 74b9885572 Fix and simplify handling of pascal qualifiers. Stephen Heumann 2023-01-07 17:17:16 -0600
  • 4d1a8caf8a Do not check for functions not returning a value if pc_rev is used. Stephen Heumann 2023-01-06 22:43:23 -0600
  • cb6173557e Add tests for <time.h> functions. Stephen Heumann 2023-01-05 20:46:59 -0600
  • 34c1564dc4 Do not declare gets() in strict C11/C17 modes. Stephen Heumann 2023-01-05 17:25:25 -0600
  • 245dd0a3f4 Add lint check for implicit conversions that change a constant's value. Stephen Heumann 2023-01-03 18:56:46 -0600
  • 9f36e99194 Document __useTimeTool and add a declaration for it. Stephen Heumann 2023-01-02 18:10:41 -0600
  • 5476118951 Add documentation and headers for timespec_get. Stephen Heumann 2023-01-01 21:46:19 -0600
  • 59664df9d9 Document <time.h> bug fixes. Stephen Heumann 2023-01-01 21:44:02 -0600
  • f7a139b4b5 Document use of Time Tool Set by gmtime and strftime. Stephen Heumann 2022-12-28 19:57:19 -0600
  • 7d3f1c8dd7 Add headers, documentation, and tests for tgamma(). Stephen Heumann 2022-12-24 20:21:31 -0600
  • a87aeef25b Ensure native peephole opt uses a jump table. Stephen Heumann 2022-12-20 20:31:24 -0600
  • cf9f19c93d Optimize LDA+TAY to LDY (when A is unused after). Stephen Heumann 2022-12-20 20:21:25 -0600
  • 854a6779a9 Generate even better code for constant returns. Stephen Heumann 2022-12-19 21:18:41 -0600
  • e910eda623 Apply return optimization to struct/union return types. Stephen Heumann 2022-12-19 20:49:25 -0600
  • 030f3ff9e1 Apply return optimization to enum and pointer return types. Stephen Heumann 2022-12-19 20:03:13 -0600
  • d68e0b268f Generate more efficient code for a single return at end of function. Stephen Heumann 2022-12-19 18:52:46 -0600
  • 265a16d2f5 Add headers, documentation, and tests for erf() and erfc(). Stephen Heumann 2022-12-17 22:26:59 -0600
  • 53fcb84352 Allocate staticNum prefixes only for scopes that have statics. Stephen Heumann 2022-12-13 22:17:25 -0600
  • a7551d8c44 Optimize unused variable checks to only run on scopes with variables. Stephen Heumann 2022-12-13 21:34:24 -0600
  • 09fbfb1905 Maintain a pool of empty symbol tables that can be reused. Stephen Heumann 2022-12-13 21:05:55 -0600
  • 705c9d36a2 Count variables referenced in assembly code as used. Stephen Heumann 2022-12-13 19:04:18 -0600
  • 4bc486eade Do not require unused static functions to be defined. Stephen Heumann 2022-12-12 22:07:01 -0600
  • fe62f70d51 Add lint option to check for unused variables. Stephen Heumann 2022-12-12 21:47:32 -0600
  • 44499bdddb Make root files jump to the shutdown code rather than calling it. Stephen Heumann 2022-12-11 22:14:09 -0600
  • 17936a14ed Rework root file code for CDevs to avoid leaking user IDs. Stephen Heumann 2022-12-11 22:01:29 -0600
  • ecca7a7737 Never make the segment in the root file dynamic. Stephen Heumann 2022-12-11 14:46:38 -0600
  • 1754607908 Add native peephole opts for stack repair code. Stephen Heumann 2022-12-10 21:56:16 -0600
  • 32975b720f Allow native code peephole opt to be used when stack repair is enabled. Stephen Heumann 2022-12-10 20:32:53 -0600
  • 7364e2d2d3 Fix issue with native code optimization of TYA+STA. Stephen Heumann 2022-12-10 18:59:03 -0600
  • e71fe5d785 Treat unary + as an actual operator, not a no-op. Stephen Heumann 2022-12-09 19:03:38 -0600
  • f027286b6a Do not generate varargs stack repair code if no variable args are passed. Stephen Heumann 2022-12-08 19:27:37 -0600
  • 6ba6ad549f Change va_start to not depend on the last fixed argument. Stephen Heumann 2022-12-08 19:15:53 -0600
  • fb5a2fcf33 Generate more efficient code for shifts by 13, 14, or 15 bits. Stephen Heumann 2022-12-07 21:36:40 -0600
  • bb1bd176f4 Add a command-line option to select the C standard to use. Stephen Heumann 2022-12-07 21:35:15 -0600
  • 6857913daa Make the object buffer dynamically resizable. Stephen Heumann 2022-12-06 21:49:20 -0600
  • 389f60ed27 Remove segStart variable. Stephen Heumann 2022-12-06 19:39:10 -0600
  • 8aedd42294 Optimize out TDC following TCD. Stephen Heumann 2022-12-05 18:02:23 -0600
  • a7d9d3039b Initialize arrays from strings with a pc_mov operation. Stephen Heumann 2022-12-05 18:00:56 -0600
  • 0c4660d5fc Generate better code for pc_mov in some cases. Stephen Heumann 2022-12-05 17:58:30 -0600
  • 8e1db102eb Allow line continuations within // comments. Stephen Heumann 2022-12-04 23:15:22 -0600
  • facd1bf992 Add parentheses around negative values in float.h. Stephen Heumann 2022-12-04 22:44:48 -0600
  • c06d78bb5e Add __STDC_VERSION__ macro. Stephen Heumann 2022-12-04 22:18:50 -0600
  • 2550081517 Fix bug with 4-byte comparisons against globals in large memory model. Stephen Heumann 2022-12-04 21:54:29 -0600
  • 935bb6c04e Merge branch 'designated-initializers' Stephen Heumann 2022-12-04 21:28:15 -0600
  • f5f63563c6 Add tests for designated initializers. Stephen Heumann 2022-12-04 21:26:40 -0600
  • 736e7575cf Fix issues with type conversions in static initialization. Stephen Heumann 2022-12-04 16:36:16 -0600
  • 36c70f9107 Move ResolveForwardReference call to apply to the field being initialized. Stephen Heumann 2022-12-04 16:23:33 -0600
  • 20770f388e Move memory allocation code to a new function in MM. Stephen Heumann 2022-12-03 18:50:26 -0600
  • 7c0492cfa4 Document designated initializers in the release notes. Stephen Heumann 2022-12-03 18:04:50 -0600
  • 945d5ce855 Generate calls to ~ZERO to initialize large numbers of zero bytes. Stephen Heumann 2022-12-03 15:30:31 -0600
  • d56cf7e666 Pass constant data to backend as pointers into buffer. Stephen Heumann 2022-12-03 00:14:15 -0600
  • 28e119afb1 Rework static initialization to support new-style initializer records. Stephen Heumann 2022-12-02 21:55:57 -0600
  • 48efd462ef Allow designated initialization of fields named the same as typedefs. Stephen Heumann 2022-12-01 14:09:03 -0600
  • 8ad58b0de7 Report an error for dual commas at end of struct/union initializer. Stephen Heumann 2022-11-30 19:07:38 -0600
  • c1a188aa95 Add some comments in initialization code. Stephen Heumann 2022-11-30 18:55:43 -0600
  • 51951721c5 Simplify Fill procedure. Stephen Heumann 2022-11-30 18:37:28 -0600
  • 94584b0f05 Give error for arrays that are still 0 size after initialization. Stephen Heumann 2022-11-30 17:57:21 -0600
  • e7940db4c8 Allow initializers where a string literal begins a longer expression. Stephen Heumann 2022-11-29 21:15:42 -0600
  • 1f468c437f Set errorFound to true for most errors during initialization. Stephen Heumann 2022-11-29 13:20:30 -0600
  • ac741e26ab Allow nested auto structs/unions to be initialized with an expression of the same type. Stephen Heumann 2022-11-29 13:19:59 -0600
  • c58d84689a Explicitly set disp for every array element. Stephen Heumann 2022-11-28 22:11:24 -0600
  • 4a8b5b25c7 Use a variable to indicate storage duration for initialization. Stephen Heumann 2022-11-28 21:59:08 -0600
  • 50e3a8ea30 Avoid dereferencing nil. Stephen Heumann 2022-11-28 21:44:30 -0600
  • bde70e0885 Simplify fill-with-zeros logic. Stephen Heumann 2022-11-28 21:40:26 -0600
  • dc305a86b2 Add flag to suppress printing of put-back tokens with #pragma expand. Stephen Heumann 2022-11-28 21:22:56 -0600
  • 39250629bd Support designated initialization of anonymous member fields. Stephen Heumann 2022-11-28 20:55:47 -0600
  • 4621336c3b Give anonymous structs/unions unique internal names. Stephen Heumann 2022-11-28 20:14:30 -0600
  • a3c4eeb8f6 Rework bit-field initialization. Stephen Heumann 2022-11-28 18:49:49 -0600
  • adfa7c04c1 Support for filling uninitialized data in structs/unions during initialization. Stephen Heumann 2022-11-28 18:45:58 -0600
  • c261e14d56 Basic support for mixing array and struct designators. Stephen Heumann 2022-11-27 23:54:24 -0600
  • 250a6361c1 Basic code to handle struct/union designators. Stephen Heumann 2022-11-27 23:20:52 -0600
  • def9e56e8e Fill logic for when to fill uninitialized data with zeros. Stephen Heumann 2022-11-27 17:30:36 -0600
  • 6260a27b11 Use 16-bit operations to zero out a range of bytes. Stephen Heumann 2022-11-27 16:49:43 -0600
  • 58d8edf1ee Handle filling of array elements without explicit initializers. Stephen Heumann 2022-11-27 16:48:58 -0600
  • aa6b82a136 Ensure array designators are processed at the level with braces. Stephen Heumann 2022-11-26 23:03:20 -0600
  • 5df94c953e Fix handling of initializer counts in AutoInit. Stephen Heumann 2022-11-26 21:09:53 -0600
  • 335e8be75e Rename the procedure for initializing one element of an auto variable. Stephen Heumann 2022-11-26 20:37:13 -0600
  • 5f8a6baa94 Get rid of an unnecessary field in initializer records. Stephen Heumann 2022-11-26 20:29:31 -0600
  • 968844fb38 Make auto initialization use the type and disp in initializer record. Stephen Heumann 2022-11-26 20:24:33 -0600
  • d1edc8821d Record the type being initialized in auto initializer records. Stephen Heumann 2022-11-26 19:58:01 -0600
  • cd9931a60c Record displacement from start of object in initializer records. Stephen Heumann 2022-11-26 19:27:17 -0600
  • 8cfc14b50a Rename itype field of initializerRecord to basetype. Stephen Heumann 2022-11-26 15:45:26 -0600
  • b6d3dfb075 Designated initializers for arrays, part 1. Stephen Heumann 2022-11-26 15:22:58 -0600
  • 740468f75c Avoid generating invalid .sym files if header ends with a partial prototyped function decl. Stephen Heumann 2022-11-26 14:20:58 -0600
  • 2bf3862e5d Avoid generating invalid .sym files if header ends with a partial declaration. Stephen Heumann 2022-11-26 00:18:57 -0600
  • 92a3af1d5f Fix icp/isp tables to account for otherch. Stephen Heumann 2022-11-25 23:25:58 -0600