Skip to content

Old pony 5274#165

Merged
IgorDeepakM merged 3 commits intomasterfrom
old_pony_5274
Apr 29, 2026
Merged

Old pony 5274#165
IgorDeepakM merged 3 commits intomasterfrom
old_pony_5274

Conversation

@IgorDeepakM
Copy link
Copy Markdown
Owner

No description provided.

orien and others added 3 commits April 29, 2026 18:55
Compiler-generated eq/ne methods on primitives inherit their source
position from the members AST node, which points into a user-defined
method's name. The hint visitor processed them as real methods, producing
spurious receiver cap and return type hints.
ponyc statically links LLVM and never uses LLVM's plugin (loadable
module) infrastructure. LLVM defaults LLVM_ENABLE_PLUGINS to whatever
LLVM_ENABLE_PIC is on non-Windows platforms; PR #5263 enabled PIC on
non-Darwin platforms to fix Fedora's PIE-default linking, which had
the side effect of also enabling plugins on OpenBSD.

With plugins enabled, LLVM stops skipping the Bye example pass plugin
("Bye ignored -- Loadable modules not supported on this platform").
The Bye target's CMakeLists declares only `DEPENDS intrinsics_gen`,
so it compiles before tablegen has generated llvm/CodeGen/GenVT.inc.
The local include path falls through; on OpenBSD the base system
ships LLVM headers in /usr/include/llvm/, where an older GenVT.inc
defines GET_VT_ATTR with 9 parameters. The vendored LLVM 21 header
expects 12, producing a cascade of "too few arguments" /
"missing ',' between enumerators" errors.

Set LLVM_ENABLE_PLUGINS=OFF explicitly. PIC stays enabled on
non-Darwin so Fedora linking continues to work.
@IgorDeepakM IgorDeepakM merged commit 4e509d4 into master Apr 29, 2026
4 checks 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.

3 participants