[clang] [Clang] Ensure child classes export inherited constructors from base classes (PR #182706)
Hans Wennborg via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 23 05:31:01 PDT 2026
================
@@ -3935,6 +3935,11 @@ def warn_dllexport_on_decl_ignored : Warning<
InGroup<IgnoredAttributes>;
def note_dllexport_on_decl : Note<
"'dllexport' attribute on the declaration is ignored">;
+def warn_dllexport_inherited_ctor_unsupported : Warning<
+ "exporting inherited constructor is not yet supported; "
+ "'dllexport' ignored on inherited constructor with "
+ "%select{variadic arguments|callee-cleanup parameters}0">,
+ InGroup<IgnoredAttributes>;
----------------
zmodem wrote:
I meant it's not really clear what the developer should do here. Not use callee-cleanup parameters (they may not know what that is), not export the class? I suppose the realistic option is don't use inheriting constructors.
I suppose warning is better than a link-time failure though, but making it a separate group would be nice.
It would be cool if we could fix this though. I wonder if we have more gaps like this (missing thunk capabilities) and if the improved tail call support over the years has made it possible to fill those gaps.
https://github.com/llvm/llvm-project/pull/182706
More information about the cfe-commits
mailing list