[llvm-bugs] [Bug 28182] New: clang crashes on C++ code with ambiguous reference: Assertion `!Found.isAmbiguous() && "Cannot handle ambiguities here yet"' failed

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28182

Bug ID: 28182
   Summary: clang crashes on C++ code with ambiguous reference:
Assertion `!Found.isAmbiguous() && "Cannot handle
ambiguities here yet"' failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++ test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

This is a regression from 3.8.x. 


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang++ -c small.cpp
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp:371:
clang::NamedDecl* clang::Sema::FindFirstQualifierInScope(clang::Scope*,
clang::NestedNameSpecifier*): Assertion `!Found.isAmbiguous() && "Cannot handle
ambiguities here yet"' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7f0b62465340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7f0b61683cc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7f0b616870d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7f0b6167cb86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7f0b6167cc32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x02a193cf clang::Sema::FindFirstQualifierInScope(clang::Scope*,
clang::NestedNameSpecifier*) (/usr/local/clang-trunk/bin/clang-3.9+0x2a193cf)
#9 0x02c43694 clang::Sema::ActOnMemberAccessExpr(clang::Scope*,
clang::Expr*, clang::SourceLocation, clang::tok::TokenKind,
clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&,
clang::Decl*) (/usr/local/clang-trunk/bin/clang-3.9+0x2c43694)
#10 0x02835ffe
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult) (/usr/local/clang-trunk/bin/clang-3.9+0x2835ffe)
#11 0x02830b18 clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState) (/usr/local/clang-trunk/bin/clang-3.9+0x2830b18)
#12 0x0283367d clang::Parser::ParseCastExpression(bool, bool,
clang::Parser::TypeCastState) (/usr/local/clang-trunk/bin/clang-3.9+0x283367d)
#13 0x02833709
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(/usr/local/clang-trunk/bin/clang-3.9+0x2833709)
#14 0x02833789
clang::Parser::ParseExpression(clang::Parser::TypeCastState)
(/usr/local/clang-trunk/bin/clang-3.9+0x2833789)
#15 0x02874b96 clang::Parser::ParseExprStatement()
(/usr/local/clang-trunk/bin/clang-3.9+0x2874b96)
#16 0x0287206f
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*,
clang::Parser::ParsedAttributesWithRange&)
(/usr/local/clang-trunk/bin/clang-3.9+0x287206f)
#17 0x028721ce
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*)
(/usr/local/clang-trunk/bin/clang-3.9+0x28721ce)
#18 0x028767b9 clang::Parser::ParseCompoundStatementBody(bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x28767b9)
#19 0x02879009 clang::Parser::ParseF

[llvm-bugs] [Bug 28183] New: clang crashes on C++11 code with invalid member initializer: Assertion `AddressOfExpr->getType() == Context.OverloadTy' failed

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28183

Bug ID: 28183
   Summary: clang crashes on C++11 code with invalid member
