[LLVMbugs] [Bug 8380] New: Assertion `StartColNo <= EndColNo && "Invalid range!"' on invalid code

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Oct 14 12:04:29 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=8380

           Summary: Assertion `StartColNo <= EndColNo && "Invalid range!"'
                    on invalid code
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: chris at bubblescope.net
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


The code snippet:

extern""a{

Leads to the following backtrack:

clang++ *15231.cc
t.bashed.15231.cc:1:7: error: unknown linkage language
extern""a{
      ^
t.bashed.15231.cc:1:9: error: C++ requires a type specifier for all
declarations
clang: TextDiagnosticPrinter.cpp:124: void
clang::TextDiagnosticPrinter::HighlightRange(const clang::CharSourceRange&,
const clang::SourceManager&, unsigned int, clang::FileID, std::string&, const
std::string&): Assertion `StartColNo <= EndColNo && "Invalid range!"' failed.
0  clang           0x000000000165139f
1  clang           0x0000000001653612
2  libpthread.so.0 0x00007ff2e138e8f0
3  libc.so.6       0x00007ff2e067da75 gsignal + 53
4  libc.so.6       0x00007ff2e06815c0 abort + 384
5  libc.so.6       0x00007ff2e0676941 __assert_fail + 241
6  clang           0x0000000000681a33
clang::TextDiagnosticPrinter::HighlightRange(clang::CharSourceRange const&,
clang::SourceManager const&, unsigned int, clang::FileID, std::string&,
std::string const&) + 1331
7  clang           0x0000000000682bd8
clang::TextDiagnosticPrinter::EmitCaretDiagnostic(clang::SourceLocation,
clang::CharSourceRange*, unsigned int, clang::SourceManager const&,
clang::FixItHint const*, unsigned int, unsigned int, unsigned int, unsigned
int, unsigned int) + 3912
8  clang           0x000000000068487d
clang::TextDiagnosticPrinter::HandleDiagnostic(clang::Diagnostic::Level,
clang::DiagnosticInfo const&) + 3997
9  clang           0x0000000000cf7dbb clang::Diagnostic::ProcessDiag() + 523
10 clang           0x0000000000cf7f4d clang::DiagnosticBuilder::Emit() + 29
11 clang           0x00000000008d6c2d
clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder() + 173
12 clang           0x0000000000aa6b25
13 clang           0x0000000000aa8442
clang::Sema::GetTypeForDeclarator(clang::Declarator&, clang::Scope*,
clang::TagDecl**) + 130
14 clang           0x0000000000945d6d
clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&,
clang::ASTMultiPtr<clang::TemplateParameterList*>, bool) + 717
15 clang           0x00000000008a04cb
clang::Parser::ParseDeclarationAfterDeclarator(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&) + 107
16 clang           0x00000000008a71f1
clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int,
bool, clang::SourceLocation*) + 609
17 clang           0x000000000089a8c9
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AttributeList*, clang::AccessSpecifier) + 201
18 clang           0x000000000089c74f
clang::Parser::ParseExternalDeclaration(clang::CXX0XAttributeList,
clang::Parser::ParsingDeclSpec*) + 95
19 clang           0x00000000008b0a88
clang::Parser::ParseLinkage(clang::Parser::ParsingDeclSpec&, unsigned int) +
488
20 clang           0x000000000089a9c8
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AttributeList*, clang::AccessSpecifier) + 456
21 clang           0x000000000089ace4
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::AttributeList*,
clang::AccessSpecifier) + 372
22 clang           0x000000000089cc25
clang::Parser::ParseExternalDeclaration(clang::CXX0XAttributeList,
clang::Parser::ParsingDeclSpec*) + 1333
23 clang           0x000000000089cd72
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 114
24 clang           0x00000000008854fb clang::ParseAST(clang::Sema&, bool) + 139
25 clang           0x000000000075b444 clang::CodeGenAction::ExecuteAction() +
68
26 clang           0x0000000000661165
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 357
27 clang           0x0000000000640c5c
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1276
28 clang           0x0000000000638c1e cc1_main(char const**, char const**, char
const*, void*) + 622
29 clang           0x000000000063f777 main + 4087
30 libc.so.6       0x00007ff2e0668c4d __libc_start_main + 253
31 clang           0x0000000000637409
Stack dump:
0.    Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name t.bashed.15231.cc
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -target-linker-version 2.20.1 -resource-dir
/usr/local/lib/clang/2.9 -ferror-limit 19 -fmessage-length 80 -fexceptions
-fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-tbcQ8h.s
-x c++ t.bashed.15231.cc 
1.    t.bashed.15231.cc:1:10: current parser token '{'
clang: error: clang frontend command failed due to signal 6 (use -v to see
invocation)

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list