[cfe-commits] r152609 - in /cfe/trunk/lib: AST/DeclBase.cpp Sema/SemaLookup.cpp Serialization/ASTWriter.cpp

Nick Lewycky nlewycky at google.com
Wed Mar 14 13:27:40 PDT 2012


On 14 March 2012 09:21, Alexander Potapenko <glider at google.com> wrote:

> (see the test case attached)
>
> Looks like the lookup is performed while reporting the error:
>

Thanks for the testcase. This is actually a crash on valid while emitting a
warning. Patch attached!

Nick


>
>
> $ clang test.ii -Wall -Werror -Wfatal-errors
>
>
> test.ii:8:31: fatal error: use of undeclared identifier '_CharT_alloc_type'
>              typedef typename _CharT_alloc_type::size_type size_type;
>                               ^
> clang:
> /usr/local/google/asan/asan-llvm-trunk/llvm/tools/clang/lib/AST/DeclBase.cpp:1088:
> clang::DeclContextLookupResult
> clang::DeclContext::lookup(clang::DeclarationName): Assertion
> `DeclKind != Decl::LinkageSpec && "Should not perform lookups into
> linkage specs!"' failed.
> 0  clang           0x0000000001e9026f
> 1  clang           0x0000000001e924e2
> 2  libpthread.so.0 0x00007f53476868f0
> 3  libc.so.6       0x00007f5346975a75 gsignal + 53
> 4  libc.so.6       0x00007f53469795c0 abort + 384
> 5  libc.so.6       0x00007f534696e941 __assert_fail + 241
> 6  clang           0x00000000010dd9b1
> clang::DeclContext::lookup(clang::DeclarationName) + 529
> 7  clang           0x00000000010dda39
> clang::DeclContext::lookup(clang::DeclarationName) const + 9
> 8  clang           0x0000000000b52aec
> 9  clang           0x0000000000b58abd
> clang::Sema::LookupQualifiedName(clang::LookupResult&,
> clang::DeclContext*, bool) + 301
> 10 clang           0x0000000000b7c91a
> 11 clang           0x0000000000b7cf56
> 12 clang           0x0000000000b95480
> clang::Sema::CreateOverloadedUnaryOp(clang::SourceLocation, unsigned
> int, clang::UnresolvedSetImpl const&, clang::Expr*) + 1856
> 13 clang           0x0000000000acaef7
> clang::Sema::BuildUnaryOp(clang::Scope*, clang::SourceLocation,
> clang::UnaryOperatorKind, clang::Expr*) + 471
> 14 clang           0x0000000000c62583
> 15 clang           0x0000000000c4086d
> 16 clang           0x0000000000c62e50
> 17 clang           0x0000000000c64a13
> 18 clang           0x0000000000c62c9d
> 19 clang           0x0000000000c6609f
> clang::Sema::SubstStmt(clang::Stmt*,
> clang::MultiLevelTemplateArgumentList const&) + 79
> 20 clang           0x0000000000c77302
> clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
> clang::FunctionDecl*, bool, bool) + 1138
> 21 clang           0x0000000000c76bbf
> clang::Sema::PerformPendingInstantiations(bool) + 559
> 22 clang           0x0000000000c77699
> clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
> clang::FunctionDecl*, bool, bool) + 2057
> 23 clang           0x0000000000c76bbf
> clang::Sema::PerformPendingInstantiations(bool) + 559
> 24 clang           0x0000000000995d5a
> clang::Sema::ActOnEndOfTranslationUnit() + 378
> 25 clang           0x000000000091cfa5
> clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
> + 613
> 26 clang           0x000000000091307d clang::ParseAST(clang::Sema&, bool)
> + 285
> 27 clang           0x00000000007b0654
> clang::CodeGenAction::ExecuteAction() + 68
> 28 clang           0x00000000006583c1
> clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 321
> 29 clang           0x00000000006417a4
> clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1348
> 30 clang           0x0000000000637550 cc1_main(char const**, char
> const**, char const*, void*) + 960
> 31 clang           0x00000000006405a9 main + 7257
> 32 libc.so.6       0x00007f5346960c4d __libc_start_main + 253
> 33 clang           0x0000000000634ff9
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120314/d7b3c345/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no-useless-lookup-diagnosetwophase-1.patch
Type: application/octet-stream
Size: 1152 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120314/d7b3c345/attachment.obj>


More information about the cfe-commits mailing list