initializer: Assertion `AddressOfExpr->getType() ==
Context.OverloadTy' failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++11 test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

It seems to affect all clang versions since as early as 3.1. 


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang++ -c -std=c++11 small.cpp
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/Sema/SemaOverload.cpp:10664:
clang::FunctionDecl*
clang::Sema::ResolveAddressOfOverloadedFunction(clang::Expr*, clang::QualType,
bool, clang::DeclAccessPair&, bool*): Assertion `AddressOfExpr->getType() ==
Context.OverloadTy' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7fed501fc340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7fed4f41acc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7fed4f41e0d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7fed4f413b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7fed4f413c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x02d1c2c0
clang::Sema::ResolveAddressOfOverloadedFunction(clang::Expr*, clang::QualType,
bool, clang::DeclAccessPair&, bool*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2d1c2c0)
#9 0x02c6c9b9 clang::InitializationSequence::Diagnose(clang::Sema&,
clang::InitializedEntity const&, clang::InitializationKind const&,
llvm::ArrayRef) (/usr/local/clang-trunk/bin/clang-3.9+0x2c6c9b9)
#10 0x02c6f9ad clang::InitializationSequence::Perform(clang::Sema&,
clang::InitializedEntity const&, clang::InitializationKind const&,
llvm::MutableArrayRef, clang::QualType*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2c6f9ad)
#11 0x02b1b3f3 clang::Sema::BuildMemberInitializer(clang::ValueDecl*,
clang::Expr*, clang::SourceLocation)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b1b3f3)
#12 0x02b2b7c1 clang::Sema::BuildMemInitializer(clang::Decl*,
clang::Scope*, clang::CXXScopeSpec&, clang::IdentifierInfo*,
clang::OpaquePtr, clang::DeclSpec const&,
clang::SourceLocation, clang::Expr*, clang::SourceLocation)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b2b7c1)
#13 0x02b2bdeb clang::Sema::ActOnMemInitializer(clang::Decl*,
clang::Scope*, clang::CXXScopeSpec&, clang::IdentifierInfo*,
clang::OpaquePtr, clang::DeclSpec const&,
clang::SourceLocation, clang::Expr*, clang::SourceLocation)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b2bdeb)
#14 0x0282082f clang::Parser::ParseMemInitializer(clang::Decl*)
(/usr/local/clang-trunk/bin/clang-3.9+0x282082f)
#15 0x02823167 clang::Parser::ParseConstructorInitializer(clang::Decl*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2823167)
#16 0x027fb370
clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&)
(/usr/local/clang-trunk/bin/clang-3.9+0x27fb370)
#17 0x027faf0e
clang::Parser::ParseLexedMethodDefs(

[llvm-bugs] [Bug 28184] New: clang crashes on valid C++ code having ternary expression with throw: Assertion `getOperand(0)->getType() == cast(getOperand(1)->getType())->getElementType()

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28184

Bug ID: 28184
   Summary: clang crashes on valid C++ code having ternary
expression with throw: Assertion
`getOperand(0)->getType() ==
cast(getOperand(1)->getType())->getElemen
tType() && "Ptr must be a pointer to Val type!"'
failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++ test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

This is a regression from 3.8.x and has to do with DR 1560. 


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang++-3.8 small.cpp
small.cpp:7:11: error: cannot compile this l-value expression yet
  (true ? throw 0 : a) = 0;
  ^~~
1 error generated.
$
$ clang++ small.cpp
small.cpp:7:11: error: cannot compile this l-value expression yet
  (true ? throw 0 : a) = 0;
  ^~~
clang-3.9: /tmp/llvm-builder/llvm-source-trunk/lib/IR/Instructions.cpp:1410:
void llvm::StoreInst::AssertOK(): Assertion `getOperand(0)->getType() ==
cast(getOperand(1)->getType())->getElementType() && "Ptr must be a
pointer to Val type!"' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7f47134af340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7f47126cdcc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7f47126d10d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7f47126c6b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7f47126c6c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x0195fecd llvm::StoreInst::AssertOK()
(/usr/local/clang-trunk/bin/clang-3.9+0x195fecd)
#9 0x019600d3 llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*,
bool, unsigned int, llvm::Instruction*)
(/usr/local/clang-trunk/bin/clang-3.9+0x19600d3)
#10 0x01ff415e
clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(llvm::Value*,
clang::CodeGen::Address, bool, clang::QualType,
clang::CodeGen::AlignmentSource, llvm::MDNode*, bool, clang::QualType, unsigned
long, bool) (/usr/local/clang-trunk/bin/clang-3.9+0x1ff415e)
#11 0x01ff45ba
clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(llvm::Value*,
clang::CodeGen::LValue, bool) (/usr/local/clang-trunk/bin/clang-3.9+0x1ff45ba)
#12 0x020015d6
clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(clang::CodeGen::RValue,
clang::CodeGen::LValue, bool) (/usr/local/clang-trunk/bin/clang-3.9+0x20015d6)
#13 0x020073aa
clang::CodeGen::CodeGenFunction::EmitBinaryOperatorLValue(clang::BinaryOperator
const*) (/usr/local/clang-trunk/bin/clang-3.9+0x20073aa)
#14 0x02000a9e clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr
const*) (/usr/local/clang-trunk/bin/clang-3.9+0x2000a9e)
#15 0x02000ba8
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2000ba8)
#16 0x01eaa6ec clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*) (/usr/local/clang-trunk/bin/clang-3.9+0x1eaa6ec

[llvm-bugs] [Bug 28185] New: CFI ICall metadata is generated incorrectly for functions with void parameter

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28185

Bug ID: 28185
   Summary: CFI ICall metadata is generated incorrectly for
functions with void parameter
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: d.c.d...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

When compiling the attached testcase with CFI ICall enabled, the metadata that
is generated is incorrect: the callsite has metadata "_ZTSFivE", and the
potential call target has metadata "_ZTSFiE". As a result, the LowerBitSets
pass in LLVM does not realize that this is a potential valid call target. But,
according to both the C and C++ specifications, functions with a single void
parameter are equivalent to the same function with an empty parameter list.

Unfortunately, I am not familiar enough with the Clang front-end to track down
the source of the bug. However, the key difference is that when
"CreateMetadataIdentifierForType(QualType(FnType, 0))" is called in
"CodeGenFunction::EmitCall()", in one instance the "FnType" variable is of type
"FunctionProtoType", whereas in the other instance it is of type
"FunctionNoProtoType". Then, when the Itanium name mangler is called at
"CXXNameMangler::mangleType()", the mangled name is represented differently.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28186] New: clang crashes on valid C++ code with friend constructor: Assertion `Name' failed

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28186

Bug ID: 28186
   Summary: clang crashes on valid C++ code with friend
constructor: Assertion `Name' failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++ test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

It seems to crash all versions 3.2 and later, except 3.8, which incorrectly
rejects the code. 


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ g++-6.1 -c small.cpp
$
$ clang++ -c small.cpp
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/Sema/SemaDeclCXX.cpp:12761:
clang::NamedDecl* clang::Sema::ActOnFriendFunctionDecl(clang::Scope*,
clang::Declarator&, clang::MultiTemplateParamsArg): Assertion `Name' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7f8d0fab4340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7f8d0ecd2cc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7f8d0ecd60d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7f8d0eccbb86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7f8d0eccbc32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x02b25324 clang::Sema::ActOnFriendFunctionDecl(clang::Scope*,
clang::Declarator&, llvm::MutableArrayRef)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b25324)
#9 0x02829b44
clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier,
clang::AttributeList*, clang::Parser::ParsedTemplateInfo const&,
clang::ParsingDeclRAIIObject*) (/usr/local/clang-trunk/bin/clang-3.9+0x2829b44)
#10 0x0282b405
clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&,
clang::Parser::ParsedAttributesWithRange&, clang::TypeSpecifierType,
clang::Decl*) (/usr/local/clang-trunk/bin/clang-3.9+0x282b405)
#11 0x0282bba0
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int,
clang::Decl*) (/usr/local/clang-trunk/bin/clang-3.9+0x282bba0)
#12 0x0282cb1f
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::Parser::ParsedAttributesWithRange&)
(/usr/local/clang-trunk/bin/clang-3.9+0x282cb1f)
#13 0x0280e830
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*)
(/usr/local/clang-trunk/bin/clang-3.9+0x280e830)
#14 0x027f3254
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
(/usr/local/clang-trunk/bin/clang-3.9+0x27f3254)
#15 0x027f39b1
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) [clone .part.222]
(/usr/local/clang-trunk/bin/clan

[llvm-bugs] [Bug 28163] New: [mc] SOP2 u64/i64/u64 instructions -- source operands do not support floating inline constants

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28163

Bug ID: 28163
   Summary: [mc] SOP2 u64/i64/u64 instructions -- source operands
do not support floating inline constants
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

Created attachment 16564
  --> https://llvm.org/bugs/attachment.cgi?id=16564&action=edit
Failing lit1 tests

Example of failing instruction:
> s_mov_b64 s[0:1], 0.5

In the case above, 0.5 is encoded as 32-bit literal F32 constant (0x3f00),
which is incorrect. Correct encoding is inline constant.

When a FP literal is encountered as a 64-bit src operand, relevant double
number is used by the SP (ALU of AMDGPU), regardless of the operand type. If an
operand is not F64, then 64-bit representation of double number is used.

In practice, such kind of operands are rarely used, so importance is low
(P=enhancement). Number of failing lit1 tests (-search=simple) = 2513.

I am almost sure that issue appears for other sub-targets as well, e.g. gfx8. 

Lit1 tests attached.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28164] New: Dividing complex numbers produces wrong results on ARM 32bit

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28164

Bug ID: 28164
   Summary: Dividing complex numbers produces wrong results on ARM
32bit
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: violeta.vukob...@rt-rk.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Clang produces wrong result for complex numbers division.
The following example:

test.c

int main() {
  _Complex double a = 3;
  _Complex double b = 0;
  printf("a/b: %f\n", (double)(a/b));
  return 0;
}

When built for arm32 hard float:

clang -target arm-linux-gnueabihf -march=armv7a -EL
--gcc-toolchain=PATH_TO_TOOLCHAIN --sysroot=PATH_TO_SYSROOT -O2
-mfloat-abi=hard -mfpu=vfp -o test test.c

It produces the following output:
a/b: 3.00

This is the part of the .s file generated from the example:
...
vldrd0, .LCPI0_0
movr12, #0
vldrd1, .LCPI0_1
vmovr0, r1, d0
strr12, [sp]
vmovr2, r3, d1
strr12, [sp, #4]
strr12, [sp, #8]
strr12, [sp, #12]
bl__divdc3
movr2, r0
movwr0, :lower16:.L.str
movtr0, :upper16:.L.str


It appears that the function __divdc3 is given the correct values and
calculates the right result, however the problem seems to be that clang reads
the return value from wrong registers (using r0 instead of d0).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28165] New: [mc] F64 insns -- floating inline constants incorrectly encoded as literals

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28165

Bug ID: 28165
   Summary: [mc] F64 insns -- floating inline constants
incorrectly encoded as literals
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

Example of failing instruction:
> v_ceil_f64 v[27:28], 0.5

In the case above, 0.5 is encoded as 32-bit literal (0x3f00), which is
incorrect and will be interpreted as 3.0517578125E-5 instead of 0.5. Correct
encoding is inline constant 240 (optimal) or 32-bit literal 0x3FE0 at
least.

I am almost sure that issue appears for other sub-targets as well, e.g. gfx8.
Number of failing lit1 tests (-search=simple) = 29349.

Tested with r272673 (git # da10a460d7c98278561225fda90855b303675f35).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28166] New: Exponential output growth introduced in the IndVarsSimplify pass

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28166

Bug ID: 28166
   Summary: Exponential output growth introduced in the
IndVarsSimplify pass
   Product: new-bugs
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: david.stenb...@ericsson.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16565
  --> https://llvm.org/bugs/attachment.cgi?id=16565&action=edit
Reproducer

When running opt:

  opt -S -Oz -O1 bugpoint-reduced-simplified.ll

with the attached bugpoint-reduced-simplified.ll file, the resulting output
file seems to grow exponentially with the number of loop iterations (40 in the
bugpoint-reduced-simplified.ll), as seen here for N=20, 21, and 22:

  $ du -h out-*
  74M   out-20.ll
  148M  out-21.ll
  295M  out-22.ll

The problem seems to be introduced in the Induction Variable Simplification
pass, where the condition for the br instruction in bb3 grows:

N = 1:
  br i1 icmp sge (i16 ptrtoint (i16* @bar to i16), i16 0),
  label %bb4.preheader, label %bb5

N = 2:
  br i1 icmp sge (i16 xor (i16 zext (i1 icmp sge
  (i16 ptrtoint (i16* @bar to i16), i16 0) to i16),
  i16 ptrtoint (i16* @bar to i16)), i16 zext (i1 icmp sge
  (i16 ptrtoint (i16* @bar to i16), i16 0) to i16)),
  label %bb4.preheader, label %bb5

And so on.

The issue might be related to how the passes are executed, as passing any
combination of the -O[z123] flags triggers the issue. When passing just one of
the flags, the issue is not seen.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28167] New: [mc][gfx7] v_writelane_b32 -- constants and literals are not accepted for src0

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28167

Bug ID: 28167
   Summary: [mc][gfx7] v_writelane_b32 -- constants and literals
are not accepted for src0
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

Created attachment 16568
  --> https://llvm.org/bugs/attachment.cgi?id=16568&action=edit
00516.tests_tg_gfx7_asm_lit1_bug.06.08.v_writelane_b32-src0-const-lit.zip

We do not expect frequent usage of similar stuff, so importance is low
(P=enhancement).

Number of failing lit1 tests (-search=simple) = 516. 

I am almost sure that issue appears for other sub-targets as well, e.g. gfx8

Tested with r272673 (git # da10a460d7c98278561225fda90855b303675f35)

Lit tests attached.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28168] New: [mc][gfx7] v_cvt_pk*, v_lerp*, v_*sad* -- implement

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28168

Bug ID: 28168
   Summary: [mc][gfx7] v_cvt_pk*, v_lerp*, v_*sad* -- implement
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

Created attachment 16569
  --> https://llvm.org/bugs/attachment.cgi?id=16569&action=edit
09035.tests_tg_gfx7_asm_lit1_bug.06.08.min.v_cvt_pk_etc_u8.zip

The following opcodes are not supported:
> v_cvt_pk_u8_f32
> v_lerp_u8
> v_mqsad_pk_u16_u8
> v_msad_u8
> v_sad_hi_u8
> v_sad_u16
> v_sad_u8

Number of failing lit1 tests (-search=simple) = 9035.

The issue may appear for other sub-targets as well, e.g. gfx8 (not verified).

Tested with r272673 (git # da10a460d7c98278561225fda90855b303675f35)

Lit tests attached.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28169] New: [mc][gfx7] VOP3 insns (v_cubeid_f32, v_fma_f32/64 etc) -- inline constants not supported

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28169

Bug ID: 28169
   Summary: [mc][gfx7] VOP3 insns (v_cubeid_f32, v_fma_f32/64 etc)
-- inline constants not supported
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

The following instructions have issues with inline constants and modifiers:
> v_cubeid_f32
> v_cubema_f32
> v_cubesc_f32
> v_cubetc_f32
> v_div_fixup_f32
> v_div_fixup_f64
> v_div_fmas_f32
> v_div_fmas_f64
> v_fma_f32
> v_fma_f64
> v_mad_f32
> v_mad_legacy_f32
> v_max3_f32
> v_med3_f32
> v_min3_f32
> v_mullit_f32

Number of failing lit1 tests (-search=simple) = 4329. 

I am almost sure that issue appears for other sub-targets as well, e.g. gfx8

Tested with r272673 (git # da10a460d7c98278561225fda90855b303675f35)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28169] [mc][gfx7] VOP3 insns (v_cubeid_f32, v_fma_f32/64 etc) -- inline constants not supported

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28169

Artem Tamazov  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28170] New: [mc][gfx7] Some VOP3 F32 insns (v_cubeid_f32, v_fma_f32 etc) -- negative inline constants not supported

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28170

Bug ID: 28170
   Summary: [mc][gfx7] Some VOP3 F32 insns (v_cubeid_f32,
v_fma_f32 etc) -- negative inline constants not
supported
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: AMDGPU
  Assignee: artem.tama...@amd.com
  Reporter: artem.tama...@amd.com
CC: llvm-bugs@lists.llvm.org, nikolay.haus...@amd.com
Classification: Unclassified

The following instructions have issues with negative inline constants:
> v_cubeid_f32
> v_cubema_f32
> v_cubesc_f32
> v_cubetc_f32
> v_div_fixup_f32
> v_div_fmas_f32
> v_fma_f32
> v_mad_f32
> v_mad_legacy_f32
> v_max3_f32
> v_med3_f32
> v_min3_f32
> v_mullit_f32

Number of failing lit1 tests (-search=simple) = 4173. 

I am almost sure that issue appears for other sub-targets as well, e.g. gfx8

Tested with r272673 (git # da10a460d7c98278561225fda90855b303675f35)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28171] New: clang crashes on C++ code with invalid access to a non-existent member: Assertion `DerivationOkay && "Can only be used with a derived-to-base conversion"' failed

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28171

Bug ID: 28171
   Summary: clang crashes on C++ code with invalid access to a
non-existent member: Assertion `DerivationOkay && "Can
only be used with a derived-to-base conversion"'
failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++ test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

It seems to affect all clang versions since as early as 3.4. 


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$   
$ 
$ clang++ -c small.cpp
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/Sema/SemaDeclCXX.cpp:1765:
bool clang::Sema::CheckDerivedToBaseConversion(clang::QualType,
clang::QualType, unsigned int, unsigned int, clang::SourceLocation,
clang::SourceRange, clang::DeclarationName, clang::CXXCastPath*, bool):
Assertion `DerivationOkay && "Can only be used with a derived-to-base
conversion"' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7fe5042f0340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7fe50350ecc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7fe5035120d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7fe503507b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7fe503507c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x02b1f9a1
clang::Sema::CheckDerivedToBaseConversion(clang::QualType, clang::QualType,
unsigned int, unsigned int, clang::SourceLocation, clang::SourceRange,
clang::DeclarationName, llvm::SmallVector*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b1f9a1)
#9 0x02b1f9e3
clang::Sema::CheckDerivedToBaseConversion(clang::QualType, clang::QualType,
clang::SourceLocation, clang::SourceRange,
llvm::SmallVector*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b1f9e3)
#10 0x02b86aa1 clang::Sema::PerformObjectMemberConversion(clang::Expr*,
clang::NestedNameSpecifier*, clang::NamedDecl*, clang::NamedDecl*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2b86aa1)
#11 0x02c3c5aa BuildFieldReferenceExpr(clang::Sema&, clang::Expr*,
bool, clang::SourceLocation, clang::CXXScopeSpec const&, clang::FieldDecl*,
clang::DeclAccessPair, clang::DeclarationNameInfo const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2c3c5aa)
#12 0x02c42848 clang::Sema::BuildMemberReferenceExpr(clang::Expr*,
clang::QualType, clang::SourceLocation, bool, clang::CXXScopeSpec const&,
clang::SourceLocation, clang::NamedDecl*, clang::LookupResult&,
clang::TemplateArgumentListInfo const*, clang::Scope const*, bool,
clang::Sema::ActOnMemberAccessExtraArgs*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2c42848)
#13 0x02c43b3c std::_Function_handler (clang::Sema&, clang::TypoExpr*, clang::TypoCorrection),
LookupMemberExprInRecord(clang::Sema&, clang::LookupResult&, clang::Expr*,
clang::RecordType const*, clang::SourceLocation, bool, clang::CXXScopeSpec&,
bool, clang::TypoExpr*&)::{lambda(clang::Sema&, clang::TypoExpr*,
clang::TypoCorrection)#2}>::_M_invoke

[llvm-bugs] [Bug 28172] New: clang crashes on invalid code (with too few arguments to __builtin_signbit) without any proper diagnostics

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28172

Bug ID: 28172
   Summary: clang crashes on invalid code (with too few arguments
to __builtin_signbit) without any proper diagnostics
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk and 3.8.x crashes when compiling the following
(invalid) code in both 32-bit and 64-bit modes on x86_64-linux-gnu. 

This is a regression from 3.7.x. 


$ clang -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang-3.7 -c small.c
small.c:3:22: error: too few arguments to function call, expected 1, have 0
  __builtin_signbit ();
  ~  ^
1 error generated.
$
$ clang -c  small.c
small.c:3:3: warning: ignoring return value of function declared with const
attribute [-Wunused-value]
  __builtin_signbit ();
  ^
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/include/clang/AST/Expr.h:2218:
const clang::Expr* clang::CallExpr::getArg(unsigned int) const: Assertion `Arg
< NumArgs && "Arg access out of range!"' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7fb0bf48d340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7fb0be6abcc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7fb0be6af0d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7fb0be6a4b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7fb0be6a4c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x0089907e llvm::isa_impl_cl::doit(clang::Expr const*) [clone .part.414]
(/usr/local/clang-trunk/bin/clang-3.9+0x89907e)
#9 0x020a8ac9 (/usr/local/clang-trunk/bin/clang-3.9+0x20a8ac9)
#10 0x020d0872
clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(clang::FunctionDecl const*,
unsigned int, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot)
(/usr/local/clang-trunk/bin/clang-3.9+0x20d0872)
#11 0x02000220
clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*,
clang::CodeGen::ReturnValueSlot)
(/usr/local/clang-trunk/bin/clang-3.9+0x2000220)
#12 0x008908f0 (anonymous
namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x8908f0)
#13 0x02026c13 (anonymous
namespace)::ScalarExprEmitter::Visit(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2026c13)
#14 0x02027333
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2027333)
#15 0x01fef44f clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr
const*, clang::CodeGen::AggValueSlot, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x1fef44f)
#16 0x02000bdd
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2000bdd)
#17 0x01eaa6ec clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*) (/usr/local/clang-trunk/bin/clang-3.9+0x1eaa6ec)
#18 0x01eab3df
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot)
(/usr/local/clang-trunk/bin/cl

[llvm-bugs] [Bug 28173] New: AVX512F crashes lowering anyext from i1 to i64

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28173

Bug ID: 28173
   Summary: AVX512F crashes lowering anyext from i1 to i64
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: mku...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

long long bar();

long long foo(bool i, int j) {
  if (j)
return bar();
  return i | (-1ULL - 1);
}

When compiling with -mavx512f, we get:

fatal error: error in backend: Cannot select: 0x417f800: i64 = any_extend
0x4181c10
0x4181c10: i1,ch = CopyFromReg 0x4106ec0, Register:i1 %vreg2
0x4182200: i1 = Register %vreg2

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28174] New: clang crashes on C++11 code with invalid use of decltype: Assertion `CachedTokens[CachedLexPos-1].getLastLoc() == Tok.getAnnotationEndLoc() && "The annotation should be un

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28174

Bug ID: 28174
   Summary: clang crashes on C++11 code with invalid use of
decltype: Assertion
`CachedTokens[CachedLexPos-1].getLastLoc() ==
Tok.getAnnotationEndLoc() && "The annotation should be
until the most recent cached token"' failed
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: s...@cs.ucdavis.edu
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The current clang trunk crashes when compiling the following C++11 test case on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

It is a regression from 3.8.x.


$ clang++ -v
clang version 3.9.0 (trunk 272993)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ clang++ -c -std=c++11 small.cpp
small.cpp:4:19: error: expected '(' after 'decltype'
void foo (decltype x);
  ^
  (
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/Lex/PPCaching.cpp:101: void
clang::Preprocessor::AnnotatePreviousCachedTokens(const clang::Token&):
Assertion `CachedTokens[CachedLexPos-1].getLastLoc() ==
Tok.getAnnotationEndLoc() && "The annotation should be until the most recent
cached token"' failed.
#0 0x01d1b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d1b425)
#1 0x01d192b6 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1d192b6)
#2 0x01d194d4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1d194d4)
#3 0x7f7df46c0340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x7f7df38decc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7f7df38e20d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x7f7df38d7b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x7f7df38d7c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x03443736
clang::Preprocessor::AnnotatePreviousCachedTokens(clang::Token const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x3443736)
#9 0x0284510c
clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&,
clang::OpaquePtr, bool, bool*, bool, clang::IdentifierInfo**)
(/usr/local/clang-trunk/bin/clang-3.9+0x284510c)
#10 0x027f97a5 clang::Parser::TryAnnotateTypeOrScopeToken(bool, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x27f97a5)
#11 0x02889bbc
clang::Parser::isCXXDeclarationSpecifier(clang::Parser::TPResult, bool*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2889bbc)
#12 0x0288bd08 clang::Parser::TryParseParameterDeclarationClause(bool*,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x288bd08)
#13 0x0288bfe9 clang::Parser::isCXXFunctionDeclarator(bool*)
(/usr/local/clang-trunk/bin/clang-3.9+0x288bfe9)
#14 0x0281c7c6 clang::Parser::ParseDirectDeclarator(clang::Declarator&)
(/usr/local/clang-trunk/bin/clang-3.9+0x281c7c6)
#15 0x028138e3
clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void
(clang::Parser::*)(clang::Declarator&))
(/usr/local/clang-trunk/bin/clang-3.9+0x28138e3)
#16 0x02814b52 clang::Parser::ParseDeclarator(clang::Declarator&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2814b52)
#17 0x02816c26 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2816c26)
#18 0x027f330d
clang::Parser::ParseDeclOrFunctionDefInternal(clang::P

[llvm-bugs] [Bug 28175] New: AVX512F lowers zext from i1 to i64 through a k-mask

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28175

Bug ID: 28175
   Summary: AVX512F lowers zext from i1 to i64 through a k-mask
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: mku...@google.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

For

long long bar();

long long foo(bool i, int j) {
  if (j)
return bar();
  return i;
}

With -mavx512f, we get:

foo(bool, int):   # @foo(bool, int)
testl   %esi, %esi
je  .LBB0_1
jmp bar() # TAILCALL
.LBB0_1:
andl$1, %edi
kmovw   %edi, %k0
kmovw   %k0, %eax
andq$1, %rax
retq

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28176] New: Mesa lp_test_blend regression with llvm-3.9.0svn

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28176

