Description
Bugzilla Link | 37355 |
Version | trunk |
OS | Linux |
CC | @GabrielRavier |
Extended Description
Input:
__builtin_va_listq1e31(union {typeof(struct s : s)})
Output:
$ clang++ -x c++ -c -
clang-7: /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:737: AccessResult HasAccess(clang::Sema&, const {anonymous}::EffectiveContext&, const clang::CXXRecordDecl*, clang::AccessSpecifier, const {anonymous}::AccessTarget&): Assertion `Access == AS_private || Access == AS_protected' failed.
Stack dump:
0. Program arguments: /home/vegard/llvm-build/bin/clang-7 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name - -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -coverage-notes-file /home/vegard/creduce/-.gcno -resource-dir /home/vegard/llvm-build/lib/clang/7.0.0 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++ -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/backward -internal-isystem /usr/local/include -internal-isystem /home/vegard/llvm-build/lib/clang/7.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/vegard/creduce -ferror-limit 19 -fmessage-length 180 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o -.o -x c++ -
1. <stdin>:1:50: current parser token ')'
2. <stdin>:1:24: parsing struct/union/class body '(anonymous)'
3. <stdin>:1:38: parsing struct/union/class body '(anonymous union)::s'
#​0 0x0000000008da8742 llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/vegard/llvm/lib/Support/Unix/Signals.inc:403:0
#​1 0x0000000008d9e6f2 llvm::sys::RunSignalHandlers() /home/vegard/llvm/lib/Support/Signals.cpp:50:0
#​2 0x0000000008d9eea9 SignalHandler(int) /home/vegard/llvm/lib/Support/Unix/Signals.inc:243:0
#​3 0x00007f874042f390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#​4 0x00007f873f19a428 gsignal /build/glibc-Cl5G7W/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
#​5 0x00007f873f19c02a abort /build/glibc-Cl5G7W/glibc-2.23/stdlib/abort.c:91:0
#​6 0x00007f873f192bd7 __assert_fail_base /build/glibc-Cl5G7W/glibc-2.23/assert/assert.c:92:0
#​7 0x00007f873f192c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
#​8 0x000000000f4dfa23 resolveInstanceContext /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:737:0
#​9 0x000000000f4dfa23 HasAccess(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::CXXRecordDecl const*, clang::AccessSpecifier, (anonymous namespace)::AccessTarget const&) (.part.434.constprop.443) /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:820:0
#​10 0x000000000f4e3307 IsAccessible(clang::Sema&, (anonymous namespace)::EffectiveContext const&, (anonymous namespace)::AccessTarget&) /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:1357:0
#​11 0x000000000f4e7cd4 CheckEffectiveAccess(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::SourceLocation, (anonymous namespace)::AccessTarget&) /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:1416:0
#​12 0x000000000f4ec3b9 CheckAccess(clang::Sema&, clang::SourceLocation, (anonymous namespace)::AccessTarget&) (.constprop.435) /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:1460:0
#​13 0x000000000f4f4749 clang::PartialDiagnostic::freeStorage() /home/vegard/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h:147:0
#​14 0x000000000f4f4749 _ZN5clang17PartialDiagnosticD4Ev /home/vegard/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h:260:0
#​15 0x000000000f4f4749 _ZN5clang4sema14AccessedEntityD4Ev /home/vegard/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h:51:0
#​16 0x000000000f4f4749 ~AccessTarget /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:149:0
#​17 0x000000000f4f4749 clang::Sema::CheckLookupAccess(clang::LookupResult const&) /home/vegard/llvm/tools/clang/lib/Sema/SemaAccess.cpp:1852:0
#​18 0x000000000f56f29c clang::LookupResult::diagnose() /home/vegard/llvm/tools/clang/include/clang/Sema/Lookup.h:687:0
#​19 0x000000000f56f29c clang::LookupResult::~LookupResult() /home/vegard/llvm/tools/clang/include/clang/Sema/Lookup.h:226:0
#​20 0x000000000f96cae0 clang::Sema::getTypeName(clang::IdentifierInfo const&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec*, bool, bool, clang::OpaquePtr<clang::QualType>, bool, bool, bool, clang::IdentifierInfo**) /home/vegard/llvm/tools/clang/lib/Sema/SemaDecl.cpp:518:0
#​21 0x000000000ea8af70 clang::Parser::ParseBaseTypeSpecifier(clang::SourceLocation&, clang::SourceLocation&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:1181:0
#​22 0x000000000eaacf80 clang::Parser::ParseBaseSpecifier(clang::Decl*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:2077:0
#​23 0x000000000eaad847 clang::Parser::ParseBaseClause(clang::Decl*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:1999:0
#​24 0x000000000eaafe57 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:3205:0
#​25 0x000000000eab749d clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:1915:0
#​26 0x000000000ea3e3a4 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3675:0
#​27 0x000000000ea4363c clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&, clang::AccessSpecifier, clang::Parser::DeclSpecContext) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:2392:0
#​28 0x000000000eaded65 clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) /home/vegard/llvm/tools/clang/lib/Parse/ParseExpr.cpp:2385:0
#​29 0x000000000eae258c clang::Parser::ParseExprAfterUnaryExprOrTypeTrait(clang::Token const&, bool&, clang::OpaquePtr<clang::QualType>&, clang::SourceRange&) /home/vegard/llvm/tools/clang/lib/Parse/ParseExpr.cpp:1864:0
#​30 0x000000000ea1537d clang::Sema::CorrectDelayedTyposInExpr(clang::ActionResult<clang::Expr*, true>, clang::VarDecl*, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>) /home/vegard/llvm/tools/clang/include/clang/Sema/Sema.h:3260:0
#​31 0x000000000ea1537d clang::Parser::ParseTypeofSpecifier(clang::DeclSpec&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6744:0
#​32 0x000000000ea3bc1f clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3714:0
#​33 0x000000000ea9d5c9 clang::ColonProtectionRAIIObject::restore() /home/vegard/llvm/tools/clang/include/clang/Parse/RAIIObjectsForParser.h:283:0
#​34 0x000000000ea9d5c9 clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::AttributeList*, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:2569:0
#​35 0x000000000eaa7810 clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::Parser::ParsedAttributesWithRange&, clang::TypeSpecifierType, clang::Decl*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:3095:0
#​36 0x000000000eaaf2e4 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:3270:0
#​37 0x000000000eab749d clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:1915:0
#​38 0x000000000ea3e3a4 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3675:0
#​39 0x000000000ea61c88 clang::Parser::ParseParameterDeclarationClause(clang::Declarator&, clang::ParsedAttributes&, llvm::SmallVectorImpl<clang::DeclaratorChunk::ParamInfo>&, clang::SourceLocation&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6384:0
#​40 0x000000000ea6a80a clang::Parser::ParseFunctionDeclarator(clang::Declarator&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&, bool, bool) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6067:0
#​41 0x000000000ea6f22f clang::Parser::ParseScope::Exit() /home/vegard/llvm/tools/clang/include/clang/Parse/Parser.h:881:0
#​42 0x000000000ea6f22f clang::Parser::ParseDirectDeclarator(clang::Declarator&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5806:0
#​43 0x000000000ea4f1b9 clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5357:0
#​44 0x000000000ea4fe7a clang::Parser::ParseDeclarator(clang::Declarator&) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5227:0
#​45 0x000000000ea562a6 clang::Declarator::hasName() const /home/vegard/llvm/tools/clang/include/clang/Sema/DeclSpec.h:2110:0
#​46 0x000000000ea562a6 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) /home/vegard/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1932:0
#​47 0x000000000e9cc22e clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:1012:0
#​48 0x000000000e9cdd91 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (.part.168.constprop.192) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:1028:0
#​49 0x000000000e9cded7 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:1030:0
#​50 0x000000000e9dff74 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:853:0
#​51 0x000000000e9e3529 _ZN5clang13AttributePoolD4Ev /home/vegard/llvm/tools/clang/include/clang/Sema/AttributeList.h:642:0
#​52 0x000000000e9e3529 _ZN5clang16ParsedAttributesD4Ev /home/vegard/llvm/tools/clang/include/clang/Sema/AttributeList.h:755:0
#​53 0x000000000e9e3529 _ZN5clang6Parser25ParsedAttributesWithRangeD4Ev /home/vegard/llvm/tools/clang/include/clang/Parse/Parser.h:1308:0
#​54 0x000000000e9e3529 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:606:0
#​55 0x000000000e9e4e78 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) /home/vegard/llvm/tools/clang/lib/Parse/Parser.cpp:536:0
#​56 0x000000000e9baa78 clang::ParseAST(clang::Sema&, bool, bool) /home/vegard/llvm/tools/clang/lib/Parse/ParseAST.cpp:151:0
#​57 0x000000000c01df2c clang::CodeGenAction::ExecuteAction() /home/vegard/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1044:0
#​58 0x000000000aecb7d6 clang::FrontendAction::Execute() /home/vegard/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:904:0
#​59 0x000000000ad5d2c8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/vegard/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:990:0
#​60 0x000000000b2dc498 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/vegard/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:256:0
#​61 0x0000000000e993f8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/vegard/llvm/tools/clang/tools/driver/cc1_main.cpp:222:0
#​62 0x0000000000de2539 ExecuteCC1Tool /home/vegard/llvm/tools/clang/tools/driver/driver.cpp:310:0
#​63 0x0000000000de2539 main /home/vegard/llvm/tools/clang/tools/driver/driver.cpp:382:0
#​64 0x00007f873f185830 __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:325:0
#​65 0x0000000000e7e1f9 _start (/home/vegard/llvm-build/bin/clang-7+0xe7e1f9)
clang-7: error: unable to execute command: Aborted
clang-7: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 7.0.0 (https://github.com/llvm-mirror/clang fd84b47426fa82c78ca25ba20cf37fc9b0f42586) (https://github.com/llvm-mirror/llvm e1b4442d3ffc378f4a48dd0bfeb2b0876b116e2f)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/vegard/llvm-build/bin