[cfe-commits] r127623 - in /cfe/trunk: include/clang/Sema/IdentifierResolver.h lib/Sema/IdentifierResolver.cpp lib/Sema/SemaDecl.cpp test/SemaCXX/goto.cpp

Joerg Sonnenberger joerg at britannica.bec.de
Tue Mar 15 14:11:55 PDT 2011


On Mon, Mar 14, 2011 at 09:19:51PM -0000, Douglas Gregor wrote:
> Author: dgregor
> Date: Mon Mar 14 16:19:51 2011
> New Revision: 127623
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=127623&view=rev
> Log:
> When synthesizing a label declaration based on a goto statement that
> cannot yet be resolved, be sure to push the new label declaration into
> the right place within the identifier chain. Otherwise, name lookup in
> C++ gets confused when searching for names that are lexically closer
> than the label. Fixes PR9463.

This broke compiling src/roff/troff/input.cpp from groff in the NetBSD
tree. It now fails with

lib/Sema/JumpDiagnostics.cpp:541: void<unnamed>::JumpScopeChecker::CheckJump(clang::Stmt*, clang::Stmt*, clang::SourceLocation, unsigned int): Assertion `LabelAndGotoScopes.count(To) && "Jump didn't get added to scopes?"' failed.

Joerg



More information about the cfe-commits mailing list