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.