Commit Graph

  • 5500833180 Record which anon struct/union an anonymous member field came from. Stephen Heumann 2022-11-25 22:32:59 -0600
  • 3f450bdb80 Support "inline" function definitions without static or extern. Stephen Heumann 2022-11-19 23:02:50 -0600
  • ab368d442a Allow \ as an "other character" preprocessing token. Stephen Heumann 2022-11-08 20:46:48 -0600
  • 9cc72c8845 Support "other character" preprocessing tokens. Stephen Heumann 2022-11-08 18:47:03 -0600
  • d96a5f86f9 Do not force function type info to be in the global pool. Stephen Heumann 2022-11-07 21:41:30 -0600
  • 202ed3b514 Require a declarator after comma in declarations. Stephen Heumann 2022-11-07 20:00:23 -0600
  • de57170ef8 Try to form composite types for extern declarations within blocks. Stephen Heumann 2022-11-07 19:00:35 -0600
  • fa166030fe Allow duplicate typedefs within block scopes (C11). Stephen Heumann 2022-11-06 21:39:58 -0600
  • e168a4d6cb Treat static followed by extern declarations as specifying internal linkage. Stephen Heumann 2022-11-06 21:19:47 -0600
  • 82b2944eb8 Give an error if a function is defined multiple times. Stephen Heumann 2022-11-06 20:54:53 -0600
  • 83147655d2 Revise NewSymbol to more closely align with standards. Stephen Heumann 2022-11-06 20:49:11 -0600
  • d3ba8b5551 Rework handling of scopes created for function declarators. Stephen Heumann 2022-11-05 21:13:44 -0500
  • 986a283540 Simplify some code in DoDeclaration and improve error detection. Stephen Heumann 2022-11-01 22:25:05 -0500
  • 7d6b732d23 Simplify some declaration-processing logic. Stephen Heumann 2022-11-01 18:43:44 -0500
  • 9a7dc23c5d When a symbol is multiply declared, form the composite type. Stephen Heumann 2022-10-30 18:54:40 -0500
  • d4c4d18a55 Remove some unused code. Stephen Heumann 2022-10-30 15:06:28 -0500
  • f31b5ea1e6 Allow "extern inline" functions. Stephen Heumann 2022-10-29 19:27:47 -0500
  • f54d0e1854 Require that main have no function specifiers. Stephen Heumann 2022-10-29 18:36:51 -0500
  • 913052fe7c Add documentation and tests for _Pragma. Stephen Heumann 2022-10-29 16:00:38 -0500
  • e5428b21d2 Do not skip over the character after _Pragma(...). Stephen Heumann 2022-10-29 15:55:44 -0500
  • 4702df9aac Support Unicode strings and some escape sequences in _Pragma. Stephen Heumann 2022-10-25 22:47:22 -0500
  • e63d827049 Do not do macro expansion on preprocessor directive names. Stephen Heumann 2022-10-25 22:40:20 -0500
  • e0b27db652 Do not try to interpret non-identifier tokens as pragma names. Stephen Heumann 2022-10-24 21:05:50 -0500
  • 81353a9f8a Always interpret the digit sequence in #line as decimal. Stephen Heumann 2022-10-22 22:52:15 -0500
  • e3a3548443 Fix line numbering via #line when using a .sym file. Stephen Heumann 2022-10-22 21:56:16 -0500
  • 65ec29ee3e Use 32-bit representation for line numbers. Stephen Heumann 2022-10-22 18:54:46 -0500
  • 760c932fea Initial implementation of _Pragma (C99). Stephen Heumann 2022-10-22 17:08:54 -0500
  • 859aa4a20a Do not enter the editor with a negative file displacement. Stephen Heumann 2022-10-22 12:54:59 -0500
  • 946c6c1d55 Always end preprocessor expression processing at end of line. Stephen Heumann 2022-10-21 18:51:53 -0500
  • bdf212ec6b Remove support for separate . . . as equivalent to a ... token. Stephen Heumann 2022-10-19 18:14:14 -0500
  • 6d8ca42734 Parse the _Thread_local storage-class specifier. Stephen Heumann 2022-10-18 18:43:43 -0500
  • cb5db95476 Do not print "\000" at end of printf/scanf format strings. Stephen Heumann 2022-10-18 18:40:14 -0500
  • 91d33b586d Fix various C99+ conformance issues and bugs in test cases. Stephen Heumann 2022-10-17 17:50:42 -0500
  • b3c30b05d8 Add a specific test for old C89 features that were removed from C99+. Stephen Heumann 2022-10-16 21:27:41 -0500
  • afe40c0f67 Prevent spurious errors about structs containing function pointers. Stephen Heumann 2022-10-16 19:57:14 -0500
  • a864954353 Use "declarator expected" error messages when appropriate. Stephen Heumann 2022-10-16 18:45:06 -0500
  • 99e268e3b9 Implement support for anonymous structures and unions (C11). Stephen Heumann 2022-10-16 17:53:23 -0500
  • 44a1ba5205 Print floating constants with more precision in #pragma expand output. Stephen Heumann 2022-10-15 22:20:22 -0500
  • 83ac0ecebf Add a function to peek at the next character. Stephen Heumann 2022-10-15 21:42:02 -0500
  • 6fadd52fc2 Update release notes to cover fixes to fgets() and gets(). Stephen Heumann 2022-10-15 19:10:46 -0500
  • 5be888a2bd Make stdin/stdout/stderr into macros. Stephen Heumann 2022-10-15 17:10:59 -0500
  • 072f8be6bc Adjust test of missing declarators to cover only cases that are legal. Stephen Heumann 2022-10-13 18:52:18 -0500
  • b8b7dc2c2b Remove code that treats # as an illegal character in most places. Stephen Heumann 2022-10-13 18:12:02 -0500
  • 99a10590b1 Avoid out-of-range branches around asm code using dcl directives. Stephen Heumann 2022-10-13 18:00:16 -0500
  • 19683706cc Do not optimize code from asm statements. Stephen Heumann 2022-10-12 22:03:37 -0500
  • 12a2e14b6d Follow up peephole optimizations that may enable more optimizations. Stephen Heumann 2022-10-12 19:14:13 -0500
  • ca21e33ba7 Generate more efficient code for indirect function calls. Stephen Heumann 2022-10-11 21:14:40 -0500
  • 4fe9c90942 Parse ... as a single punctuator token. Stephen Heumann 2022-10-10 18:06:01 -0500
  • f263066f61 Give an error for declarations that do not declare anything. Stephen Heumann 2022-10-06 20:42:11 -0500
  • 995ded07a5 Always treat "struct T;" as declaring the tag within the current scope. Stephen Heumann 2022-10-04 18:45:11 -0500
  • 3cea478e5e Clarify a comment. Stephen Heumann 2022-10-02 22:05:05 -0500
  • 53baef0fb3 Make isPascal variable local to DoDeclaration. Stephen Heumann 2022-10-02 22:04:46 -0500
  • 1fa3ec8fdd Eliminate global variables for declaration specifiers. Stephen Heumann 2022-10-01 21:28:16 -0500
  • 05ecf5eef3 Add option to use the declared type for float/double/comp params. Stephen Heumann 2022-09-18 21:10:13 -0500
  • 4e76f62b0e Allow additional letters in identifiers. Stephen Heumann 2022-08-01 19:59:49 -0500
  • 95ad02f0b9 Detect various errors in macro definitions. Stephen Heumann 2022-07-28 20:49:22 -0500
  • 711549392c Update displayed version number to mark this as a development version. Stephen Heumann 2022-07-25 18:33:32 -0500
  • 2f75f47140 Update ORCA/C version number to 2.2.0 B6. orcac-220b6 Stephen Heumann 2022-07-19 20:38:31 -0500
  • 1177ddc172 Tweak release notes. Stephen Heumann 2022-07-19 20:38:13 -0500
  • 6e3fca8b82 Implement strict type checking for enum types. Stephen Heumann 2022-07-18 21:55:07 -0500
  • d576f19ede Remove trailing whitespace in release notes. Stephen Heumann 2022-07-18 21:45:55 -0500
  • 6d07043783 Do not treat uses of enum types from outer scopes as redeclarations. Stephen Heumann 2022-07-18 21:34:29 -0500
  • fd54fd70d0 Remove some unnecessary/duplicate code. Stephen Heumann 2022-07-18 21:19:44 -0500
  • 60efb4d882 Generate better code for indexed jumps. Stephen Heumann 2022-07-18 21:18:26 -0500
  • c36bf9bf0a Ignore storage class when creating enum tag symbols. Stephen Heumann 2022-07-18 18:37:26 -0500
  • 2cbcdc736c Allow the same identifier to be used as a typedef and an enum tag. Stephen Heumann 2022-07-18 18:33:54 -0500
  • bdf8ed4f29 Simplify some code. Stephen Heumann 2022-07-17 18:15:29 -0500
  • 6bfd491f2a Update release notes. Stephen Heumann 2022-07-14 18:40:59 -0500
  • 6934c8890d Detect several cases of inappropriate operand types being used with ++ or --. Stephen Heumann 2022-07-12 18:35:52 -0500
  • 63d33b47bf Generate valid code for "dereferencing" pointers to void. Stephen Heumann 2022-07-12 18:34:58 -0500
  • 417fd1ad9c Generate better code for && and ||. Stephen Heumann 2022-07-11 21:16:18 -0500
  • 312a3a09b9 Generate better code for long long >= comparisons. Stephen Heumann 2022-07-11 19:20:55 -0500
  • 687a5eaa45 Generate better code for pc_not on boolean operands. Stephen Heumann 2022-07-11 18:54:39 -0500
  • b5b76b624c Use pei rather than load+push in a few places. Stephen Heumann 2022-07-11 18:42:14 -0500
  • 607211d38e Rearrange some labels to facilitate branch-shortening optimization. Stephen Heumann 2022-07-11 18:39:00 -0500
  • 23b870908e Recognize pc_not as a boolean operation for purposes of optimizations. Stephen Heumann 2022-07-11 18:36:10 -0500
  • 753c9b9f20 Adjust the way FE_DFL_ENV is defined. Stephen Heumann 2022-07-11 18:30:37 -0500
  • c3567c81a4 Correct comments. Stephen Heumann 2022-07-11 18:23:36 -0500
  • 9b31e7f72a Improve code generation for comparisons. Stephen Heumann 2022-07-10 22:26:59 -0500
  • 7b0dda5a5e Fix a flawed optimization. Stephen Heumann 2022-07-10 22:03:30 -0500
  • 76e4b1f038 Optimize away some tax/tay instructions used only to set flags. Stephen Heumann 2022-07-10 17:35:56 -0500
  • bf40e861aa Fix indentation. Stephen Heumann 2022-07-10 13:12:10 -0500
  • 2dff68e6ae Eliminate an unnecessary instruction in quad-to-word conversion. Stephen Heumann 2022-07-09 21:48:56 -0500
  • 4470626ade Optimize division/remainder by various constants. Stephen Heumann 2022-07-09 15:05:47 -0500
  • 054719aab2 Fix bug in code generation for the product of two constants. Stephen Heumann 2022-07-09 15:01:25 -0500
  • 00e7fe7125 Increase some size limits. Stephen Heumann 2022-07-08 21:30:14 -0500
  • f0d827eade Generate more efficient code for certain subtractions. Stephen Heumann 2022-07-07 18:38:41 -0500
  • 7898c619c8 Fix several cases where a condition might not be evaluated correctly. Stephen Heumann 2022-07-07 18:26:15 -0500
  • 393b7304a0 Optimize 16-bit multiplication by various constants. Stephen Heumann 2022-07-06 22:24:54 -0500
  • 497e5c036b Use new 16-bit unsigned multiply routine that complies with C standards. Stephen Heumann 2022-07-06 22:22:02 -0500
  • 11a3195c49 Use properly result type for statically evaluated ternary operators. Stephen Heumann 2022-07-04 22:30:25 -0500
  • f5d5b88002 Correct result strings in a couple tests. Stephen Heumann 2022-07-04 22:29:15 -0500
  • f6fedea288 Update release notes and header to reflect recent stdio fixes. Stephen Heumann 2022-07-04 22:28:45 -0500
  • 06bf0c5f46 Remove macro definition of rewind() which does not clear the IO error indicator. Stephen Heumann 2022-06-24 18:32:08 -0500
  • c987f240c6 Optimize out ? : operations with constant conditions. Stephen Heumann 2022-06-24 18:23:29 -0500
  • 102d6873a3 Fix type checking and result type computation for ? : operator. Stephen Heumann 2022-06-23 22:04:03 -0500
  • 15dc3a46c4 Allow casts between long long and pointer types. Stephen Heumann 2022-06-20 21:55:54 -0500
  • 5e20e02d06 Add a function to make a pointer type. Stephen Heumann 2022-06-19 17:55:08 -0500
  • e5501dc902 Update test for maximum length of string constants. Stephen Heumann 2022-06-18 22:03:22 -0500
  • 58849607a1 Use cgPointerSize for size of pointers in various places. Stephen Heumann 2022-06-18 19:30:20 -0500