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

Jakt: Ensure cxx-compiler-path matches the compiler that compiled jakt #4514

Merged
merged 1 commit into from
Jan 2, 2023

Conversation

ADKaster
Copy link
Contributor

The way that jakt calls out to a C++ compiler to compile the C++ source files it generates is sensitive to which compiler compiled its runtime library. Rather than using clang-trunk, use the same compiler that was used in misc-builder: gcc-12.1.0. This does cause a warning or two, as it seems gcc 12.1.0 doesn't implement [[unlikely]] yet, but that's better than not being able to link executables at all.

This issue will likely come up again if the compiler used in misc-builder to build the jakt compiler changes.

This will likely make jakt main work again on CE, after SerenityOS/jakt#1298 is pulled in. The version that last built properly on the live site should also work after this change, it just won't be main :)

The way that jakt calls out to a C++ compiler to compile the C++ source
files it generates is sensitive to which compiler compiled its runtime
library. Rather than using clang-trunk, use the same compiler that was
used in misc-builder: gcc-12.1.0. This does cause a warning or two, as
it seems gcc 12.1.0 doesn't implement [[unlikely]] yet, but that's
better than not being able to link executables at all.

This issue will likely come up again if the compiler used in
misc-builder to build the jakt compiler changes.
@ADKaster
Copy link
Contributor Author

Hm, Looks like I was actually able to fix this (locally, in the misc-builder container) by sprinkling some set_target_properties(jakt_runtime jakt_main PROPERTIES POSITION_INDEPENDENT_CODE ON) in the CMakeLists.txt for the jakt runtime libraries.

So this change shouldn't be strictly required to fix non--S compiles+links, but is probably still reasonable.

@mattgodbolt
Copy link
Member

Happy to merge...

@mattgodbolt mattgodbolt merged commit e12aa5f into compiler-explorer:main Jan 2, 2023
mattgodbolt pushed a commit that referenced this pull request Jan 4, 2023
#4514)

The way that jakt calls out to a C++ compiler to compile the C++ source
files it generates is sensitive to which compiler compiled its runtime
library. Rather than using clang-trunk, use the same compiler that was
used in misc-builder: gcc-12.1.0. This does cause a warning or two, as
it seems gcc 12.1.0 doesn't implement [[unlikely]] yet, but that's
better than not being able to link executables at all.

This issue will likely come up again if the compiler used in
misc-builder to build the jakt compiler changes.
mattgodbolt pushed a commit that referenced this pull request Jan 24, 2023
#4514)

The way that jakt calls out to a C++ compiler to compile the C++ source
files it generates is sensitive to which compiler compiled its runtime
library. Rather than using clang-trunk, use the same compiler that was
used in misc-builder: gcc-12.1.0. This does cause a warning or two, as
it seems gcc 12.1.0 doesn't implement [[unlikely]] yet, but that's
better than not being able to link executables at all.

This issue will likely come up again if the compiler used in
misc-builder to build the jakt compiler changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants