Re: r313827 - Give external linkage and mangling to lambdas inside inline variables and variable templates.

2017-09-20 Thread Vitaly Buka via cfe-commits
reverted by r313856

On Wed, Sep 20, 2017 at 6:30 PM, Richard Smith 
wrote:

> Thanks, I'll fix this tomorrow; if that's not soon enough, please go ahead
> and revert (or fix by adding a dummy enumerator in lib/AST/Linkage.h).
>
> On 20 Sep 2017 17:39, "Vitaly Buka via cfe-commits" <
> cfe-commits@lists.llvm.org> wrote:
>
>> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8038/steps/check-clang%20ubsan/logs/stdio
>>
>>
>> --
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42:
>>  runtime error: load of value 15, which is not a valid value for type 
>> 'clang::LVComputationKind'
>> #0 0x7084fd9 in 
>> clang::LinkageComputer::computeLVForDecl(clang::NamedDecl const*, 
>> clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42
>> #1 0x7085874 in 
>> clang::LinkageComputer::getLVForClosure(clang::DeclContext const*, 
>> clang::Decl*, clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1135:14
>> #2 0x708224e in clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
>> const*, clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
>> #3 0x7085242 in clang::NamedDecl::getLinkageInternal() const 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
>> #4 0x731c021 in computeCachedProperties(clang::Type const*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3379:22
>> #5 0x7311b2d in clang::TypePropertyCache<(anonymous 
>> namespace)::Private>::ensure(clang::Type const*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3330:31
>> #6 0x7311bb2 in clang::TypePropertyCache<(anonymous 
>> namespace)::Private>::ensure(clang::Type const*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3322:7
>> #7 0x7311a8f in clang::Type::getLinkage() const 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3438:3
>> #8 0x7081a61 in clang::LinkageComputer::getLVForType(clang::Type const&, 
>> clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:194:26
>> #9 0x70831d3 in 
>> clang::LinkageComputer::getLVForNamespaceScopeDecl(clang::NamedDecl const*, 
>> clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:724:28
>> #10 0x708224e in clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
>> const*, clang::LVComputationKind) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
>> #11 0x7085242 in clang::NamedDecl::getLinkageInternal() const 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
>> #12 0x38d3ddd in clang::NamedDecl::isExternallyVisible() const 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/include/clang/AST/Decl.h:339:39
>> #13 0x5a69da3 in 
>> clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:11042:12
>> #14 0x5a693c9 in clang::Sema::AddInitializerToDecl(clang::Decl*, 
>> clang::Expr*, bool) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:10645:3
>> #15 0x555b6d1 in 
>> clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
>>  clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2276:17
>> #16 0x5559ce1 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, 
>> unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2013:21
>> #17 0x553611a in 
>> clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
>>  clang::ParsingDeclSpec&, clang::AccessSpecifier) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:979:10
>> #18 0x55359a2 in 
>> clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
>>  clang::ParsingDeclSpec*, clang::AccessSpecifier) 
>> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:995:12
>> #19 0x5534fbf in 
>> 

Re: r313827 - Give external linkage and mangling to lambdas inside inline variables and variable templates.

2017-09-20 Thread Richard Smith via cfe-commits
Thanks, I'll fix this tomorrow; if that's not soon enough, please go ahead
and revert (or fix by adding a dummy enumerator in lib/AST/Linkage.h).

On 20 Sep 2017 17:39, "Vitaly Buka via cfe-commits" <
cfe-commits@lists.llvm.org> wrote:

> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8038/steps/check-clang%20ubsan/logs/stdio
>
>
> --
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42:
>  runtime error: load of value 15, which is not a valid value for type 
> 'clang::LVComputationKind'
> #0 0x7084fd9 in clang::LinkageComputer::computeLVForDecl(clang::NamedDecl 
> const*, clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42
> #1 0x7085874 in 
> clang::LinkageComputer::getLVForClosure(clang::DeclContext const*, 
> clang::Decl*, clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1135:14
> #2 0x708224e in clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
> const*, clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
> #3 0x7085242 in clang::NamedDecl::getLinkageInternal() const 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
> #4 0x731c021 in computeCachedProperties(clang::Type const*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3379:22
> #5 0x7311b2d in clang::TypePropertyCache<(anonymous 
> namespace)::Private>::ensure(clang::Type const*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3330:31
> #6 0x7311bb2 in clang::TypePropertyCache<(anonymous 
> namespace)::Private>::ensure(clang::Type const*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3322:7
> #7 0x7311a8f in clang::Type::getLinkage() const 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3438:3
> #8 0x7081a61 in clang::LinkageComputer::getLVForType(clang::Type const&, 
> clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:194:26
> #9 0x70831d3 in 
> clang::LinkageComputer::getLVForNamespaceScopeDecl(clang::NamedDecl const*, 
> clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:724:28
> #10 0x708224e in clang::LinkageComputer::getLVForDecl(clang::NamedDecl 
> const*, clang::LVComputationKind) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
> #11 0x7085242 in clang::NamedDecl::getLinkageInternal() const 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
> #12 0x38d3ddd in clang::NamedDecl::isExternallyVisible() const 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/include/clang/AST/Decl.h:339:39
> #13 0x5a69da3 in 
> clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:11042:12
> #14 0x5a693c9 in clang::Sema::AddInitializerToDecl(clang::Decl*, 
> clang::Expr*, bool) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:10645:3
> #15 0x555b6d1 in 
> clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
>  clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2276:17
> #16 0x5559ce1 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, 
> unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2013:21
> #17 0x553611a in 
> clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
>  clang::ParsingDeclSpec&, clang::AccessSpecifier) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:979:10
> #18 0x55359a2 in 
> clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
>  clang::ParsingDeclSpec*, clang::AccessSpecifier) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:995:12
> #19 0x5534fbf in 
> clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
>  clang::ParsingDeclSpec*) 
> /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:845:12
> #20 0x553431c in 

Re: r313827 - Give external linkage and mangling to lambdas inside inline variables and variable templates.

2017-09-20 Thread Vitaly Buka via cfe-commits
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/8038/steps/check-clang%20ubsan/logs/stdio


--
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42:
runtime error: load of value 15, which is not a valid value for type
'clang::LVComputationKind'
#0 0x7084fd9 in
clang::LinkageComputer::computeLVForDecl(clang::NamedDecl const*,
clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1333:42
#1 0x7085874 in
clang::LinkageComputer::getLVForClosure(clang::DeclContext const*,
clang::Decl*, clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1135:14
#2 0x708224e in
clang::LinkageComputer::getLVForDecl(clang::NamedDecl const*,
clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
#3 0x7085242 in clang::NamedDecl::getLinkageInternal() const
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
#4 0x731c021 in computeCachedProperties(clang::Type const*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3379:22
#5 0x7311b2d in clang::TypePropertyCache<(anonymous
namespace)::Private>::ensure(clang::Type const*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3330:31
#6 0x7311bb2 in clang::TypePropertyCache<(anonymous
namespace)::Private>::ensure(clang::Type const*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3322:7
#7 0x7311a8f in clang::Type::getLinkage() const
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Type.cpp:3438:3
#8 0x7081a61 in clang::LinkageComputer::getLVForType(clang::Type
const&, clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:194:26
#9 0x70831d3 in
clang::LinkageComputer::getLVForNamespaceScopeDecl(clang::NamedDecl
const*, clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:724:28
#10 0x708224e in
clang::LinkageComputer::getLVForDecl(clang::NamedDecl const*,
clang::LVComputationKind)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1377:20
#11 0x7085242 in clang::NamedDecl::getLinkageInternal() const
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/AST/Decl.cpp:1036:28
#12 0x38d3ddd in clang::NamedDecl::isExternallyVisible() const
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/include/clang/AST/Decl.h:339:39
#13 0x5a69da3 in
clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:11042:12
#14 0x5a693c9 in clang::Sema::AddInitializerToDecl(clang::Decl*,
clang::Expr*, bool)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Sema/SemaDecl.cpp:10645:3
#15 0x555b6d1 in
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ForRangeInit*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2276:17
#16 0x5559ce1 in
clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int,
clang::SourceLocation*, clang::Parser::ForRangeInit*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2013:21
#17 0x553611a in
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:979:10
#18 0x55359a2 in
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:995:12
#19 0x5534fbf in
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:845:12
#20 0x553431c in
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/Parser.cpp:613:12
#21 0x552f0e0 in clang::ParseAST(clang::Sema&, bool, bool)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseAST.cpp:147:18
#22 0x4045c32 in clang::FrontendAction::Execute()