Author: lattner
Date: Tue May 12 15:55:07 2009
New Revision: 71589
URL: http://llvm.org/viewvc/llvm-project?rev=71589&view=rev
Log:
Method who have definitions in structs/classes are semantically inline.
Per the FIXME, it might be interesting to track whether the inline keyword
was also used on the method, but for now we don't do this. Testcase pending.
Modified:
cfe/trunk/lib/Sema/SemaDecl.cpp
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=71589&r1=71588&r2=71589&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Tue May 12 15:55:07 2009
@@ -2067,6 +2067,13 @@
}
// This is a C++ method declaration.
+
+ // FIXME: All inline method declarations are semantically inline. We
+ // should add a new bit to keep track of whether they were declared with an
+ // inline keyword as well.
+ if (CurContext == DC && IsFunctionDefinition)
+ isInline = true;
+
NewFD = CXXMethodDecl::Create(Context, cast<CXXRecordDecl>(DC),
D.getIdentifierLoc(), Name, R,
(SC == FunctionDecl::Static), isInline);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits