1.5.0
Major Changes
- More inlining
- More unused stuff removal
- The new function renaming strategy makes the code more compressible, if there are many functions. On an 8k intro, it saved around 80 to 100 bytes after compression.
What's Changed
- Inlining and vector access rewrites by @eldritchconundrum in #427
- Treat as external the global fields of an interface block by @eldritchconundrum in #431
- Basic support for HLSL templating by @new-cassellito in #434
- Handle spaces in file names, fixes #438 by @eldritchconundrum in #439
- Better representation for struct and interface blocks in the AST by @eldritchconundrum in #451
- Improve inlining by @eldritchconundrum in #452
- Argument inlining: inline read-only globals, fixes #450 by @eldritchconundrum in #453
- Refactor the AST visitor by @eldritchconundrum in #454
- Preprocess: filter out #line directives by @therontarigo in #457
- Remove unused assignments. Fixes #443, #444, #445 by @eldritchconundrum in #459
- Don't move declarations that use shadowing. Fixes #458 by @eldritchconundrum in #461
- Pragma to force function inlining by @eldritchconundrum in #462
- Fix reuseExistingVarDecl trigger condition by @eldritchconundrum in #463
- Remove decimal point from scientific notation. Fixes #476 by @therontarigo in #477
- Modernize and reorganize projects and solutions by @eldritchconundrum in #479
- commands.txt: remove tests that conflict with others by @laurentlb in #488
- Constant propagation of array length (fixes #483) by @eldritchconundrum in #489
- Add --version by @laurentlb in #490
- Remove spaces in layout by @laurentlb in #491
- Allow return types to have precision qualifiers by @laurentlb in #492
- More function overloading in output by @laurentlb in #465
- Fix #472, commutativity-dependent rewrite by @eldritchconundrum in #493
- Lints and clean ups by @eldritchconundrum in #494
- Structs by @eldritchconundrum in #495
New Contributors
- @new-cassellito made their first contribution in #434
Full Changelog: 1.4.0...1.4.1