erichkeane added a comment. >> which confuses me because an extern "C" block is not supposed to mangle any >> names, right? Appreciate any inputs on this.
That IS strange, that has internal linkage, but so the 'extern "C"' doesn't do anything to it, so we choose to just mangle it. I guess there is some sense in that. GCC doesn't mangle EITHER of those (so leaving them both causes a multiple definition error!), but there is apparently a runtime error even trying to use an ifunc to those functions. We COULD just prohibit ifuncs to functions without external linkage, but that is a bigger change than I'm sure I would want to commit to just yet. As far as this patch, I think there is value with improving this diagnostic, but I'm not sure this is the one. I don't have a great idea of an alternate, BUT: error: ifunc must point to a defined function note: the name specified in an ifunc must refer to the <linkage name> (needs better words here for what we mean by the name it needs to call) note: function by that name is mangled as %0 <and notes for each similar name> Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143803/new/ https://reviews.llvm.org/D143803 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits