Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Llvm intergration #36

Merged
merged 12 commits into from
Aug 8, 2024
Merged

Llvm intergration #36

merged 12 commits into from
Aug 8, 2024

Conversation

Ze7111
Copy link
Collaborator

@Ze7111 Ze7111 commented Aug 8, 2024

Pull Request: Finalize LLVM Integration with ABI Configuration and Various Improvements

This pull request encompasses a series of significant updates and improvements to the Helix Toolchain, focusing on finalizing LLVM integration. The key changes and enhancements include:

Major Features

  • Finalize LLVM Integration:

    • Integrated LLVM support, tested on both macOS and Windows.
    • Added ABI configuration to determine the runtime library usage based on the compiler toolchain, improving compatibility.
  • C++ Signature Parsing Test:

    • Added tests for C++ signature parsing to ensure accurate and reliable parsing of C++ signatures within the Helix compiler.

Bug Fixes

  • Lexer Bug Fix:
    • Fixed a bug in the lexer introduced in a previous commit, improving the overall stability of the lexer component.

Code Cleanup and Maintenance

  • Repository Cleanup:
    • Removed unnecessary HTML files and cleaned up unused imports in the preprocessor.
    • Cleaned up the repository by removing unnecessary license files and other redundant elements.

Contribution by Collaborators

  • Windows Support:
    • Added by @jrcarl624, fixed llvm compilation for windows (MSVC).

closes #15
closes #19

Ze7111 and others added 12 commits July 29, 2024 02:43
new: start re work of the error handler
refactor: change all error uses to use the new error model

fix(lexer): fix a bug in the lexer with how block comments were being parsed

build(xmake.lua): change xmake.lua to statically link runtimes (doesn't work on macOS)

feat(ffi): complete ffi import parsing of the preprocessor
- Added integration for LLVM to work on macOS.
- Modified xmake.lua to compile LLVM package.
- Compiled LLVM source for the host machine.
- Cross compile support is currently unknown.
- Test file fn_signatures.cc now compiles and links successfully.
- Added test.cc to test C++ signature parsing.
- Updated version in main.
- Compiled LLVM test file.
…This commit removes unused license files and enhances repository cleanliness, streamlining maintenance efforts.
Signed-off-by: Joshua Carlson <[email protected]>
This update adds ABI configuration to determine the runtime library usage based on the compiler toolchain. The LLVM integration has been finalized and tested on Windows and macOS. By setting the appropriate runtime library format for different compilers, compatibility is improved. No known issues.
@Ze7111 Ze7111 requested a review from jrcarl624 August 8, 2024 06:34
@Ze7111 Ze7111 merged commit b70faf2 into helix-compiler Aug 8, 2024
0 of 11 checks passed
@Ze7111 Ze7111 deleted the llvm-intergration branch August 8, 2024 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Clang Integration LLVM Compilation
2 participants