The concept generally seems fine.

The setLocalExternDecl thing seems a bit fiddly, since I'm pretty sure it
can be derived from information we already keep around.  Did you consider
computing that information on demand?

Do we compute the correct DeclContext for a friend in a local class which
is a redeclaration of a local extern decl?  Might be nice to test.

It looks like some changes slipped in which should be committed separately
(around where you added the reference to 6.2.7p2).

Does you patch work correctly with an extern local decl inside a block?
 e.g. "void f() { ^{ void extern_decl(); extern_decl(); }(); }"?

That's all I can think of, at least for now.



On Fri, Aug 23, 2013 at 6:15 PM, Richard Smith <[email protected]>wrote:

> Hi doug.gregor, eli.friedman,
>
> http://llvm-reviews.chandlerc.com/D1499
>
> CHANGE SINCE LAST DIFF
>   http://llvm-reviews.chandlerc.com/D1499?vs=3726&id=3734#toc
>
> Files:
>   lib/Serialization/ASTReaderDecl.cpp
>   lib/Sema/SemaDeclCXX.cpp
>   lib/Sema/SemaAccess.cpp
>   lib/Sema/SemaTemplateInstantiateDecl.cpp
>   lib/Sema/SemaLookup.cpp
>   lib/Sema/SemaExpr.cpp
>   lib/Sema/SemaCodeComplete.cpp
>   lib/Sema/SemaDecl.cpp
>   test/Index/usrs.m
>   test/CXX/drs/dr0xx.cpp
>   test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp
>   test/CXX/basic/basic.link/p7.cpp
>   test/SemaCXX/cxx0x-initializer-references.cpp
>   test/SemaCXX/function-redecl.cpp
>   test/SemaCXX/warn-unreachable.cpp
>   test/SemaCXX/extern-c.cpp
>   test/CodeGenCXX/mangle.cpp
>   include/clang/Sema/Lookup.h
>   include/clang/Sema/Sema.h
>   include/clang/AST/DeclBase.h
>   include/clang/AST/Decl.h
>   www/cxx_dr_status.html
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to