-
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