Releases: PascalBeyer/Headerless-C-Compiler
Releases · PascalBeyer/Headerless-C-Compiler
v0.3.1 - Fix scope debug ranges
Fix a bug that caused variables in subscopes to have somewhat wrong ranges.
Fix a bug where link.exe would spin when trying to reuse a PDB generated by hlc.
v0.3.0 - Astoir
Major changes:
- Implement
#pragma comment(linker, "/ALTERNATENAME:strdup=_strdup")to improve oldnames.lib support. - Implement
__has_include. - Implement some support for
#pragma pack(...). - Implement octal constants.
- Implement a version of Structured Exception Handling (SEH).
- Rework the system to work with an IR instead of an AST.
v0.2.1 - Hot fix for debugging with Visual Studio
Hot fixes:
- Make sure the coff_writer does not emit any unused pages in the PDB. Apperantly, newer versions of DbgHelp do not like that.
- Fix crash when using a
__declspec(dllimport)-declaration inside of a function (#1). - Add safety guards against global defines in
implicit\include\runtime.c.
v0.2.0 - MSVC Compatibility
Major updates in this version:
- Overhaul the command line interface to be somewhat compatible with MSVC.
- Implement necessary header files to remove the dependency on MSVC being installed.
- Provide "examples" of big, real-world projects compiling.
- Implement automatic addition of premain compilation units.
- Implement
_Atomic,_Thread_local,#pragma comment(lib, "<>")and#pragma compilation_unit("<>"). - Implement "function must return a value" warnings.
- Tons of bug fixes and minor features.
This marks the first version of the compiler that can compile popular C projects like curl, glfw, zlib, and libpng without any source changes!
Initial Release
Initial release of the compiler binary (hlc.exe) along with the source of the implicit compilation units premain.c and intrinsic.c. The implicit folder needs to be in the same directory as hlc.exe. Furthermore, for the compiler to function correctly, the Windows SDK and a version of Visual Studio need to be installed. I usually install the "Build Tools for Visual Studio" from this page.