Made sure a variable is always initialized and removed some trailing whitespace. (details)
Order of evaluation between arguments of a function is not left-to-right. Or right-to-left for that matter, it is unordred. (details)
Removed SizeofExpr::expr and AlignofExpr::expr, expressions that would be stored there are wrapped in TypeofType and stored in the type field. Some special cases to hide the typeof in code generation were added. In addition, initializer length is calculated in more cases so that the full type of more arrays is known sooner. Other than that, most of the code changes were just stripping out the conditional code and checks no longer needed. Some tests had to be updated, because the typeof is not hidden in dumps and the resolver replaces known typeof expressions with the type. The __extension__ case caused some concern but it appears that just hides warnings in the expression which no longer exists. (details)
Removed some unneeded code that could have gone last commit. (details)
Update 'fork+exec' test utility to be valid also in C and C++. (details)
Add EOF test coverage for string reading. (details)
Fix fork+exec missed case / broken build (details)
Parse string literals to get their length, taking into account escape sequences. Getting this from the lexer would avoid redundent work, but that is not set up. This corrects some typeof evaluations which lead to incorrect sizeof expressions. (details)
Commit
b6f2e7abcc170946c8758bcf25e0848b57d5f213
by ajbeach
Removed SizeofExpr::expr and AlignofExpr::expr, expressions that would be stored there are wrapped in TypeofType and stored in the type field. Some special cases to hide the typeof in code generation were added. In addition, initializer length is calculated in more cases so that the full type of more arrays is known sooner. Other than that, most of the code changes were just stripping out the conditional code and checks no longer needed. Some tests had to be updated, because the typeof is not hidden in dumps and the resolver replaces known typeof expressions with the type. The __extension__ case caused some concern but it appears that just hides warnings in the expression which no longer exists.
Commit
20c2ade36d93f0d05a94f6db2b02137d0c9c482a
by ajbeach
Parse string literals to get their length, taking into account escape sequences. Getting this from the lexer would avoid redundent work, but that is not set up. This corrects some typeof evaluations which lead to incorrect sizeof expressions.
remove spurious push/pop from grammar contexts where type declarations are not allowed (details)
Implemented special case of sizeof/alignof, where reference types are ignored for these operations. (details)
add missing #ifdef to handle systems without io_uring (details)
modify time test to deal with unfreed storage from putenv/tzset (details)
preclude aggregate/enumeration type declaration in trait body (details)
After a years (or at least half a year) the CodeLocation optimization is merged in. Added Symbol (using Racket's name for interned strings), and used it for CodeLocation file names. The optimizes for the high number of copies - both instances with the same value and copy operations - and consistently brings down runtime by a few percent. (details)
added a few sentences and corrected spelling mistakes (details)
Added a check to make sure that optional parameters to not appear on function types not attached to function declarations. (details)
first attempt changing end-of-file to an exception (details)
Made heap pass the invariant check. We should be able to enable invariants on the standard library. Also added the reproductions for new trac trickets. (details)
update error message for parameter default-initialization in function-pointer declarations (details)
Changed the interpritation of () to be no parameters instead of any parameters. This had a lot of little changes because of this and some nearby clean-up. This includes some changes, including changing some generated functions to be fixed-args instead of variable-args, stripping out the place holder void parameter earlier, but it still shows up earlier in some cases that examine the parser directly. Also had to update the function generation tools. Have only tested with one --arch. Hopefully this all works out. (details)
correct check for EOF when reading character strings (details)
fix quotations from C++ reference manual (details)
Added checks for (and a test to check the checks) assertions we will not be able to adapt. Using an adapted version of Mike's error message. (details)
change exception throw to use copy constructor rather than assignment to initialize exception instance (details)
Made sure a variable is always initialized and removed some trailing whitespace. (details)
Order of evaluation between arguments of a function is not left-to-right. Or right-to-left for that matter, it is unordred. (details)
Removed SizeofExpr::expr and AlignofExpr::expr, expressions that would be stored there are wrapped in TypeofType and stored in the type field. Some special cases to hide the typeof in code generation were added. In addition, initializer length is calculated in more cases so that the full type of more arrays is known sooner. Other than that, most of the code changes were just stripping out the conditional code and checks no longer needed. Some tests had to be updated, because the typeof is not hidden in dumps and the resolver replaces known typeof expressions with the type. The __extension__ case caused some concern but it appears that just hides warnings in the expression which no longer exists. (details)
Removed some unneeded code that could have gone last commit. (details)
Update 'fork+exec' test utility to be valid also in C and C++. (details)
Add EOF test coverage for string reading. (details)
Fix fork+exec missed case / broken build (details)
Parse string literals to get their length, taking into account escape sequences. Getting this from the lexer would avoid redundent work, but that is not set up. This corrects some typeof evaluations which lead to incorrect sizeof expressions. (details)
Commit
acab1bd77b1e5193ebd46506b2b435a29f3f0124
by j82liang
Commit
661e7b01f8a9a2c15670b1615d96ea489f11fbe8
by ajbeach
After a years (or at least half a year) the CodeLocation optimization is merged in. Added Symbol (using Racket's name for interned strings), and used it for CodeLocation file names. The optimizes for the high number of copies - both instances with the same value and copy operations - and consistently brings down runtime by a few percent.
Commit
df2e00f233571fd339c5f2bb9025973837d85481
by ajbeach
Made heap pass the invariant check. We should be able to enable invariants on the standard library. Also added the reproductions for new trac trickets.
Commit
db19e1d0d4adcc296ca7022c295f441155d4b6dc
by ajbeach
Changed the interpritation of () to be no parameters instead of any parameters. This had a lot of little changes because of this and some nearby clean-up. This includes some changes, including changing some generated functions to be fixed-args instead of variable-args, stripping out the place holder void parameter earlier, but it still shows up earlier in some cases that examine the parser directly. Also had to update the function generation tools. Have only tested with one --arch. Hopefully this all works out.
Commit
b6f2e7abcc170946c8758bcf25e0848b57d5f213
by ajbeach
Removed SizeofExpr::expr and AlignofExpr::expr, expressions that would be stored there are wrapped in TypeofType and stored in the type field. Some special cases to hide the typeof in code generation were added. In addition, initializer length is calculated in more cases so that the full type of more arrays is known sooner. Other than that, most of the code changes were just stripping out the conditional code and checks no longer needed. Some tests had to be updated, because the typeof is not hidden in dumps and the resolver replaces known typeof expressions with the type. The __extension__ case caused some concern but it appears that just hides warnings in the expression which no longer exists.
Commit
20c2ade36d93f0d05a94f6db2b02137d0c9c482a
by ajbeach
Parse string literals to get their length, taking into account escape sequences. Getting this from the lexer would avoid redundent work, but that is not set up. This corrects some typeof evaluations which lead to incorrect sizeof expressions.