From ab9bae758342e11a5d6b27e26adffe802394cfd1 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Mon, 6 Oct 2008 22:45:07 +0000 Subject: [PATCH] Explicitly access the first Decl* referenced by a DeclStmt instead of using "getDecl()." Added a FIXME indicating that the call to RewriteObjCQualifiedInterfaceTypes() is meant to modifying the type-specifier; hopefully this will be a little more clean once DeclGroups contain type specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57216 91177308-0d34-0410-b5e6-96231b3b80d8 --- Driver/RewriteObjC.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index 708c844677..316c1761ea 100644 --- a/Driver/RewriteObjC.cpp +++ b/Driver/RewriteObjC.cpp @@ -1026,9 +1026,15 @@ Stmt *RewriteObjC::RewriteFunctionBodyOrGlobalInitializer(Stmt *S) { dyn_cast(S)) return RewriteContinueStmt(StmtContinueStmt); - // Need to check for protocol refs (id

, Foo

*) in variable decls and cast exprs. - if (DeclStmt *DS = dyn_cast(S)) - RewriteObjCQualifiedInterfaceTypes(DS->getDecl()); + // Need to check for protocol refs (id

, Foo

*) in variable decls + // and cast exprs. + if (DeclStmt *DS = dyn_cast(S)) { + // FIXME: What we're doing here is modifying the type-specifier that + // precedes the first Decl. In the future the DeclGroup should have + // a separate type-specifier that we can rewrite. + RewriteObjCQualifiedInterfaceTypes(*DS->decl_begin()); + } + if (ExplicitCastExpr *CE = dyn_cast(S)) RewriteObjCQualifiedInterfaceTypes(CE); -- 2.50.1