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

Compiler frontend rework #212

Merged
merged 5 commits into from
Sep 4, 2023
Merged

Compiler frontend rework #212

merged 5 commits into from
Sep 4, 2023

Conversation

PurplePachyderm
Copy link
Member

  • Separate cerec in 3 commands : cerec, cerec++ and ceref
    This should avoid issues where cerec was trying to choose the correct LLVM frontent for
    compiling, linking... Now this would be the job of build systemcs such as CMake, autotools
    • When CERE_MODE is completely undefined, simply call the corresponding LLVM frontend.
      This avoids useless compilation steps, and prevents potential issues, for instance when build
      systems compile test programs in protected directories.

We now have cerec for C, cerec++ for C++ and ceref for Fortran (optional).
Source language detection caused issues at link time in the past, especially when
linking C++ : for instance, the C++ standard lib would not always be found because
clang would be called called instead of clang++.

Now, choosing the right compiler is the task of the target application's build system,
instead of CERE's automatic language detection.
This could cause issues, for instance when CMake was trying to write .ll files to write protected directories when building test programs
@PurplePachyderm PurplePachyderm merged commit e7360db into master Sep 4, 2023
1 check passed
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.

1 participant