Bug ID: 28176
   Summary: Mesa lp_test_blend regression with llvm-3.9.0svn
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Keywords: regression
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: v...@freedesktop.org
CC: brian.e.p...@gmail.com, jfons...@vmware.com,
llvm-bugs@lists.llvm.org, srol...@vmware.com
Classification: Unclassified

$ lp_test_blend -v
 type=f32x4 rgb_func=rev_sub rgb_src_factor=src1_color
rgb_dst_factor=src1_alpha alpha_func=max alpha_src_factor=inv_src1_color
alpha_dst_factor=inv_dst_color ...
 type=u8nx16 rgb_func=rev_sub rgb_src_factor=const_color
rgb_dst_factor=inv_src1_color alpha_func=add alpha_src_factor=one
alpha_dst_factor=dst_alpha ...
 type=u8nx16 rgb_func=rev_sub rgb_src_factor=inv_const_alpha
rgb_dst_factor=inv_const_alpha alpha_func=sub alpha_src_factor=inv_src_color
alpha_dst_factor=zero ...
 type=u8nx16 rgb_func=rev_sub rgb_src_factor=inv_dst_alpha
rgb_dst_factor=inv_src_color alpha_func=add alpha_src_factor=src1_color
alpha_dst_factor=inv_src1_alpha ...
 type=f32x4 rgb_func=add rgb_src_factor=inv_src_color
rgb_dst_factor=inv_src1_color alpha_func=max alpha_src_factor=dst_color
alpha_dst_factor=inv_src1_alpha ...
 type=f32x4 rgb_func=rev_sub rgb_src_factor=inv_dst_alpha rgb_dst_factor=one
alpha_func=sub alpha_src_factor=zero alpha_dst_factor=src1_alpha ...
 type=f32x4 rgb_func=min rgb_src_factor=src_alpha rgb_dst_factor=const_alpha
alpha_func=max alpha_src_factor=src_alpha_saturate
alpha_dst_factor=inv_dst_alpha ...
 type=u8nx16 rgb_func=min rgb_src_factor=dst_color
rgb_dst_factor=inv_src1_color alpha_func=rev_sub alpha_src_factor=inv_dst_alpha
alpha_dst_factor=dst_color ...
LLVM ERROR: Program used external function '_llvm.x86.sse2.pminu.b' which could
not be resolved!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28177] New: Add locale conversion support in std::experimental::filesystem

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28177

Bug ID: 28177
   Summary: Add locale conversion support in
std::experimental::filesystem
   Product: libc++
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: e...@efcs.ca
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

This is the only feature missing from the current filesystem implementation.
Adding a bug to track the progress of this feature.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28178] New: lldb segfault when debugging mysql in certain functions

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28178

Bug ID: 28178
   Summary: lldb segfault when debugging mysql in certain
functions
   Product: lldb
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: pg...@j-davis.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

LLDB/clang 3.8.0.

I compiled mysql 5.6 from source (
https://github.com/mysql/mysql-server.git
6594835303da437105bb3841df976620b716e088 ), using:

cmake . -DWITH_DEBUG=1 -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX=/some/path
-DCMAKE_VERBOSE_MAKEFILE=1

I run mysqld, attach to it, and do:

...
Architecture set to: x86_64--linux.
(lldb) p 1
(int) $0 = 1
(lldb) break set -n JOIN::optimize
Breakpoint 1: where = mysqld`JOIN::optimize() + 42 at
sql_optimizer.cc:120, address = 0x00a6b96a
(lldb) c
Process 20415 resuming

[ in mysql client, issue "select 1" ]

Process 20415 stopped
* thread #22: tid = 20477, 0x00a6b96a
mysqld`JOIN::optimize(this=0x7f07740052b0) + 42 at
sql_optimizer.cc:120, name = 'mysqld', stop reason = breakpoint 1.1
frame #0: 0x00a6b96a
mysqld`JOIN::optimize(this=0x7f07740052b0) + 42 at
sql_optimizer.cc:120
   117  JOIN::optimize()
   118  {
   119ulonglong select_opts_for_readinfo;
-> 120uint no_jbuf_after= UINT_MAX;
   121
   122DBUG_ENTER("JOIN::optimize");
   123DBUG_ASSERT(!tables || thd->lex->is_query_tables_locked());
(lldb) p 1
zsh: segmentation fault  lldb -p 20415

I reproduced this based on someone else's more complicated report (and
I don't have the full details there) but if there are more details I
can provide about this simple case, please let me know.

Regards,
 Jeff Davis

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28179] New: [LTO] Build of FreeBSD rtld(1) fails with undefined symbols

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28179

Bug ID: 28179
   Summary: [LTO] Build of FreeBSD rtld(1) fails with undefined
symbols
   Product: lld
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dav...@freebsd.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

$ sh blah.sh
undefined symbol: __stack_chk_fail
undefined symbol: __libc_sigaction in
./home/buildbot/obj/usr/home/buildbot/freebsd/tmp/usr/lib/libc_pic.a(abort.So)

$ ~/work/llvm/build-release/bin/llvm-nm -print-armap libc_pic.a  |grep
__stack_chk_fail
__stack_chk_fail in stack_protector.So
 T __stack_chk_fail

$ ~/work/llvm/build-release/bin/llvm-nm -print-armap libc_pic.a  |grep
__libc_sigaction
 U __libc_sigaction
 U __libc_sigaction
 U __libc_sigaction
 U __libc_sigaction
 U __libc_sigaction
 T __libc_sigaction
 U __libc_sigaction
 U __libc_sigaction

Notably, __libc_sigaction doesn't show up in the armap.
It is defined in sigaction.So
sigaction.So:
 U __libc_interposing
 T __libc_sigaction
 T __sigaction

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28089] Short 8.3 paths make clang++ run in C mode, linking without C++ libraries

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28089

Adrian McCarthy  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #8 from Adrian McCarthy  ---
Reverted the fix because it breaks when a relative path is given.  I'm
surprised none of the tests caught that.  I'll come up with a more complete fix
and a couple tests.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28180] New: [LTO] mozjs build doesn't pass the verifier

2016-06-17 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28180

Bug ID: 28180
   Summary: [LTO] mozjs build doesn't pass the verifier
   Product: lld
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dav...@freebsd.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

$ sh run.sh
Global is external, but doesn't have external or weak linkage!
i1 ()* @_ZL9InterpretP9JSContextRN2js8RunStateE.14
function without a body cannot have metadata
i1 ()* @_ZL9InterpretP9JSContextRN2js8RunStateE.14
!77820 = distinct !DISubprogram(name: "Interpret", linkageName:
"_ZL9InterpretP9JSContextRN2js8RunStateE", scope: !75995, file: !75995, line:
1480, type: !77821, isLocal: true, isDefinition: true, scopeLine: 1481, flags:
DIFlagPrototyped, isOptimized: true, unit: !73805, variables: !77823)
Global is external, but doesn't have external or weak linkage!
i1 ()* @_ZL17InternalConstructP9JSContextRKN2JS8CallArgsE.25
function without a body cannot have metadata
i1 ()* @_ZL17InternalConstructP9JSContextRKN2JS8CallArgsE.25
!155729 = distinct !DISubprogram(name: "InternalConstruct", linkageName:
"_ZL17InternalConstructP9JSContextRKN2JS8CallArgsE", scope: !75995, file:
!75995, line: 504, type: !56316, isLocal: true, isDefinition: true, scopeLine:
505, flags: DIFlagPrototyped, isOptimized: true, unit: !73805, variables:
!155730)
Global is external, but doesn't have external or weak linkage!
void ()* @_ZL8PopScopeP9JSContextRN2js9ScopeIterE.68
function without a body cannot have metadata
void ()* @_ZL8PopScopeP9JSContextRN2js9ScopeIterE.68
!158758 = distinct !DISubprogram(name: "PopScope", linkageName:
"_ZL8PopScopeP9JSContextRN2js9ScopeIterE", scope: !75995, file: !75995, line:
923, type: !158759, isLocal: true, isDefinition: true, scopeLine: 924, flags:
DIFlagPrototyped, isOptimized: true, unit: !73805, variables: !158761)
Global is external, but doesn't have external or weak linkage!
i1 ()*
@_ZL10CallGetterP9JSContextN2JS6HandleIP8JSObjectEENS2_INS1_5ValueEEENS2_IPN2js5ShapeEEENS1_13MutableHandleIS6_EE.73
function without a body cannot have metadata
i1 ()*
@_ZL10CallGetterP9JSContextN2JS6HandleIP8JSObjectEENS2_INS1_5ValueEEENS2_IPN2js5ShapeEEENS1_13MutableHandleIS6_EE.73
!161876 = distinct !DISubprogram(name: "CallGetter", linkageName:
"_ZL10CallGetterP9JSContextN2JS6HandleIP8JSObjectEENS2_INS1_5ValueEEENS2_IPN2js5ShapeEEENS1_13MutableHandleIS6_EE",
scope: !75809, file: !75809, line: 1660, type: !161877, isLocal: true,
isDefinition: true, scopeLine: 1662, flags: DIFlagPrototyped, isOptimized:
true, unit: !73805, variables: !161879)
LLVM ERROR: Broken module found, compilation aborted!

It's been reduced by a large build, but the files themselves can be reduced a
bit more.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28181] New: ICE on invalid code on x86_64-linux-gnu (Assertion `isa(Val) && "cast() argument of incompatible type!"' failed, clang::Sema::AddBuiltinOperatorCandidates)

