summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2010-09-28 20:23:00 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2010-09-28 20:23:00 +0000
commitc1ca90a246a87fb9d7828e4e45828e476ce14c76 (patch)
tree7e7ab66f3b1eb9abc1a1f19cca915ae2789c7929
parenta832d3e2ccdecaf8f081b183f823f4627c0fbea3 (diff)
downloadbcm5719-llvm-c1ca90a246a87fb9d7828e4e45828e476ce14c76.tar.gz
bcm5719-llvm-c1ca90a246a87fb9d7828e4e45828e476ce14c76.zip
Move ExternalSemaSource::ReadMethodPool's implementation to Sema.cpp so that the header can get away with forward declarations only for ObjCMethodList and Selector. Fixes <rdar://8467631>.
llvm-svn: 114978
-rw-r--r--clang/include/clang/Sema/ExternalSemaSource.h8
-rw-r--r--clang/lib/Sema/Sema.cpp6
2 files changed, 9 insertions, 5 deletions
diff --git a/clang/include/clang/Sema/ExternalSemaSource.h b/clang/include/clang/Sema/ExternalSemaSource.h
index 7be003390b1..8244cd92f69 100644
--- a/clang/include/clang/Sema/ExternalSemaSource.h
+++ b/clang/include/clang/Sema/ExternalSemaSource.h
@@ -14,10 +14,11 @@
#define LLVM_CLANG_SEMA_EXTERNAL_SEMA_SOURCE_H
#include "clang/AST/ExternalASTSource.h"
-#include "clang/Sema/ObjCMethodList.h"
+#include <utility>
namespace clang {
+class ObjCMethodList;
class Sema;
/// \brief An abstract interface that should be implemented by
@@ -44,10 +45,7 @@ public:
///
/// \returns a pair of Objective-C methods lists containing the
/// instance and factory methods, respectively, with this selector.
- virtual std::pair<ObjCMethodList, ObjCMethodList>
- ReadMethodPool(Selector Sel) {
- return std::pair<ObjCMethodList, ObjCMethodList>();
- }
+ virtual std::pair<ObjCMethodList,ObjCMethodList> ReadMethodPool(Selector Sel);
// isa/cast/dyn_cast support
static bool classof(const ExternalASTSource *Source) {
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp
index e8d2c1e4201..a0046a2caa1 100644
--- a/clang/lib/Sema/Sema.cpp
+++ b/clang/lib/Sema/Sema.cpp
@@ -20,6 +20,7 @@
#include "llvm/ADT/APFloat.h"
#include "clang/Sema/CXXFieldCollector.h"
#include "clang/Sema/ExternalSemaSource.h"
+#include "clang/Sema/ObjCMethodList.h"
#include "clang/Sema/PrettyDeclStackTrace.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/ScopeInfo.h"
@@ -553,6 +554,11 @@ BlockScopeInfo *Sema::getCurBlock() {
// Pin this vtable to this file.
ExternalSemaSource::~ExternalSemaSource() {}
+std::pair<ObjCMethodList, ObjCMethodList>
+ExternalSemaSource::ReadMethodPool(Selector Sel) {
+ return std::pair<ObjCMethodList, ObjCMethodList>();
+}
+
void PrettyDeclStackTraceEntry::print(llvm::raw_ostream &OS) const {
SourceLocation Loc = this->Loc;
if (!Loc.isValid() && TheDecl) Loc = TheDecl->getLocation();
OpenPOWER on IntegriCloud