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

Douglas Gregor dgregor at apple.com
Wed Mar 16 12:27:43 PDT 2011

On Mar 15, 2011, at 2:11 PM, Joerg Sonnenberger wrote:

> 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.

Can you confirm that r127738 fixes this issue?

	- Doug

More information about the cfe-commits mailing list