2016-06-17 Thread via llvm-bugs
002718aee
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2718aee)
#20 0x0271c4ff clang::Parser::ParseCompoundStatementBody(bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x271c4ff)
#21 0x0271eac1 clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) (/usr/local/clang-trunk/bin/clang-3.9+0x271eac1)
#22 0x026a39e0
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
(/usr/local/clang-trunk/bin/clang-3.9+0x26a39e0)
#23 0x026c1abc clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/usr/local/clang-trunk/bin/clang-3.9+0x26c1abc)
#24 0x0269ed5d
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
(/usr/local/clang-trunk/bin/clang-3.9+0x269ed5d)
#25 0x0269f3e1
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) [clone .part.222]
(/usr/local/clang-trunk/bin/clang-3.9+0x269f3e1)
#26 0x0269f41f
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
(/usr/local/clang-trunk/bin/clang-3.9+0x269f41f)
#27 0x026a1100
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) (/usr/local/clang-trunk/bin/clang-3.9+0x26a1100)
#28 0x026a18b0
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&)
(/usr/local/clang-trunk/bin/clang-3.9+0x26a18b0)
#29 0x0269c16b clang::ParseAST(clang::Sema&, bool, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x269c16b)
#30 0x0236afbb clang::CodeGenAction::ExecuteAction()
(/usr/local/clang-trunk/bin/clang-3.9+0x236afbb)
#31 0x0209aa4e clang::FrontendAction::Execute()
(/usr/local/clang-trunk/bin/clang-3.9+0x209aa4e)
#32 0x02071526
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2071526)
#33 0x02123942
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2123942)
#34 0x00b0eba8 cc1_main(llvm::ArrayRef, char const*,
void*) (/usr/local/clang-trunk/bin/clang-3.9+0xb0eba8)
#35 0x00ac3325 main (/usr/local/clang-trunk/bin/clang-3.9+0xac3325)
#36 0x7fb88f719b45 __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21b45)
#37 0x00b0ad04 _start (/usr/local/clang-trunk/bin/clang-3.9+0xb0ad04)
Stack dump:
0.Program arguments: /usr/local/clang-trunk/bin/clang-3.9 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name
small.c -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
-resource-dir /usr/local/clang-trunk/bin/../lib/clang/3.9.0 -c-isystem .
-c-isystem /usr/local/include/csmith -internal-isystem /usr/local/include
-internal-isystem /usr/local/clang-trunk/bin/../lib/clang/3.9.0/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include
-fdebug-compilation-dir
/home/cnsun/workspace/meta-compiler/error-fuzzer/temp-runs/IdentifierSubstituionFuzzingEngine/crash/20160617-edu.ucdavis.error.compiler.CompilerTestConfig@4e6a55c3--O3-c-Weverything-std=c11-build-034532
-ferror-limit 19 -fmessage-length 154 -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/small-afa38c.o -x c
small.c 
1.small.c:6:27: current parser token ';'
2.small.c:5:12: parsing function body 'fn1'
3.small.c:5:12: in compound statement ('{}')
clang-3.9: error: unable to execute command: Aborted
clang-3.9: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.9.0 (trunk 272938) (llvm/trunk 272936)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang-3.9: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-3.9: note: diagnostic msg: 


PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-3.9: note: diagnostic msg: /tmp/small-62d1d4.c
clang-3.9: note: diagnostic msg: /tmp/small-62d1d4.sh
clang-3.9: note: diagnostic msg: 


$: cat small.c
struct spinlock_t {
  int lock;
} audit_skb_queue;

void fn1() {
  audit_skb_queue = (lock);
}  
$:

-- 
Y