Commit Graph

  • daede21819 Fix bug with assembly-language functions that return structs/unions. Stephen Heumann 2021-10-19 18:12:46 -0500
  • f567d60429 Allow bit-fields in unions. Stephen Heumann 2021-10-18 21:48:18 -0500
  • 692ebaba85 Structs or arrays may not contain structs with a flexible array member. Stephen Heumann 2021-10-17 22:22:42 -0500
  • ad5063a9a3 Support hexadecimal floating-point constants. Stephen Heumann 2021-10-17 18:19:29 -0500
  • ba944e5675 Support allocations up to 32767 bytes in the pool-based allocator. Stephen Heumann 2021-10-11 22:22:24 -0500
  • a888206111 Simplify address calculation for auto initializers. Stephen Heumann 2021-10-11 22:10:38 -0500
  • 5871820e0c Support UTF-8/16/32 string literals and character constants (C11). Stephen Heumann 2021-10-11 20:54:37 -0500
  • 222c34a385 Fix bug in initialization using string literals with embedded nulls. Stephen Heumann 2021-10-11 19:55:09 -0500
  • b076f85149 Avoid possible stack overflow when merging adjacent string literals. Stephen Heumann 2021-10-11 18:55:10 -0500
  • 27be3e26ae Update release notes. Stephen Heumann 2021-10-11 18:51:17 -0500
  • 020f5ca5b2 Add documentation of <uchar.h> functions. Stephen Heumann 2021-10-02 22:40:31 -0500
  • cc8e003860 Add <uchar.h> header. Stephen Heumann 2021-10-02 22:39:52 -0500
  • bf2c1f2266 Add EILSEQ errno value. Stephen Heumann 2021-10-02 14:38:15 -0500
  • 47478604af Add documentation for new functions. Stephen Heumann 2021-10-02 13:57:15 -0500
  • 8ab065411f Add header declarations for strcoll, strxfrm, and mblen. Stephen Heumann 2021-09-30 18:41:17 -0500
  • 02790c11e3 Add <locale.h> header. Stephen Heumann 2021-09-30 18:40:39 -0500
  • 38dc91892b Add header declaration and documentation for strftime. Stephen Heumann 2021-09-26 21:29:47 -0500
  • 1b9955bf8b Allow access to fields from all struct-typed expressions. Stephen Heumann 2021-09-17 22:04:10 -0500
  • 650ff4697f Update release notes to include a bug fix in ORCALib. Stephen Heumann 2021-09-17 19:28:21 -0500
  • 7ae830ae7e Initial support for compound literals. Stephen Heumann 2021-09-15 22:22:16 -0500
  • 3c3697535e Move two functions out of the blank segment. Stephen Heumann 2021-09-15 19:24:55 -0500
  • 851d7d0787 Update displayed version number to mark this as a development version. Stephen Heumann 2021-09-15 18:34:27 -0500
  • 617c46095d Update ORCA/C version number to 2.2.0 B5. orcac-220b5 Stephen Heumann 2021-09-12 18:12:36 -0500
  • 8077a248a4 Treat short and int as compatible if using loose type checks. Stephen Heumann 2021-09-12 15:25:01 -0500
  • 894baac94f Give an error if assigning to a whole struct or union that has a const member. Stephen Heumann 2021-09-11 18:12:58 -0500
  • 7848e50218 Implement stricter type checks for comparisons. Stephen Heumann 2021-09-10 21:00:23 -0500
  • 2614f10ced Make the actual return type of a function be the unqualified version of the type specified. Stephen Heumann 2021-09-10 18:09:50 -0500
  • af455d1900 If not doing loose type checks, use stricter checks for function types. Stephen Heumann 2021-09-10 18:04:30 -0500
  • a8682e28d3 Give an error for pointer assignments that discard qualifiers. Stephen Heumann 2021-09-09 21:39:29 -0500
  • 2f7e71cd24 Treat the fields of const structs as const-qualified. Stephen Heumann 2021-09-09 18:39:19 -0500
  • 99f5e2fc87 Avoid leaking memory when processing _Generic expressions. Stephen Heumann 2021-09-07 19:30:57 -0500
  • 9c04b94093 Allow invalid escape sequences and UCN-like sequences in skipped code. Stephen Heumann 2021-09-06 20:37:17 -0500
  • 438942692a Make va_arg(ap,double) work correctly. Stephen Heumann 2021-09-03 21:25:20 -0500
  • 92f1344a6e Add <fenv.h> to test of including all headers. Stephen Heumann 2021-09-03 21:20:27 -0500
  • beb0d010c2 Do not optimize away integer to floating point conversions. Stephen Heumann 2021-09-03 21:08:27 -0500
  • da6898214f Fix several tests affected by our new handling of floating-point constants. Stephen Heumann 2021-09-03 18:16:34 -0500
  • d72c0fb9a5 Fix bug in some cases where a byte value is loaded and then stored as a word. Stephen Heumann 2021-09-03 18:10:27 -0500
  • 3375e5ccc8 Update release notes. Stephen Heumann 2021-09-02 18:04:14 -0500
  • ea461dba7b Give clearer error messages for errors in the command line. Stephen Heumann 2021-08-31 19:23:10 -0500
  • b8c332deeb Treat invalid escape sequences as errors. Stephen Heumann 2021-08-31 18:36:06 -0500
  • 00cc05a6a1 Move type qualifiers from array types to their element types. Stephen Heumann 2021-08-30 18:30:05 -0500
  • b16210a50b Record volatile and restrict qualifiers in types. Stephen Heumann 2021-08-29 21:10:20 -0500
  • 586e3f9146 Document that toint() is a non-standard extension. Stephen Heumann 2021-08-26 22:27:08 -0500
  • 08dbe1eea3 Include the function name in assertion failure messages. Stephen Heumann 2021-08-24 18:35:01 -0500
  • aa5b239824 Make CLOCKS_PER_SEC and CLK_TCK work in 50Hz video mode. Stephen Heumann 2021-08-23 21:58:19 -0500
  • 2b9d332580 Give an appropriate error for an illegal operator in a constant expression. Stephen Heumann 2021-08-22 20:33:34 -0500
  • e4515e580a Omit all non-standard stuff from <ctype.h> if __KeepNamespacePure__ is defined. Stephen Heumann 2021-08-22 15:29:12 -0500
  • bb51e77193 Make MB_CUR_MAX have type size_t, as C99 and later require. Stephen Heumann 2021-08-22 15:14:29 -0500
  • d5f1987dc4 Small updates to release notes. Stephen Heumann 2021-08-22 15:12:16 -0500
  • 5faf219eff Update comments about pragma flags. Stephen Heumann 2021-08-22 15:10:26 -0500
  • 6ead1d4caf Add a set of new tests for C95/C99/C11 features that we now support. Stephen Heumann 2021-08-22 15:03:54 -0500
  • 40f560039d Consistently use upper-case filenames for existing test cases. Stephen Heumann 2021-07-09 19:43:57 -0500
  • fbdbad1f45 Report an error for certain large unsigned enumeration constants. Stephen Heumann 2021-07-07 20:06:05 -0500
  • ae45bd4538 Update release notes. Stephen Heumann 2021-07-06 18:41:40 -0500
  • debd0ccffc Always allow the middle expression of a ? : expression to use the comma operator. Stephen Heumann 2021-03-16 18:20:22 -0500
  • 03f267ac02 Write out long long constants when using #pragma expand. Stephen Heumann 2021-03-11 23:20:14 -0600
  • dae27757d3 As of C11, errno must be a macro, so make it one. Stephen Heumann 2021-03-11 21:16:41 -0600
  • 9cd2807bc8 Do not leave behind detritus from the spinner when using #pragma expand. Stephen Heumann 2021-03-11 19:01:38 -0600
  • c95d8d9f9b Optimize away unneeded floating-point conversions after loads. Stephen Heumann 2021-03-10 18:48:58 -0600
  • 031af54112 Save the original value when doing postfix ++/-- on fp types. Stephen Heumann 2021-03-09 18:54:31 -0600
  • db7a0a995d Update release notes with discussion of new floating-point features. Stephen Heumann 2021-03-09 18:01:30 -0600
  • 4381b97f86 Report an error if a type name is missing in a _Generic expression. Stephen Heumann 2021-03-09 17:45:49 -0600
  • 8fd091e119 Implement the signbit() macro. Stephen Heumann 2021-03-09 00:23:27 -0600
  • a3006e46b1 Add more floating-point classification macros. Stephen Heumann 2021-03-09 00:08:04 -0600
  • 17a7fc5487 Add fpclassify() macro and some other stuff from C99 to <math.h>. Stephen Heumann 2021-03-08 23:42:44 -0600
  • cad042b95b Add new <float.h> macros from C99 and C11. Stephen Heumann 2021-03-08 19:16:28 -0600
  • 0ba8e4adb0 Update the limit values in <float.h>. Stephen Heumann 2021-03-08 18:32:33 -0600
  • 57d11a573d Document _Generic expressions in the release notes. Stephen Heumann 2021-03-08 00:21:31 -0600
  • f2414cd815 Create a new function that checks for compatible types strictly according to the C standards. Stephen Heumann 2021-03-07 23:39:30 -0600
  • 2de8ac993e Fix to make _Generic handle struct types properly. Stephen Heumann 2021-03-07 23:35:12 -0600
  • bccd86a627 Implement _Generic expressions (from C11). Stephen Heumann 2021-03-07 21:59:23 -0600
  • 2b7e72ac49 Document <fenv.h> and standard pragmas in the release notes. Stephen Heumann 2021-03-07 15:04:42 -0600
  • 979852be3c Use the right types for constants cast to character types. Stephen Heumann 2021-03-07 13:38:21 -0600
  • 8f8e7f12e2 Distinguish the different types of floating-point constants. Stephen Heumann 2021-03-07 00:48:51 -0600
  • 41623529d7 Keep track of semantic type of floating-point expressions. Stephen Heumann 2021-03-06 23:54:55 -0600
  • cf9add4720 Clean up code generated by real negation optimization. Stephen Heumann 2021-03-06 23:16:00 -0600
  • acddd93ffb Avoid a precision reduction in some cases where it is not needed. Stephen Heumann 2021-03-06 23:14:29 -0600
  • fc515108f4 Make floating-point casts reduce the range and precision of numbers. Stephen Heumann 2021-03-06 22:28:39 -0600
  • 92048171ef Update definition of FLT_ROUNDS to reflect the dynamic rounding mode. Stephen Heumann 2021-03-06 16:40:35 -0600
  • 2630b51b74 Add the <fenv.h> header. Stephen Heumann 2021-03-06 16:31:52 -0600
  • f368071146 Do some more checks for invalid sym files. Stephen Heumann 2021-03-06 15:02:51 -0600
  • f9f79983f8 Implement the standard pragmas, in particular FENV_ACCESS. Stephen Heumann 2021-03-06 00:57:13 -0600
  • c0727315e0 Recognize byte swapping and generate an xba instruction for it. Stephen Heumann 2021-03-05 21:59:18 -0600
  • 95f5182442 Change copies to stores when the value is unused. Stephen Heumann 2021-03-05 19:44:38 -0600
  • 4a7e994da8 Eliminate extra precision when doing floating-point assignments. Stephen Heumann 2021-03-05 19:21:54 -0600
  • 4ad7a65de6 Process floating-point values within the compiler using the extended type. Stephen Heumann 2021-03-04 23:52:41 -0600
  • 77d66ab699 Support the predefined identifier __func__ (from C99). Stephen Heumann 2021-03-02 20:01:32 -0600
  • f19d21365a Recognize more indirect long instructions in the native code optimizer. Stephen Heumann 2021-03-02 19:19:00 -0600
  • dcbeb3bc61 Optimize unsigned comparisons with 0. Stephen Heumann 2021-03-01 22:12:38 -0600
  • da715ae854 Fix a buggy test case. Stephen Heumann 2021-02-28 14:39:19 -0600
  • b39dd0f34c ||, &&, ==, and != ops were clobbering the upper 32-bits before comparing them. Kelvin Sherlock 2021-03-01 18:13:16 -0500
  • fa717745ad Update installation instructions. Stephen Heumann 2021-02-27 19:09:21 -0600
  • e226bba4c1 Update release notes. Stephen Heumann 2021-02-26 19:54:22 -0600
  • a44840718e Merge branch 'longlong' Stephen Heumann 2021-02-26 19:48:08 -0600
  • 21f8876f50 In PP expressions, make sure identifiers turn into 0LL. Stephen Heumann 2021-02-25 21:42:54 -0600
  • 36d31ab37c Optimize quad == 0 comparisons. Stephen Heumann 2021-02-25 21:40:32 -0600
  • 5c92a8a0d3 Do unsigned quad inequalities without loading operands on stack. Stephen Heumann 2021-02-25 20:18:59 -0600
  • c5c401d229 Do quad equality comparisons without loading operands on stack. Stephen Heumann 2021-02-25 20:03:13 -0600
  • f1c19d2940 Do unary quad ops without loading operand on stack. Stephen Heumann 2021-02-25 19:28:36 -0600
  • 0b56689626 Do quad add/subtract without loading operands on stack. Stephen Heumann 2021-02-25 18:26:26 -0600