Re: r313827 - Give external linkage and mangling to lambdas inside inline variables and variable templates.
reverted by r313856 On Wed, Sep 20, 2017 at 6:30 PM, Richard Smithwrote: > 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.
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.
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()