-
-
Notifications
You must be signed in to change notification settings - Fork 34.4k
gh-146475: Block Apple LLVM 21 from passing JIT tool version check #146478
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
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -59,7 +59,7 @@ async def _check_tool_version( | |||||
| name: str, llvm_version: str, *, echo: bool = False | ||||||
| ) -> bool: | ||||||
| output = await _run(name, ["--version"], echo=echo) | ||||||
| _llvm_version_pattern = re.compile(rf"version\s+{llvm_version}\.\d+\.\d+\S*\s+") | ||||||
| _llvm_version_pattern = re.compile(rf"(?<!Apple )LLVM version\s+{llvm_version}\.\d+\.\d+\S*\s+") | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On my mac I had to add LLVM and clang to match the string. Can you please check?
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep, I'm on MacOS as well and checked that we do need clang in the regex. |
||||||
| return bool(output and _llvm_version_pattern.search(output)) | ||||||
|
|
||||||
|
|
||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_check_tool_version()now only matches outputs containingLLVM version, but the JIT tool lookup also validatesclangin_find_tool(), and upstreamclang --versionreportsclang version 21.x.y(notLLVM version). In environments with LLVM 21 clang, this makes the version check fail andrun("clang", ...)eventually raiseCan't find clang-21!, breaking JIT stencil builds even with a correct compiler installed.Useful? React with 👍 / 👎.