[PATCH] D15267: For MS ABI, emit dllexport friend functions defined inline in class
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 27 08:41:10 PST 2016
rnk added inline comments.
================
Comment at: include/clang/AST/ASTConsumer.h:58-64
@@ -57,5 +57,9 @@
/// \brief This callback is invoked each time an inline method definition is
/// completed.
virtual void HandleInlineMethodDefinition(CXXMethodDecl *D) {}
+ /// \brief This callback is invoked each time an inline friend function
+ /// definition is completed.
+ virtual void HandleInlineFriendFunctionDefinition(FunctionDecl *D) {}
+
----------------
I'm pretty sure we can relax HandleInlineMethodDefinition to take a FunctionDecl and then we don't need the extra AST consumer callback.
================
Comment at: lib/Parse/ParseCXXInlineMethods.cpp:568-569
@@ -567,2 +567,4 @@
Actions.ActOnFinishInlineMethodDef(MD);
+ else if (auto *FD = dyn_cast_or_null<FunctionDecl>(LM.D))
+ Actions.ActOnFinishInlineFriendFunctionDef(FD);
}
----------------
I'd check for the friend specification here rather than asserting later. There probably are or will eventually be ways to sneak a non-friend, non-method FunctionDecl into a class context.
http://reviews.llvm.org/D15267
More information about the cfe-commits
mailing list