From: Benjamin Kramer Date: Sat, 30 Jan 2010 16:23:25 +0000 (+0000) Subject: PCHReader doesn't implement classof so dyn_casting it will do really weird stuff... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7297c18c843138625a61e01a137664a176739683;p=clang PCHReader doesn't implement classof so dyn_casting it will do really weird stuff. Use a static_cast instead. I don't know if this hack is the right fix. Doug, please take a look. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94895 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index ff19810233..eaa2062c86 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -98,7 +98,7 @@ const std::string &ASTUnit::getOriginalSourceFileName() { const std::string &ASTUnit::getPCHFileName() { assert(isMainFileAST() && "Not an ASTUnit from a PCH file!"); - return dyn_cast(Ctx->getExternalSource())->getFileName(); + return static_cast(Ctx->getExternalSource())->getFileName(); } ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename, diff --git a/test/Index/remap-load.c b/test/Index/remap-load.c index 1e9d729a40..637b1673f6 100644 --- a/test/Index/remap-load.c +++ b/test/Index/remap-load.c @@ -1,15 +1,11 @@ -// UN: c-index-test -test-load-source all -remap-file="%s;%S/Inputs/remap-load-to.c" %s | FileCheck -check-prefix=CHECK %s -// UN: CINDEXTEST_USE_EXTERNAL_AST_GENERATION=1 c-index-test -test-load-source all -remap-file="%s;%S/Inputs/remap-load-to.c" %s | FileCheck -check-prefix=CHECK %s - -// disable this for now, it's failing sporadically. -// RUN: false -// XFAIL: * +// RUN: c-index-test -test-load-source all -remap-file="%s;%S/Inputs/remap-load-to.c" %s | FileCheck -check-prefix=CHECK %s +// RUN: CINDEXTEST_USE_EXTERNAL_AST_GENERATION=1 c-index-test -test-load-source all -remap-file="%s;%S/Inputs/remap-load-to.c" %s | FileCheck -check-prefix=CHECK %s // CHECK: remap-load.c:1:5: FunctionDecl=foo:1:5 (Definition) [Extent=1:5:3:1] // CHECK: remap-load.c:1:13: ParmDecl=parm1:1:13 (Definition) [Extent=1:9:1:17] // CHECK: remap-load.c:1:26: ParmDecl=parm2:1:26 (Definition) [Extent=1:20:1:30] -// CHECK: remap-load.c:1:5: UnexposedStmt=foo [Extent=1:33:3:1] -// CHECK: remap-load.c:1:5: UnexposedStmt=foo [Extent=2:3:2:22] +// CHECK: remap-load.c:1:5: UnexposedStmt= [Extent=1:33:3:1] +// CHECK: remap-load.c:1:5: UnexposedStmt= [Extent=2:3:2:22] // CHECK: remap-load.c:2:10: UnexposedExpr= [Extent=2:10:2:22] // CHECK: remap-load.c:2:10: UnexposedExpr= [Extent=2:10:2:22] // CHECK: remap-load.c:2:10: UnexposedExpr=parm1:1:13 [Extent=2:10:2:14]