From bugzilla-daemon at llvm.org Mon Jun 1 01:42:04 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 08:42:04 +0000
Subject: [LLVMbugs] [Bug 23715] New: error: invalid symbol redefinition __asm
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23715
Bug ID: 23715
Summary: error: invalid symbol redefinition __asm
Product: libraries
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: LLVM assembly language parser
Assignee: unassignedbugs at nondot.org
Reporter: javier_3 at runbox.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
This error shows up when compiling with O2 or O3, but not with O0 or O1. Note
that the error is triggered in a file included from line 3 of to_write_C and
_before_ that error I get a warning from line 387 of that same file.
./to_write_C.c:387:21: warning: unused variable 'p' [-Wunused-variable]
default: {void* p=va_arg(ap,void*);} //let's
hope this is right
^
In file included from ATfileoutput.th:8:
In file included from ./to_write_C.c:3:
./to_write_CLANG.c:12:1: error: invalid symbol redefinition
__asm{
^
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 02:06:45 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 09:06:45 +0000
Subject: [LLVMbugs] [Bug 23716] New: Frontend crashes on
clang::Sema::tryCaptureVariable
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23716
Bug ID: 23716
Summary: Frontend crashes on clang::Sema::tryCaptureVariable
Product: clang
Version: 3.6
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++14
Assignee: unassignedclangbugs at nondot.org
Reporter: krzysztof.sinica at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
./clang -std=c++14 -stdlib=libstdc++ -I/usr/include/x86_64-linux-gnu/c++/5
~/main.cpp
0 clang 0x0000000002436c48 llvm::sys::PrintStackTrace(_IO_FILE*) +
40
1 clang 0x000000000243808b
2 libpthread.so.0 0x00007fd91aafe340
3 clang 0x00000000013ae923 clang::DeclContext::getRedeclContext() +
19
4 clang 0x00000000008fb96d
5 clang 0x0000000000ccdb5f
clang::Sema::tryCaptureVariable(clang::VarDecl*, clang::SourceLocation,
clang::Sema::TryCaptureKind, clang::SourceLocation, bool, clang::QualType&,
clang::QualType&, unsigned int const*) + 255
6 clang 0x0000000000cd0b6d
clang::Sema::tryCaptureVariable(clang::VarDecl*, clang::SourceLocation,
clang::Sema::TryCaptureKind, clang::SourceLocation) + 61
7 clang 0x0000000000ecc0ed
8 clang 0x0000000000ecbc56
9 clang 0x0000000000eb6f7e
10 clang 0x0000000000eb7d67
11 clang 0x0000000000eccb1f
12 clang 0x0000000000eb6ac3
13 clang 0x0000000000eb6204
14 clang 0x0000000000ec1421
15 clang 0x0000000000eb61b1 clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&) + 65
16 clang 0x0000000000edd9ec
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool) + 3772
17 clang 0x0000000000e8c918
clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation,
bool) + 56
18 clang 0x0000000000c8fc90
clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, clang::SourceLocation,
clang::ObjCInterfaceDecl const*, bool) + 1536
19 clang 0x0000000000def329
20 clang 0x0000000000df4cf1
clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef,
clang::SourceLocation) + 4609
21 clang 0x0000000000c96740 clang::Sema::ActOnCallExpr(clang::Scope*,
clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef,
clang::SourceLocation, clang::Expr*, bool) + 1296
22 clang 0x0000000000a9adeb
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult) + 4011
23 clang 0x0000000000a9f7c8 clang::Parser::ParseCastExpression(bool,
bool, bool&, clang::Parser::TypeCastState) + 17480
24 clang 0x0000000000a989c2
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) + 130
25 clang 0x0000000000a98929
clang::Parser::ParseExpression(clang::Parser::TypeCastState) + 9
26 clang 0x0000000000ad1299 clang::Parser::ParseExprStatement() + 41
27 clang 0x0000000000ad0cb1
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)
+ 2881
28 clang 0x0000000000ad00ff
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&, bool, clang::SourceLocation*) + 143
29 clang 0x0000000000ad67af
clang::Parser::ParseCompoundStatementBody(bool) + 1791
30 clang 0x0000000000ad7016
clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 182
31 clang 0x0000000000a67185
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) +
2261
32 clang 0x0000000000a76db7
clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int,
clang::SourceLocation*, clang::Parser::ForRangeInit*) + 2583
33 clang 0x0000000000a665e4
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier) + 788
34 clang 0x0000000000a660b0
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) + 384
35 clang 0x0000000000a654be
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 3118
36 clang 0x0000000000a647c8
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&) + 360
37 clang 0x0000000000a610f6 clang::ParseAST(clang::Sema&, bool, bool)
+ 422
38 clang 0x000000000070dde9 clang::FrontendAction::Execute() + 57
39 clang 0x00000000006e3613
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 803
40 clang 0x00000000006c9a6b
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 2795
41 clang 0x00000000006c179e cc1_main(llvm::ArrayRef,
char const*, void*) + 702
42 clang 0x00000000006c87a2 main + 11506
43 libc.so.6 0x00007fd919cb0ec5 __libc_start_main + 245
44 clang 0x00000000006c1409 _start + 41
Stack dump:
0. Program arguments:
/home/user/clang/clang+llvm-3.6.1-x86_64-linux-gnu/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free
-disable-llvm-verifier -main-file-name main.cpp -mrelocation-model static
-mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-target-linker-version 2.25 -dwarf-column-info -resource-dir
/home/user/clang/clang+llvm-3.6.1-x86_64-linux-gnu/bin/../lib/clang/3.6.1 -I
/usr/include/x86_64-linux-gnu/c++/5 -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0/backward
-internal-isystem /usr/local/include -internal-isystem
/home/user/clang/clang+llvm-3.6.1-x86_64-linux-gnu/bin/../lib/clang/3.6.1/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include
-std=c++14 -fdeprecated-macro -fdebug-compilation-dir
/home/user/clang/clang+llvm-3.6.1-x86_64-linux-gnu/bin -ferror-limit 19
-fmessage-length 238 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -o /tmp/main-e38255.o -x c++
/home/user/main.cpp
1. /home/user/main.cpp:25:7: current parser token ')'
2. /home/user/main.cpp:19:34: parsing function body 'main'
3. /home/user/main.cpp:19:34: in compound statement ('{}')
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.6.1 (tags/RELEASE_361/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang: 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: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/main-535d96.cpp
clang: note: diagnostic msg: /tmp/main-535d96.sh
clang: note: diagnostic msg:
********************
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 02:13:00 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 09:13:00 +0000
Subject: [LLVMbugs] [Bug 23632] llc optimises unaligned intrinsic to aligned
load
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23632
igorb changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |igor.breger at intel.com
Resolution|--- |FIXED
--- Comment #1 from igorb ---
Fixed in r238724
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 02:16:58 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 09:16:58 +0000
Subject: [LLVMbugs] [Bug 23717] New: -Wfloat-equal issued too much
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23717
Bug ID: 23717
Summary: -Wfloat-equal issued too much
Product: clang
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: javier_3 at runbox.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The code at SemaChecking.cpp, function Sema::CheckFloatComparison, issues the
warning warn_floatingpoint_eq (-Wfloat-equal) in case of using == or != with
floating point operands, but prevents the issuing of the warning in some
special cases, among which:
// Special case: check for comparisons against literals that can be exactly
// represented by APFloat.
So if the code reads if(x==0.0F) no warning is issued, but if the user simply
writes if(x==0) the warning is issued.
Given that both pieces of code get translated to exactly the same and the user
obviously knows what he is doing when writing if(x==0), my point is that in the
second case the warning should not be issued too.
I get dozens of annoying warning because of comparisons against zero, but I
don't want to turn off that warning because I think it's really meaningful in
the other cases, e.g. if(x==y).
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 05:06:56 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 12:06:56 +0000
Subject: [LLVMbugs] [Bug 23719] New: OpenCL: Crash with a vector initializer
list with a value that is a function call
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23719
Bug ID: 23719
Summary: OpenCL: Crash with a vector initializer list with a
value that is a function call
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: pekka.jaaskelainen at tut.fi
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14411
--> https://llvm.org/bugs/attachment.cgi?id=14411&action=edit
backtrace
// reproduce with:
// clang -DBUG test_vec_init.c -c -emit-llvm -o - -S
typedef float float2 __attribute__((__ext_vector_type__(2)));
float2 func(float2 a) {
return a;
}
void test_vec_init() {
volatile float2 a = (float2) ( 1.0f, 2.0f );
#ifndef BUG
// This works.
volatile float2 res = func(a);
volatile float2 x =
(float2) (res.x, res.y);
#else
// This crashes.
volatile float2 x =
(float2) (func(a).x, a.x);
#endif
}
When compiled in C mode (without -x cl) it doesn't crash.
Backtrace attached.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 09:09:33 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 16:09:33 +0000
Subject: [LLVMbugs] [Bug 23720] New: MachineInstr verification error with
sub-reg liveness enabled in R600 backend
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23720
Bug ID: 23720
Summary: MachineInstr verification error with sub-reg liveness
enabled in R600 backend
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Register Allocator
Assignee: unassignedbugs at nondot.org
Reporter: tstellar at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14413
--> https://llvm.org/bugs/attachment.cgi?id=14413&action=edit
Reduced test case
This bug can be reproduced by applying the attached patch to enable sub-reg
liveness and running the attached test case with llc:
./llc -verify-machineinstrs -march=amdgcn r600-sub-reg-liveness-crash.ll -o -
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 09:35:30 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 16:35:30 +0000
Subject: [LLVMbugs] [Bug 21945] clang crashes with -ferror-limit=1
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=21945
Eugene changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |kevg at sphinxsearch.com
Resolution|--- |FIXED
--- Comment #3 from Eugene ---
http://llvm.org/viewvc/llvm-project?view=revision&revision=238758
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 12:07:39 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 19:07:39 +0000
Subject: [LLVMbugs] [Bug 23721] New: "double indirection not handled" crash
with -fsanitize=address
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23721
Bug ID: 23721
Summary: "double indirection not handled" crash with
-fsanitize=address
Product: clang
Version: 3.6
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: oleg00 at gmail.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
clang:
/usr/global/zeev/llvm-3.6.1.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:781:
void llvm::DwarfCompileUnit::addComplexAddress(const llvm::DbgVariable&,
llvm::DIE&, llvm::dwarf::Attribute, const llvm::MachineLocation&): Assertion
`!DV.getVariable().isIndirect() && "double indirection not handled"' failed.
#0 0x7fcc900713b2 llvm::sys::PrintStackTrace(_IO_FILE*)
(/usr/global/zeev/install/jpm/ro/3rd/llvm/3.6.1/x86_64-linux-2.6-libc6/bin/../lib/libLLVM-3.6.so+0xcd23b2)
Compiles fines without the sanitizer. Also compiles fine when I remove the
always_inline attribute from one of the functions in the call chain.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 14:27:12 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 21:27:12 +0000
Subject: [LLVMbugs] [Bug 23720] MachineInstr verification error with sub-reg
liveness enabled in R600 backend
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23720
Matthias Braun changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Assignee|unassignedbugs at nondot.org |matze at braunis.de
--- Comment #2 from Matthias Braun ---
Fixed by r238785.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 15:32:36 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Mon, 01 Jun 2015 22:32:36 +0000
Subject: [LLVMbugs] [Bug 20927] [ARM64] Inefficient range check sequence
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=20927
Matthias Braun changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |matze at braunis.de
Resolution|--- |FIXED
Assignee|unassignedbugs at nondot.org |matze at braunis.de
--- Comment #1 from Matthias Braun ---
Fixed by r238793.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 18:06:18 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 01:06:18 +0000
Subject: [LLVMbugs] [Bug 23722] New: clang gives compiler where gcc does not
when dealing with extern "C" function declarations
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23722
Bug ID: 23722
Summary: clang gives compiler where gcc does not when dealing
with extern "C" function declarations
Product: clang
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: eldlistmailingz at tropicsoft.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
I regularly test clang on Windows targeting mingw/gcc-4.8.1 against Boost
libraries. Clang is failing compilation where gcc-4.8.1 succeeds when it comes
to extern "C" declarations in Boost's internal winapi library and in the
mingw/w32api package. The code which illustrates this bug is:
#include
#include
int main()
{
boost::detail::winapi::FILETIME_ ft;
boost::detail::winapi::GetSystemTimeAsFileTime(&ft);
return 0;
}
Compiled with gcc-4.8.1 using Boost bjam with command line parameters of:
-ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -march=i686 -m32
we get no errors and a successful compilation.
Compiled with the latest clang built from source with command line parameters
of:
-c -x c++ -O0 -g -fno-inline -Wall -g -march=i686 -m32
we get errors of:
"In file included from test_winapi.cpp:2:
In file included from /mingw/include\windows.h:62:
/mingw/include\winbase.h:1217:24: error: conflicting types for
'FileTimeToLocalFileTime'
WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME);
^
..\..\..\boost/detail/winapi/time.hpp:73:9: note: previous declaration is here
FileTimeToLocalFileTime(const FILETIME_* lpFileTime,
^
In file included from test_winapi.cpp:2:
In file included from /mingw/include\windows.h:62:
/mingw/include\winbase.h:1394:24: error: conflicting types for 'GetSystemTime'
WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
^
..\..\..\boost/detail/winapi/time.hpp:76:9: note: previous declaration is here
GetSystemTime(SYSTEMTIME_* lpSystemTime);
^
In file included from test_winapi.cpp:2:
In file included from /mingw/include\windows.h:62:
/mingw/include\winbase.h:1397:24: error: conflicting types for
'GetSystemTimeAsFileTime'
WINBASEAPI void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
^
..\..\..\boost/detail/winapi/time.hpp:70:9: note: previous declaration is here
GetSystemTimeAsFileTime(FILETIME_* lpFileTime);
^
In file included from test_winapi.cpp:2:
In file included from /mingw/include\windows.h:62:
/mingw/include\winbase.h:1754:24: error: conflicting types for
'SystemTimeToFileTime'
WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
^
..\..\..\boost/detail/winapi/time.hpp:78:9: note: previous declaration is here
SystemTimeToFileTime(const SYSTEMTIME_* lpSystemTime,
^"
Notice that the program itself is only invoking the GetSystemTimeAsFileTime
function, but clang is saying that all "mismatched" declarations indicate
errors.
If we take a look at GetSystemTimeAsFileTime in the mingw headers we see within
an extern "C" block:
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME,*PFILETIME,*LPFILETIME;
WINBASEAPI void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
and when we preprocess this function call we see:
void __attribute__((__stdcall__)) GetSystemTimeAsFileTime(LPFILETIME);
If we take a look at GetSystemTimeAsFileTime in the Boost headers we see within
an extern "C" block:
typedef struct _FILETIME {
DWORD_ dwLowDateTime;
DWORD_ dwHighDateTime;
} FILETIME_, *PFILETIME_, *LPFILETIME_;
__declspec(dllimport) void WINAPI
GetSystemTimeAsFileTime(FILETIME_* lpFileTime);
and when we preprocess this function call we see:
__attribute__((dllimport)) void __attribute__((__stdcall__))
GetSystemTimeAsFileTime(FILETIME_* lpFileTime);
Clang appears to be saying that the since the declarations of the
GetSystemTimeAsFileTime don't match exactly because one of them has the
__attribute__((dllimport)) while the other does not, it is an error. For gcc,
which sees exactly the same preprocessed code, it is not an error.
I don't know, based on the C++ standard, whether it is an error or not but if
it is I would like it explained according to the C++ standard why it is.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 20:40:37 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 03:40:37 +0000
Subject: [LLVMbugs] [Bug 23722] clang gives compiler where gcc does not when
dealing with extern "C" function declarations
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23722
Richard Smith changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |richard-llvm at metafoo.co.uk
Resolution|--- |INVALID
--- Comment #1 from Richard Smith ---
The problem is that the two function declarations have different parameter
types. The windows.h version takes ::_FILETIME*, whereas the boost version
takes boost::detail::winapi::_FILETIME*. Because they're 'extern "C"'
functions, they are redeclarations of the same function, and are ill-formed
because they have different types.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 20:49:07 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 03:49:07 +0000
Subject: [LLVMbugs] [Bug 23723] New: is_always_equal unimplemented
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23723
Bug ID: 23723
Summary: is_always_equal unimplemented
Product: libc++
Version: 3.6
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: david_work at me.com
CC: llvmbugs at cs.uiuc.edu, mclow.lists at gmail.com
Classification: Unclassified
Although LWG DR 2467, a minor adjustment to allocator_traits::is_always_equal,
is marked as complete on the C++1z status page, the identifier
"is_always_equal" does not appear at all in .
There was a recent custom-SFINAE rewrite of allocator_traits, but it's also
absent from my local repo which should only be slightly older. Looks like it
was never implemented.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 21:05:53 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 04:05:53 +0000
Subject: [LLVMbugs] [Bug 23713] Missing include for Documentation.h in
clang-c/Index.h
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23713
Richard Smith changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |richard-llvm at metafoo.co.uk
Resolution|--- |INVALID
--- Comment #2 from Richard Smith ---
We had such a #include, but removed it for 3.7; see:
http://clang.llvm.org/docs/ReleaseNotes.html#internal-api-changes
The fix is to update libclang client code to include Documentation.h if it uses
the documentation portion of the libclang API.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Mon Jun 1 22:45:40 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 05:45:40 +0000
Subject: [LLVMbugs] [Bug 23725] New: GCC finds "set but not used" but Clang
doesn't
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23725
Bug ID: 23725
Summary: GCC finds "set but not used" but Clang doesn't
Product: clang
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: wkoszek at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Host machine (OSX):
wk% clang -v
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix
Vagrant VM with Ubuntu ubuntu/trusty64:
vagrant at vagrant-ubuntu-trusty-64:/vagrant/unix/samples$ cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
With GCC:
vagrant at vagrant-ubuntu-trusty-64:/vagrant/unix/samples$ make
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_0
../../samples/sample_0.c ../../cla.c
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_1
../../samples/sample_1.c ../../cla.c
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_2
../../samples/sample_2.c ../../cla.c
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_3
../../samples/sample_3.c ../../cla.c
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_4
../../samples/sample_4.c ../../cla.c
../../samples/sample_4.c: In function ‘nf_cmdlist_build’:
../../samples/sample_4.c:84:14: warning: variable ‘reg_list’ set but not used
[-Wunused-but-set-variable]
struct cla *reg_list;
^
cc -g -ggdb -O2 -Wall -pedantic -std=c99 -I../../samples -I../.. -o sample_5
../../samples/sample_5.c ../../cla.c
vagrant at vagrant-ubuntu-trusty-64:/vagrant/unix/samples$ vim ../^C
Clang doesn't give me any warning. It can't figure out that reg_list isn't
used.
Code:
git clone https://github.com/wkoszek/libcla.git
Commit:
https://github.com/wkoszek/libcla/commit/a4b5afe528ce67daf10e23e838f5643ef5865c0b
Just comment out line 114 to get the same result.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 00:02:13 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 07:02:13 +0000
Subject: [LLVMbugs] [Bug 23726] New: got error when compile c++ code under
VS2013
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23726
Bug ID: 23726
Summary: got error when compile c++ code under VS2013
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: zs0723 at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14416
--> https://llvm.org/bugs/attachment.cgi?id=14416&action=edit
testclang.cpp and testclang.sh
1>------ Build started: Project: testclang, Configuration: Release Win32 ------
1> Basic Block in function '?clear at ios_base@std@@QAEXH_N at Z' does not have
terminator!
1> label %entry
1>CL : fatal error : error in backend: Broken function found, compilation
aborted!
1>clang-cl.exe : error : clang frontend command failed with exit code 70 (use
-v to see invocation)
1> clang version 3.7.0 (trunk)
1> Target: i686-pc-windows-msvc
1> Thread model: posix
1> clang-cl.exe: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
1> clang-cl.exe: note: diagnostic msg:
1> ********************
1>
1> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
1> Preprocessed source(s) and associated run script(s) are located at:
1> clang-cl.exe: note: diagnostic msg:
C:\Users\zhangv6\AppData\Local\Temp\testclang-412e75.cpp
1> clang-cl.exe: note: diagnostic msg:
C:\Users\zhangv6\AppData\Local\Temp\testclang-412e75.sh
1> clang-cl.exe: note: diagnostic msg:
1>
1> ********************
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
The version is : LLVM-3.7.0-r238743-win32.exe
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 01:44:45 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 08:44:45 +0000
Subject: [LLVMbugs] [Bug 23727] New: libclang fails to build in 64-bit mode
using Visual Studio 2013
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23727
Bug ID: 23727
Summary: libclang fails to build in 64-bit mode using Visual
Studio 2013
Product: Build scripts
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: cmake
Assignee: unassignedbugs at nondot.org
Reporter: vinay_sajip at yahoo.co.uk
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
libclang fails to build in 64-bit mode on Visual Studio 2013, though it builds
without errors in 32-bit mode. (Release configuration)
The reason is that the linker options and inputs for certain projects are wrong
in 64-bit mode. After a number of changes were made, libclang was successfully
built in 64-bit mode. Specifically, project-by-project, the changes made were
as follows:
clang-tblgen:
Additional option /machine:x86 was specified in linker options (removed).
In the linker input, the following hardcoded library paths were changed
from ..\..\..\..\Release\lib\FOO.lib to ..\..\..\..\x64\Release\FOO.lib:
..\..\..\..\Release\lib\LLVMSupport.lib
..\..\..\..\Release\lib\LLVMTableGen.lib
llvm-tblgen:
Additional option /machine:x86 was specified in linker options (removed).
In the linker input, the following hardcoded library paths were changed
from ..\..\..\..\Release\lib\FOO.lib to ..\..\..\..\x64\Release\FOO.lib:
..\..\..\..\Release\lib\LLVMSupport.lib
..\..\..\..\Release\lib\LLVMTableGen.lib
libclang:
Additional option /machine:x86 was specified in linker options (removed).
In the linker input, the following hardcoded library paths were changed
from ..\..\..\..\Release\lib\FOO.lib to ..\..\..\..\x64\Release\FOO.lib
..\..\..\..\Release\lib\clangAST.lib
..\..\..\..\Release\lib\clangBasic.lib
..\..\..\..\Release\lib\clangFrontend.lib
..\..\..\..\Release\lib\clangIndex.lib
..\..\..\..\Release\lib\clangLex.lib
..\..\..\..\Release\lib\clangSema.lib
..\..\..\..\Release\lib\clangTooling.lib
..\..\..\..\Release\lib\clangARCMigrate.lib
..\..\..\..\Release\lib\LLVMCore.lib
..\..\..\..\Release\lib\LLVMSupport.lib
..\..\..\..\Release\lib\clangFormat.lib
..\..\..\..\Release\lib\clangToolingCore.lib
..\..\..\..\Release\lib\clangASTMatchers.lib
..\..\..\..\Release\lib\clangDriver.lib
..\..\..\..\Release\lib\clangParse.lib
..\..\..\..\Release\lib\LLVMMCParser.lib
..\..\..\..\Release\lib\LLVMOption.lib
..\..\..\..\Release\lib\clangSerialization.lib
..\..\..\..\Release\lib\clangEdit.lib
..\..\..\..\Release\lib\LLVMBitReader.lib
..\..\..\..\Release\lib\clangStaticAnalyzerCheckers.lib
..\..\..\..\Release\lib\clangStaticAnalyzerCore.lib
..\..\..\..\Release\lib\clangRewrite.lib
..\..\..\..\Release\lib\clangAnalysis.lib
..\..\..\..\Release\lib\LLVMMC.lib
Possibly a parameterised directory is better, such as
$(SolutionDir)$(Platform)\$(Configuration)\ - however it would need to be
consistent across x86 and x64 to be maximally useful.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 03:50:31 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 10:50:31 +0000
Subject: [LLVMbugs] [Bug 23729] New: Clang has missing/different macros than
gcc - causing compatibility issues
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23729
Bug ID: 23729
Summary: Clang has missing/different macros than gcc - causing
compatibility issues
Product: clang
Version: 3.6
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: npl at chello.at
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14419
--> https://llvm.org/bugs/attachment.cgi?id=14419&action=edit
gcc defines
Hello,
I tried compiling out project at work, which is a realtime firmware for arm.
Ideally clang would be just able to generate correct code, but it misbehaves on
a few accounts. I consider some of these macros pretty much defacto-standard,
as eg. newlib is using and depending on these.
__SOFTFP__ is not set, implicating hardware floating point support
__USES_INITFINI__ is not set, resulting in initialisation functions not being
called
And several macros are quite different:
__ARM_SIZEOF_WCHAR_T 32 vs. 4
__FLT_* sizes are different, probably just nonrelevant extra precision
__INTPTR_TYPE__,__UINT32_TYPE__,__WINT_TYPE__ etc. int vs. long int (kills
binary compatibility)
I used these 2 commands (clang needed the system directories defined, din`t
pick them up correctly)
LC_ALL=C /opt/toolchain/bin/arm-none-eabi-g++ -fmessage-length=0 -DNVALGRIND
-Wignored-qualifiers -mcpu=arm926ej-s -fstrict-aliasing -ftls-model=local-exec
-fno-threadsafe-statics -ffunction-sections -fdata-sections
-mpoke-function-name -DPOKE_FUNCTION_NAME -Wpointer-arith -Wno-psabi
-Wsign-compare -fstrict-overflow -Wnoexcept -std=gnu++11 -Wall -O2 -g2 \
\
-E -P -dD -x c++ -v - < /dev/null 2>&1
LC_ALL=C /opt/toolchain/bin/arm-none-eabi-clang++ -fmessage-length=0
-DNVALGRIND -Wignored-qualifiers -mcpu=arm926ej-s -fstrict-aliasing
-ftls-model=local-exec -fno-threadsafe-statics -ffunction-sections
-fdata-sections -fshort-enums -fshort-enums -Wpointer-arith -Wsign-compare
-Wimplicit-fallthrough -std=gnu++11 -Wall -O2 -g3 \
\
-nostdinc
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/include/c++/4.8.4
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/include/c++/4.8.4/arm-none-eabi/armv5te
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/include/c++/4.8.4/backward
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/include
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/include-fixed
-I/opt/toolchain-4.8/lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/include
\
-E -P -dD -x c++ -v - < /dev/null 2>&1
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 07:21:49 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 14:21:49 +0000
Subject: [LLVMbugs] [Bug 23732] New: C++ global initializers are "optimized"
away when used with section attribute
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23732
Bug ID: 23732
Summary: C++ global initializers are "optimized" away when used
with section attribute
Product: clang
Version: 3.6
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: C++11
Assignee: unassignedclangbugs at nondot.org
Reporter: npl at chello.at
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14421
--> https://llvm.org/bugs/attachment.cgi?id=14421&action=edit
Code showing the issue
Hello,
Having a static instance of a class with an initializer usually will create a
function (in __init_array) so that the constructor is called early.
Using the section attribute will result in the function being omitted and the
programm ill-formed.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 08:01:02 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 15:01:02 +0000
Subject: [LLVMbugs] [Bug 23733] New: [Windows] Clang doesn't support
std::atomic with Microsoft's STL
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23733
Bug ID: 23733
Summary: [Windows] Clang doesn't support std::atomic with Microsoft's STL
Product: clang
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: sebastian.redl at getdesigned.at
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
This code doesn't work with clang-cl for Visual Studio 2013:
void test() {
std::atomic fptr(nullptr);
fptr.load();
}
The problem is that in atomic's implementation, all pointer atomics (which
includes pointer-to-function atomics) store a void* internally, and load()
static_casts the void* to the actual pointer type. Apparently, Microsoft's
compiler accepts a static_cast((void*)0). clang-cl does not.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 08:16:48 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 15:16:48 +0000
Subject: [LLVMbugs] [Bug 23697] ld/sd don't support some addressing modes
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23697
David Chisnall changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |csdavec at swan.ac.uk
Resolution|--- |DUPLICATE
--- Comment #1 from David Chisnall ---
*** This bug has been marked as a duplicate of bug 23734 ***
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 08:16:49 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 15:16:49 +0000
Subject: [LLVMbugs] [Bug 23370] [meta] Using Clang/LLVM as the FreeBSD/mips
system compiler
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23370
Bug 23370 depends on bug 23697, which changed state.
Bug 23697 Summary: ld/sd don't support some addressing modes
https://llvm.org/bugs/show_bug.cgi?id=23697
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |DUPLICATE
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 08:16:12 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 15:16:12 +0000
Subject: [LLVMbugs] [Bug 23734] New: [mips] MipsAsmParser doesn't handle
expressions with multiple leading parens
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23734
Bug ID: 23734
Summary: [mips] MipsAsmParser doesn't handle expressions with
multiple leading parens
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Backend: MIPS
Assignee: unassignedbugs at nondot.org
Reporter: csdavec at swan.ac.uk
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
These expressions occur a lot in the FreeBSD kernel, as a result of macro
expansion. For example (simplified from the original):
sd $7, ((8) - 1) + 40 ($29)
The loop in MipsAsmParser::parseMemOffset consumes the two leading parens and
then calls MCAsmParser::parseParenExpression(). This then parses until the end
of the ((8) - 1) expression. The next token is then +, which is unexpected
(lparen then register is expected).
This is caused by the desire to be able to parse ((%lo .... )) expressions,
using the existing infrastructure. I suspect that the correct solution is to
extend AsmParser to allow unrecognised tokens to be handled by targets in
parseExpression().
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 09:35:57 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 16:35:57 +0000
Subject: [LLVMbugs] [Bug 23723] is_always_equal unimplemented
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23723
Marshall Clow (home) changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #1 from Marshall Clow (home) ---
Fixed in revision 238848.
Thanks for the reminder; I closed the LWG issue because it was just a wording
clarification; not really a code change. However, the feature was part of
N4258, which hadn't been implemented yet (and is marked as not yet implemented)
so I guess it was a bit premature.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 11:16:56 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 18:16:56 +0000
Subject: [LLVMbugs] [Bug 23735] New: SeparateConstOffsetFromGEP makes a
wrong assumption that index of inbounds GEP are non-negative
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23735
Bug ID: 23735
Summary: SeparateConstOffsetFromGEP makes a wrong assumption
that index of inbounds GEP are non-negative
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: wujingyue at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
http://llvm.org/docs/doxygen/html/SeparateConstOffsetFromGEP_8cpp_source.html#l00658
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 11:24:07 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 18:24:07 +0000
Subject: [LLVMbugs] [Bug 23712] Split of debug info in SROA triggers
assertion in verifier
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23712
Adrian Prantl changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |WONTFIX
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 12:40:53 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 19:40:53 +0000
Subject: [LLVMbugs] [Bug 23736] New: bug in inline namespaces
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23736
Bug ID: 23736
Summary: bug in inline namespaces
Product: clang
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: C++11
Assignee: unassignedclangbugs at nondot.org
Reporter: vanyacpp at gmail.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
This code defines function a::f, but I believe it should defines function
a::b::f. GCC defines a::b::f.
namespace a
{
inline namespace b
{
void f();
}
}
void a::f()
{
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 15:08:45 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 22:08:45 +0000
Subject: [LLVMbugs] [Bug 23737] New: SROA replaces atomic volatile load with
volatile load
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23737
Bug ID: 23737
Summary: SROA replaces atomic volatile load with volatile load
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: david.majnemer at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
consider:
target triple = "x86_64-pc-linux"
define void @f(i64** %x) {
entry:
%ptr = alloca i64, align 8
store i64 0, i64* %ptr, align 8
%load = load atomic volatile i64, i64* %ptr seq_cst, align 8
ret void
}
running -sroa results in:
target triple = "x86_64-pc-linux"
define void @f(i64** %x) {
entry:
%ptr = alloca i64, align 8
store i64 0, i64* %ptr, align 8
%ptr.0.load = load volatile i64, i64* %ptr, align 8
ret void
}
This doesn't seem correct.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 15:15:26 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 22:15:26 +0000
Subject: [LLVMbugs] [Bug 23733] [Windows] Clang doesn't support
std::atomic with Microsoft's STL
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23733
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Resolution|--- |FIXED
Assignee|unassignedclangbugs at nondot. |david.majnemer at gmail.com
|org |
--- Comment #1 from David Majnemer ---
Fixed in r238877.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 15:15:27 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 22:15:27 +0000
Subject: [LLVMbugs] [Bug 13707] [meta] VCPP compatibility issues
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=13707
Bug 13707 depends on bug 23733, which changed state.
Bug 23733 Summary: [Windows] Clang doesn't support std::atomic with Microsoft's STL
https://llvm.org/bugs/show_bug.cgi?id=23733
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 15:58:05 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 22:58:05 +0000
Subject: [LLVMbugs] [Bug 23738] New: SelectionDAG crashes on switch-case:
Assertion failed: ((High - Low + 1).sle(BitWidth) && "Case range must fit
in bit mask!")
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23738
Bug ID: 23738
Summary: SelectionDAG crashes on switch-case: Assertion failed:
((High - Low + 1).sle(BitWidth) && "Case range must
fit in bit mask!")
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: unassignedbugs at nondot.org
Reporter: sanjoy at playingwithpointers.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Running llc on
declare void @g()
declare void @h()
define void @f(i4 %a) {
entry:
switch i4 %a, label %left [
i4 0, label %right
i4 1, label %right
i4 -5, label %right
]
right:
call void @g()
ret void
left:
call void @h()
ret void
}
crashes with an assertion failure.
debug+asserts-x86 $ ~/Code/llvm.git/build/release+asserts-all/bin/llc
~/tmp/reduced.ll
Assertion failed: ((High - Low + 1).sle(BitWidth) && "Case range must fit in
bit mask!"), function buildBitTests, file
../../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp, line 7613.
0 llc 0x000000010f7d0899
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 57
1 llc 0x000000010f7d148b SignalHandler(int) + 875
2 libsystem_platform.dylib 0x00007fff8a866f1a _sigtramp + 26
3 llc 0x00000001100ed45c llvm::InlineCostAnalysis::ID +
63417
4 llc 0x000000010f7d1076 abort + 22
5 llc 0x000000010f7d1051 __assert_rtn + 81
6 llc 0x000000010f6f672e
llvm::SelectionDAGBuilder::buildBitTests(std::__1::vector >&, unsigned int,
unsigned int, llvm::SwitchInst const*, llvm::SelectionDAGBuilder::CaseCluster&)
+ 5374
7 llc 0x000000010f6f7386
llvm::SelectionDAGBuilder::findBitTestClusters(std::__1::vector >&,
llvm::SwitchInst const*) + 3062
8 llc 0x000000010f6c75b0
llvm::SelectionDAGBuilder::visitSwitch(llvm::SwitchInst const&) + 2560
9 llc 0x000000010f6c4689
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 73
10 llc 0x000000010f7106f8
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator, llvm::ilist_iterator, bool&) + 40
11 llc 0x000000010f71036e
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 8830
12 llc 0x000000010f70d104
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1444
13 llc 0x000000010ede95d4 (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 20
14 llc 0x000000010f19929c
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 140
15 llc 0x000000010f40bf93
llvm::FPPassManager::runOnFunction(llvm::Function&) + 515
16 llc 0x000000010f40c1db
llvm::FPPassManager::runOnModule(llvm::Module&) + 43
17 llc 0x000000010f40c793
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1123
18 llc 0x000000010e6c3c7a main + 8362
19 libdyld.dylib 0x00007fff96fa55c9 start + 1
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 16:11:31 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 23:11:31 +0000
Subject: [LLVMbugs] [Bug 23603] invalid sinking of invariant loads in codegen
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23603
Sanjoy Das changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #1 from Sanjoy Das ---
Fixed in r238881.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 16:22:17 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 02 Jun 2015 23:22:17 +0000
Subject: [LLVMbugs] [Bug 23740] New: dependent expr created by delayed typo
correction leads to crash
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23740
Bug ID: 23740
Summary: dependent expr created by delayed typo correction
leads to crash
Product: clang
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: david.majnemer at gmail.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
consider:
void f(long *a, long b) {
__atomic_or_fetch(a, b, c);
}
results in:
clang/lib/AST/ExprConstant.cpp:8659: {anonymous}::ICEDiag CheckICE(const
clang::Expr*, const clang::ASTContext&): Assertion `!E->isValueDependent() &&
"Should not see value dependent exprs!"' failed.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Tue Jun 2 18:10:00 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 01:10:00 +0000
Subject: [LLVMbugs] [Bug 23741] New: Machine operand's 'IsDead' flag set in
the register coalescing pass becomes invalid after virtual register
rewriter pass
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23741
Bug ID: 23741
Summary: Machine operand's 'IsDead' flag set in the register
coalescing pass becomes invalid after virtual register
rewriter pass
Product: new-bugs
Version: trunk
Hardware: PC
OS: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: arphaman at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14425
--> https://llvm.org/bugs/attachment.cgi?id=14425&action=edit
LLVM IR that reproduces the bug.
The register coalescing pass sets the IsDead register flag on a physical
register machine operand while re materializing a COPY instruction. But this
flag isn't cleared in the virtual register rewriter pass, when a virtual
register in one of the machine operand in a successor MBB is replaced with the
same physical register.
This behavior can be observed when running llc and printing the machine
instructions on the attached file 'hoist-common.ll' (llc -march=x86-64
-print-machineinstrs hoist-common.ll). The output after register coalescing
pass has an instruction that marks EAX as dead (%EAX = MOV32r0
%EFLAGS, %AL) in MBB#2, but the output after virtual
register rewriter pass has a KILL instruction that uses EAX (%AL = KILL
%AL, %EAX) in MBB#3, which is a successor to MBB#2.
The commit that introduced the setting of the IsDead machine operand flag in
the re materializer in the register coalescing pass is r184002
(http://llvm.org/viewvc/llvm-project?view=revision&revision=184002).
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 03:18:37 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 10:18:37 +0000
Subject: [LLVMbugs] [Bug 23082] Assertion failed:
isa(IRType) && "Trying to return a non-vector type in a
vector register!"
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23082
Andrea Di Biagio changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Andrea Di Biagio ---
Fixed at revision 238861
http://llvm.org/viewvc/llvm-project?view=revision&revision=238861
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 04:51:33 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 11:51:33 +0000
Subject: [LLVMbugs] [Bug 23743] New: Sibling loops confuse spill placement
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23743
Bug ID: 23743
Summary: Sibling loops confuse spill placement
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Register Allocator
Assignee: unassignedbugs at nondot.org
Reporter: james.molloy at arm.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14426
--> https://llvm.org/bugs/attachment.cgi?id=14426&action=edit
Testcase
In the attached testcase there is one loop with two child loops. The two child
loops are siblings to each other.
A reloaded is inserted in the second sibling loop, instead of a different
register being spilled outside the second loop.
The register being spilled is %vreg7:
selectOrSplit rGPR:%vreg45 [576r,656B:0)[656B,976r:1)[976r,1104B:2) 0 at 576r
1 at 656B-phi 2 at 976r w=2.185477e+05
%R10 is available at cost 1
Only trying the first 10 regs.
should evict: %vreg23 [160r,1184B:0) 0 at 160r w= 4.682460e+04
should evict: %vreg1 [80r,1184B:0) 0 at 80r w= 2.164171e+04
should evict: %vreg8 [560r,1104B:0) 0 at 560r w= 2.003648e+04
should evict: %vreg7 [496r,1104B:0) 0 at 496r w= 1.771947e+04
evicting %R6 interference: Cascade 4
unassigning %vreg7 from %R6: R6
assigning %vreg45 to %R6: R6 [576r,656B:0)[656B,976r:1)[976r,1104B:2) 0 at 576r
1 at 656B-phi 2 at 976r
queuing new interval: %vreg7 [496r,1104B:0) 0 at 496r
%vreg7 has the lowest spill cost because it is within an if/else inside the
second loop. However, spilling %vreg23 or %vreg1 would not be as costly as
%vreg7 because both of those registers are live-through the second loop (they
are only used in the first loop).
It appears the spill placement algorithm is aware of loop nest depth (implied
by block frequency) but unaware of loop hierarchy.
Compile with: llc -O3 test.ll and note:
.LBB0_5: @ %bb21
@ Parent Loop BB0_2 Depth=1
@ => This Inner Loop Header: Depth=2
sub.w r8, r7, #2
cmp r8, r4
bhi .LBB0_7
@ BB#6: @ %bb27
@ in Loop: Header=BB0_5 Depth=2
ldrb.w r5, [r9, r7]
lsl.w r2, lr, r11
eors r2, r5
ldr r5, [sp, #8] @ 4-byte Reload ***NAUGHTY***
and.w lr, r2, r5
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 09:08:50 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 16:08:50 +0000
Subject: [LLVMbugs] [Bug 23744] New: Less efficient encoding of and using
direct object emission
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23744
Bug ID: 23744
Summary: Less efficient encoding of and using direct object
emission
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: MC
Assignee: unassignedbugs at nondot.org
Reporter: russell_gallop at sn.scee.net
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
"and" has a less efficient encoding when using direct object emission, compared
to outputting assembly (-O1/2/3).
Found with running check_cfc.py dash_s_no_change on the llvm-test-suite
(r238815).
Reduced from function_try_block.cpp
$ cat test.cpp
static int a;
void fn1() {
if (a)
a = 0;
a = 1;
}
$ clang++ -O1 -c test.cpp && objdump -d test.o
test.o: file format elf64-x86-64
...
0000000000000000 <_Z3fn1v>:
0: 0f b6 05 00 00 00 00 movzbl 0x0(%rip),%eax # 7 <_Z3fn1v+0x7>
7: 25 01 00 00 00 and $0x1,%eax
...
$ clang++ -O1 -c test.cpp -via-file-asm && objdump -d test.o
test.o: file format elf64-x86-64
...
0000000000000000 <_Z3fn1v>:
0: 0f b6 05 00 00 00 00 movzbl 0x0(%rip),%eax # 7 <_Z3fn1v+0x7>
7: 83 e0 01 and $0x1,%eax
...
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 12:08:48 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 19:08:48 +0000
Subject: [LLVMbugs] [Bug 23746] New: test-suite lacks CMake support
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23746
Bug ID: 23746
Summary: test-suite lacks CMake support
Product: Test Suite
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Nightly Tester
Assignee: unassignedbugs at nondot.org
Reporter: grosbach at apple.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
test-suite is solely autoconf driven. This in itself isn't a huge deal, but it
also is unable to configure and run against a CMake+ninja LLVM/clang build via
--with-llvmobj.
We should improve the interoperability of the test suite and CMake style LLVM
builds. Ideally this would mean implementing CMake scripts for the test suite,
but could also be generally resolved by teaching the current Makefiles to work
well with various CMake generated build directories.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 16:17:09 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 03 Jun 2015 23:17:09 +0000
Subject: [LLVMbugs] [Bug 23748] New: Tag lookup should not find hidden
declarations
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23748
Bug ID: 23748
Summary: Tag lookup should not find hidden declarations
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Modules
Assignee: unassignedclangbugs at nondot.org
Reporter: rjmccall at apple.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14432
--> https://llvm.org/bugs/attachment.cgi?id=14432&action=edit
a test case demonstrating the problem
Currently, LookupResult::isHiddenDeclarationVisible() is defined as follows:
bool isHiddenDeclarationVisible() const {
return AllowHidden || LookupKind == Sema::LookupTagName;
}
This is trying to ensure that elaborated type specifiers are linked into
existing declaration chains even if those declarations are hidden. This is
necessary in C because we don't perform a second redeclaration lookup when the
initial lookup didn't find anything. (It's not necessary in C++ because we
have to perform that redeclaration lookup anyway, because of friends.)
Unfortunately, it can lead to incorrect results if the tag lookup finds
something hidden in an inner scope when it should have found something
non-hidden in an outer scope. That can't happen in C because there's only one
open scope to which modules can add declarations, the global scope; but it can
happen in C++ because of namespaces.
I've attached a simple testcase which reproduces the problem. The code should
compile because the elaborated type specifier should find the non-hidden
declaration ::A from Module.h instead of the hidden declaration ns::A from
Submodule.h.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 17:35:39 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 00:35:39 +0000
Subject: [LLVMbugs] [Bug 23749] New: CMake option to Linking Clang and extra
tools with dynamic libclang
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23749
Bug ID: 23749
Summary: CMake option to Linking Clang and extra tools with
dynamic libclang
Product: clang
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: eugene.zelenko at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
I think will be good idea to provide CMake option to link Clang and its tools
(extra, Include What You Use, etc) with libclang instead of static libraries,
already presented in libclang. This will reduce size of resulting binaries.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 18:42:22 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 01:42:22 +0000
Subject: [LLVMbugs] [Bug 23750] New: preprocessor should warn on
#include_next with a filename different from the including name
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23750
Bug ID: 23750
Summary: preprocessor should warn on #include_next with a
filename different from the including name
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: richard-llvm at metafoo.co.uk
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Suppose:
main.cpp:
#include "foo/bar.h"
foo/bar.h:
#pragma once // or an include guard
#include_next "bar.h"
baz/bar.h:
extern int n;
... and we compile main.cpp with -Ifoo -Ibaz:
main.cpp includes foo/bar.h
foo/bar.h includes *itself*
Note that baz/bar.h is never included, and confusion reigns.
We should issue a warning if a file issues a #include_once with a name that
would not have found that same file in the starting search directory for the
#include_next search (that is, if the includer used the wrong name for the
file).
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 18:58:03 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 01:58:03 +0000
Subject: [LLVMbugs] [Bug 23517] Constant builtin operands should be emitted
as constants, even with UBSan
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23517
Ahmed Bougacha changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Ahmed Bougacha ---
This should be fixed by r239002.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 21:17:40 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 04:17:40 +0000
Subject: [LLVMbugs] [Bug 23751] New: wrong code at -Os and above on
x86_64-linux-gnu
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23751
Bug ID: 23751
Summary: wrong code at -Os and above on x86_64-linux-gnu
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: su at cs.ucdavis.edu
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The following code is miscompiled by the current clang trunk on
x86_64-linux-gnu at -Os and above in both 32-bit and 64-bit modes.
This is a regression from 3.6.x.
$ clang-trunk -v
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.1.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.2
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.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.1.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-trunk -O1 small.c; ./a.out
$ clang-3.6.1 -Os small.c; ./a.out
$
$ clang-trunk -Os small.c
$ ./a.out
Aborted (core dumped)
$
--------------------------------
int *a, b, **c = &a, d;
unsigned
fn1 (int p1, int p2)
{
return p1 + p2;
}
void
fn2 (unsigned char p)
{
*c = &b;
*a = p > fn1 (p, d | -2);
}
int
main ()
{
fn2 (2);
if (b != 1)
__builtin_abort ();
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 21:20:47 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 04:20:47 +0000
Subject: [LLVMbugs] [Bug 23752] New: wrong code at -O1 and above on
x86_64-linux-gnu
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23752
Bug ID: 23752
Summary: wrong code at -O1 and above on x86_64-linux-gnu
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: su at cs.ucdavis.edu
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The following code is miscompiled by the current clang trunk on
x86_64-linux-gnu at -O1 and above in both 32-bit and 64-bit modes.
This is a regression from 3.6.x.
$ clang-trunk -v
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.1.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.2
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.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.1.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-trunk -O0 small.c; ./a.out
$ clang-3.6.1 -O1 small.c; ./a.out
$
$ clang-trunk -O1 small.c
$ ./a.out
Aborted (core dumped)
$
------------------------------
int a, b[2], c, d, *e = &a;
static int
fn1 (int p)
{
return p;
}
int
main ()
{
int f = 0;
for (; d < 2; d++)
{
*e = f;
if (fn1 (&c != &b[1]))
f = 1;
}
if (a != 1)
__builtin_abort ();
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 21:28:45 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 04:28:45 +0000
Subject: [LLVMbugs] [Bug 23753] New: clang crashes at -O1 and above on
x86_64-linux-gnu
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23753
Bug ID: 23753
Summary: clang crashes at -O1 and above on x86_64-linux-gnu
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: su at cs.ucdavis.edu
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The current clang trunk crashes when compiling the following test case on
x86_64-linux-gnu at -O1 and above in both 32-bit and 64-bit modes.
This is a regression from 3.6.x.
$ clang-trunk -v
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.1.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.2
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.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.1.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-trunk -O0 -c small.c
$ clang-3.6.1 -O1 -c small.c
$
$ clang-trunk -O1 -c small.c
clang: /tmp/llvm/include/llvm/Support/Casting.h:237: typename cast_retty::ret_type llvm::cast(Y *) [X = llvm::ConstantInt, Y = llvm::Value]:
Assertion `isa(Val) && "cast() argument of incompatible type!"' failed.
#0 0x2acbd48 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang+0x2acbd48)
#1 0x2acd0eb (/usr/local/clang-trunk/bin/clang+0x2acd0eb)
#2 0x7f4071e8b340 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#3 0x7f4070e26cc9 gsignal
/build/buildd/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#4 0x7f4070e2a0d8 abort /build/buildd/eglibc-2.19/stdlib/abort.c:91:0
#5 0x7f4070e1fb86 __assert_fail_base
/build/buildd/eglibc-2.19/assert/assert.c:92:0
#6 0x7f4070e1fc32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#7 0x29536dc (/usr/local/clang-trunk/bin/clang+0x29536dc)
#8 0x2967b33 llvm::ConstantExpr::getGetElementPtr(llvm::Type*, llvm::Constant*,
llvm::ArrayRef, bool, llvm::Type*)
(/usr/local/clang-trunk/bin/clang+0x2967b33)
#9 0x282cfd3 (/usr/local/clang-trunk/bin/clang+0x282cfd3)
#10 0x282c236 llvm::SCEVExpander::expandAddToGEP(llvm::SCEV const* const*,
llvm::SCEV const* const*, llvm::PointerType*, llvm::Type*, llvm::Value*)
(/usr/local/clang-trunk/bin/clang+0x282c236)
#11 0x282e063 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr const*)
(/usr/local/clang-trunk/bin/clang+0x282e063)
#12 0x282d312 llvm::SCEVExpander::expand(llvm::SCEV const*)
(/usr/local/clang-trunk/bin/clang+0x282d312)
#13 0x282f994
llvm::SCEVExpander::getAddRecExprPHILiterally(llvm::SCEVAddRecExpr const*,
llvm::Loop const*, llvm::Type*, llvm::Type*, llvm::Type*&, bool&)
(/usr/local/clang-trunk/bin/clang+0x282f994)
#14 0x283091a
llvm::SCEVExpander::expandAddRecExprLiterally(llvm::SCEVAddRecExpr const*)
(/usr/local/clang-trunk/bin/clang+0x283091a)
#15 0x282d312 llvm::SCEVExpander::expand(llvm::SCEV const*)
(/usr/local/clang-trunk/bin/clang+0x282d312)
#16 0x283056b llvm::SCEVExpander::expandCodeFor(llvm::SCEV const*, llvm::Type*,
llvm::Instruction*) (/usr/local/clang-trunk/bin/clang+0x283056b)
#17 0x25670a5 (/usr/local/clang-trunk/bin/clang+0x25670a5)
#18 0x2550756 (/usr/local/clang-trunk/bin/clang+0x2550756)
#19 0x2546dea (/usr/local/clang-trunk/bin/clang+0x2546dea)
#20 0x27c71ae llvm::LPPassManager::runOnFunction(llvm::Function&)
(/usr/local/clang-trunk/bin/clang+0x27c71ae)
#21 0x2a2fb44 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/local/clang-trunk/bin/clang+0x2a2fb44)
#22 0x2a2fd7b llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/local/clang-trunk/bin/clang+0x2a2fd7b)
#23 0x2a30265 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/local/clang-trunk/bin/clang+0x2a30265)
#24 0x95d74d clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions
const&, llvm::StringRef, llvm::Module*, clang::BackendAction,
llvm::raw_pwrite_stream*) (/usr/local/clang-trunk/bin/clang+0x95d74d)
#25 0x94fae5 (/usr/local/clang-trunk/bin/clang+0x94fae5)
#26 0xb65e83 clang::ParseAST(clang::Sema&, bool, bool)
(/usr/local/clang-trunk/bin/clang+0xb65e83)
#27 0x756f0e clang::FrontendAction::Execute()
(/usr/local/clang-trunk/bin/clang+0x756f0e)
#28 0x72863c clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/local/clang-trunk/bin/clang+0x72863c)
#29 0x70b6ec clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/local/clang-trunk/bin/clang+0x70b6ec)
#30 0x7028b2 cc1_main(llvm::ArrayRef, char const*, void*)
(/usr/local/clang-trunk/bin/clang+0x7028b2)
#31 0x709e7e main (/usr/local/clang-trunk/bin/clang+0x709e7e)
#32 0x7f4070e11ec5 __libc_start_main
/build/buildd/eglibc-2.19/csu/libc-start.c:321:0
#33 0x70252d _start (/usr/local/clang-trunk/bin/clang+0x70252d)
Stack dump:
0. Program arguments: /usr/local/clang-trunk/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name small.c
-mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-target-linker-version 2.24 -momit-leaf-frame-pointer -dwarf-column-info
-coverage-file
/data2/c-hunter-results/C/instrument-bugs/CSMITH/CLANG/20150517-clang-trunk-m64-g-O3-build-054213/small.c
-resource-dir /usr/local/clang-trunk/bin/../lib/clang/3.7.0 -internal-isystem
/usr/local/include -internal-isystem
/usr/local/clang-trunk/bin/../lib/clang/3.7.0/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -O1 -fdebug-compilation-dir
/data2/c-hunter-results/C/instrument-bugs/CSMITH/CLANG/20150517-clang-trunk-m64-g-O3-build-054213
-ferror-limit 19 -fmessage-length 94 -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c
1. parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'small.c'.
4. Running pass 'Loop Pass Manager' on function '@fn1'
5. Running pass 'Loop Strength Reduction' on basic block '%for.body'
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang: 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: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/small-a1eb8a.c
clang: note: diagnostic msg: /tmp/small-a1eb8a.sh
clang: note: diagnostic msg:
********************
$
------------------------------
int a[1], b, *c = &b;
char d;
void
fn1 ()
{
int e;
for (; e; e++)
{
b = &a[e] != (int *)&d;
*c = 0;
}
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 21:36:48 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 04:36:48 +0000
Subject: [LLVMbugs] [Bug 23754] New: clang crashes on valid code at -O2 and
-O3 on x86_64-linux-gnu
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23754
Bug ID: 23754
Summary: clang crashes on valid code at -O2 and -O3 on
x86_64-linux-gnu
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: su at cs.ucdavis.edu
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The current clang trunk crashes when compiling the following test case on
x86_64-linux-gnu at -O2 and -O3 in both 32-bit and 64-bit modes.
This is a regression from 3.6.x.
$ clang-trunk -v
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.1.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.2
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.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.1.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-trunk -Os small.c; ./a.out
$ clang-3.6.1 -O2 small.c; ./a.out
$
$ clang-trunk -O2 small.c
clang: /tmp/llvm/include/llvm/Support/Casting.h:237: typename cast_retty::ret_type llvm::cast(Y *) [X = llvm::ConstantInt, Y = llvm::Value]:
Assertion `isa(Val) && "cast() argument of incompatible type!"' failed.
#0 0x2acbd48 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang+0x2acbd48)
#1 0x2acd0eb (/usr/local/clang-trunk/bin/clang+0x2acd0eb)
#2 0x7f221aff4340 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#3 0x7f2219f8fcc9 gsignal
/build/buildd/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#4 0x7f2219f930d8 abort /build/buildd/eglibc-2.19/stdlib/abort.c:91:0
#5 0x7f2219f88b86 __assert_fail_base
/build/buildd/eglibc-2.19/assert/assert.c:92:0
#6 0x7f2219f88c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#7 0x29536dc (/usr/local/clang-trunk/bin/clang+0x29536dc)
#8 0x2967b33 llvm::ConstantExpr::getGetElementPtr(llvm::Type*, llvm::Constant*,
llvm::ArrayRef, bool, llvm::Type*)
(/usr/local/clang-trunk/bin/clang+0x2967b33)
#9 0x282cfd3 (/usr/local/clang-trunk/bin/clang+0x282cfd3)
#10 0x282c236 llvm::SCEVExpander::expandAddToGEP(llvm::SCEV const* const*,
llvm::SCEV const* const*, llvm::PointerType*, llvm::Type*, llvm::Value*)
(/usr/local/clang-trunk/bin/clang+0x282c236)
#11 0x282e063 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr const*)
(/usr/local/clang-trunk/bin/clang+0x282e063)
#12 0x282d312 llvm::SCEVExpander::expand(llvm::SCEV const*)
(/usr/local/clang-trunk/bin/clang+0x282d312)
#13 0x283056b llvm::SCEVExpander::expandCodeFor(llvm::SCEV const*, llvm::Type*,
llvm::Instruction*) (/usr/local/clang-trunk/bin/clang+0x283056b)
#14 0x25670a5 (/usr/local/clang-trunk/bin/clang+0x25670a5)
#15 0x2550756 (/usr/local/clang-trunk/bin/clang+0x2550756)
#16 0x2546dea (/usr/local/clang-trunk/bin/clang+0x2546dea)
#17 0x27c71ae llvm::LPPassManager::runOnFunction(llvm::Function&)
(/usr/local/clang-trunk/bin/clang+0x27c71ae)
#18 0x2a2fb44 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/local/clang-trunk/bin/clang+0x2a2fb44)
#19 0x2a2fd7b llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/local/clang-trunk/bin/clang+0x2a2fd7b)
#20 0x2a30265 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/local/clang-trunk/bin/clang+0x2a30265)
#21 0x95d74d clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions
const&, llvm::StringRef, llvm::Module*, clang::BackendAction,
llvm::raw_pwrite_stream*) (/usr/local/clang-trunk/bin/clang+0x95d74d)
#22 0x94fae5 (/usr/local/clang-trunk/bin/clang+0x94fae5)
#23 0xb65e83 clang::ParseAST(clang::Sema&, bool, bool)
(/usr/local/clang-trunk/bin/clang+0xb65e83)
#24 0x756f0e clang::FrontendAction::Execute()
(/usr/local/clang-trunk/bin/clang+0x756f0e)
#25 0x72863c clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/local/clang-trunk/bin/clang+0x72863c)
#26 0x70b6ec clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/local/clang-trunk/bin/clang+0x70b6ec)
#27 0x7028b2 cc1_main(llvm::ArrayRef, char const*, void*)
(/usr/local/clang-trunk/bin/clang+0x7028b2)
#28 0x709e7e main (/usr/local/clang-trunk/bin/clang+0x709e7e)
#29 0x7f2219f7aec5 __libc_start_main
/build/buildd/eglibc-2.19/csu/libc-start.c:321:0
#30 0x70252d _start (/usr/local/clang-trunk/bin/clang+0x70252d)
Stack dump:
0. Program arguments: /usr/local/clang-trunk/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name small.c
-mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-target-linker-version 2.24 -momit-leaf-frame-pointer -dwarf-column-info
-resource-dir /usr/local/clang-trunk/bin/../lib/clang/3.7.0 -internal-isystem
/usr/local/include -internal-isystem
/usr/local/clang-trunk/bin/../lib/clang/3.7.0/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir
/data2/c-hunter-results/C/instrument-bugs/CSMITH/CLANG/20150522-clang-trunk-m64-g-O3-build-054017
-ferror-limit 19 -fmessage-length 94 -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp
-o /tmp/small-3bce16.o -x c small.c
1. parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'small.c'.
4. Running pass 'Loop Pass Manager' on function '@main'
5. Running pass 'Loop Strength Reduction' on basic block
'%for.cond.1.preheader.i'
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.7.0 (trunk 238951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang: 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: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/small-b94542.c
clang: note: diagnostic msg: /tmp/small-b94542.sh
clang: note: diagnostic msg:
********************
$
------------------------------------
int a[22], b, d, e;
char c;
void
fn1 (char *p)
{
int f;
for (f = 0; f < 22; f++)
for (e = 0; e < 2; e++)
for (; b; b++)
d = &a[f] != (int *)p;
}
int
main ()
{
fn1 (&c);
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Wed Jun 3 23:02:00 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 06:02:00 +0000
Subject: [LLVMbugs] [Bug 23755] New: attempted to build llvm again using
formerly built llvm
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23755
Bug ID: 23755
Summary: attempted to build llvm again using formerly built
llvm
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: goochmi at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
downloaded sources for 3.6.1
extracted the tarballs
clang extra tools was symlinked into the clang source tree as tools/extra
clang was symlinked into llvm source tree as tools/clang
lld was symlinked into llvm source tree as tools/lld
compiler-rt was symlinked into llvm source tree as projects/compiler-rt
libcxx was symlinked into llvm source tree as projects/libcxx
libcxxabi was symlinked into llvm source tree as projects/libcxxabi
I built this once using GCC and libstdc++.
I was hoping to build it again using the now available clang/clang++ and
libc++/libc++abi, but when I attempt this, various executable linking stages
fail claiming they can't find __cxa_guard_acquire, __cxa_guard_release, and
__cxa_pure_virtual
this seems to indicate something isn't being linked against libc++, or that
libc++ lacks those symbols/targets for some reason.
it is ENTIRELY possible that I did something incorrectly with my former build
or setup or that I am doing something incorrectly this time.
the command for cmake would be something like this correct?:
cmake /path/to/llvm/source/tree \
-DCMAKE_INSTALL_PREFIX=/UCHC/HPC/Gooch/biotoolmodules/llvm_suite/3.6.1 \
-DCMAKE_C_COMPILER=/UCHC/HPC/Gooch/biotoolmodules/llvm_suite/3.6.1/bin/clang \
-DCMAKE_CXX_COMPILER=/UCHC/HPC/Gooch/biotoolmodules/llvm_suite/3.6.1/bin/clang++
\
-DLLVM_ENABLE_LIBCXX=1 \
-DLIBCXX_CXX_ABI=libcxxabi
if not, what am I missing?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 00:02:53 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 07:02:53 +0000
Subject: [LLVMbugs] [Bug 23753] clang crashes at -O1 and above on
x86_64-linux-gnu
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23753
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Component|-New Bugs |Core LLVM classes
Resolution|--- |FIXED
Assignee|unassignedclangbugs at nondot. |unassignedbugs at nondot.org
|org |
Product|clang |libraries
--- Comment #3 from David Majnemer ---
Fixed in r239015.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 00:09:07 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 07:09:07 +0000
Subject: [LLVMbugs] [Bug 23754] clang crashes on valid code at -O2 and -O3
on x86_64-linux-gnu
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23754
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Resolution|--- |DUPLICATE
--- Comment #1 from David Majnemer ---
This seems identical to PR23753 and doesn't reproduce after applying it's fix,
r239015.
*** This bug has been marked as a duplicate of bug 23753 ***
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 07:54:43 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 14:54:43 +0000
Subject: [LLVMbugs] [Bug 23756] New: crash caused by assignment to anonymous
class
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23756
Bug ID: 23756
Summary: crash caused by assignment to anonymous class
Product: new-bugs
Version: 3.6
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: tomilovanatoliy at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14433
--> https://llvm.org/bugs/attachment.cgi?id=14433&action=edit
source
Crush with following message:
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.6.0 (tags/RELEASE_360/final 235480)
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang: 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: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/main-f52826.cpp
clang: note: diagnostic msg: /tmp/main-f52826.sh
clang: note: diagnostic msg:
********************
Invocation:
"/usr/local/bin/clang" "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj"
"-mrelax-all" "-disable-free" "-disable-llvm-verifier" "-main-file-name"
"main.cpp" "-mrelocation-model" "static" "-mthread-model" "posix"
"-mdisable-fp-elim" "-fmath-errno" "-masm-verbose" "-mconstructor-aliases"
"-munwind-tables" "-fuse-init-array" "-target-cpu" "x86-64"
"-target-linker-version" "2.22" "-dwarf-column-info" "-Weverything"
"-Wno-c++98-compat" "-Wno-c++98-compat-pedantic" "-Wno-c++98-compat"
"-pedantic" "-w" "-std=gnu++1z" "-fdeprecated-macro" "-ferror-limit" "19"
"-fmessage-length" "0" "-mstackrealign" "-fobjc-runtime=gcc" "-fcxx-exceptions"
"-fexceptions" "-fdiagnostics-show-option" "-x" "c++" "main-f52826.cpp"
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 08:55:25 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 15:55:25 +0000
Subject: [LLVMbugs] [Bug 23738] SelectionDAG crashes on switch-case:
Assertion failed: ((High - Low + 1).sle(BitWidth) && "Case range must fit
in bit mask!")
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23738
Hans Wennborg changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #2 from Hans Wennborg ---
Fixed in r239048.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 09:08:16 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 16:08:16 +0000
Subject: [LLVMbugs] [Bug 23757] New: incorrect comparison result between
INT_MAX and INT_MIN with optimizations
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23757
Bug ID: 23757
Summary: incorrect comparison result between INT_MAX and
INT_MIN with optimizations
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: todd at cloudera.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The following program gives different results with -O1 vs -O0:
#define __STDC_LIMIT_MACROS
#include
#include
#include
using namespace std;
bool Increment32(int32_t* cell_ptr) {
int32_t orig = *cell_ptr;
int32_t inc;
// Signed overflow is undefined in C. So, we'll use a branch here
// instead of counting on undefined behavior.
if (orig == INT32_MAX) {
inc = INT32_MIN;
} else {
inc = orig + 1;
}
*cell_ptr = inc;
return inc > orig;
}
int main(int argc, char** argv) {
int32_t input = INT32_MAX;
cout << "input: " << input << endl;
bool ret = Increment32(&input);
cout << "output: " << input << endl;
if (ret) {
cout << "BAD ANSWER" << endl;
}
return 0;
}
I narrowed it down to the following set of passes on llvm 3.4:
todd at todd-ThinkPad-T540p:/tmp$ $I/clang++ -O0 -c -emit-llvm test.cc
todd at todd-ThinkPad-T540p:/tmp$ $I/opt -sroa -simplifycfg -instcombine -o
test-opt.bc test.bc ; $I/clang++ -o test test-opt.bc ; ./test
input: 2147483647
output: -2147483648
WRONG ANSWER
I also verified that a 3.7 build (from the chromium toolchain) has the same
bug.
Compiling with -fwrapv or -fsanitize=undefined makes the error go away. gcc
doesn't have the same issue.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 10:30:54 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 17:30:54 +0000
Subject: [LLVMbugs] [Bug 23758] New: Gigantic block frequencies produced by
clang in PGO
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23758
Bug ID: 23758
Summary: Gigantic block frequencies produced by clang in PGO
Product: clang
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: LLVM Codegen
Assignee: unassignedclangbugs at nondot.org
Reporter: congh at google.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14434
--> https://llvm.org/bugs/attachment.cgi?id=14434&action=edit
CFG with edge frequencies.
When compiling spec2000 in PGO mode, I noticed many very large block
frequencies for some programs. They are too big to be true. One example is
164.gzip in spec2000. I made the profile data from running the binary with
options "input.random 60". The produced CFG is attached here, which shows the
hottest block has the frequency over 14E12. Note that the frequency of the
entry node is only 17, which means that the hottest node runs almost 1E12 times
more that the entry.
To find out the actual frequency of that hot node, I profiled the same program
using GCC, and also inserted a counter manually to the program. Both showed
that the hottest node ran only about 4E7 times more than the entry.
So I think there may be something wrong in LLVM's frequency calculation.
(In the attached CFG, the numbers on edges are frequencies.)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 11:01:08 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 18:01:08 +0000
Subject: [LLVMbugs] [Bug 23741] Machine operand's 'IsDead' flag set in the
register coalescing pass becomes invalid after virtual register rewriter
pass
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23741
Quentin Colombet changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |INVALID
--- Comment #2 from Quentin Colombet ---
Oh wait, EAX is never really used. Only AL is.
The MIR is then valid to me.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 12:58:38 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 19:58:38 +0000
Subject: [LLVMbugs] [Bug 23761] New: Installing scan-build and scan-view
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23761
Bug ID: 23761
Summary: Installing scan-build and scan-view
Product: clang
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Static Analyzer
Assignee: kremenek at apple.com
Reporter: eugene.zelenko at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
I think will be good idea to install scan-build and scan-view with as part of
Clang installation.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 15:54:52 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 22:54:52 +0000
Subject: [LLVMbugs] [Bug 23710] [Win64] Indirect tail calls on non-Windows
can use clobbered non-volatile register
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23710
Charles Davis changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #1 from Charles Davis ---
This should be fixed by r239111.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 16:11:58 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Thu, 04 Jun 2015 23:11:58 +0000
Subject: [LLVMbugs] [Bug 23757] incorrect comparison result between INT_MAX
and INT_MIN with optimizations
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23757
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Resolution|--- |FIXED
Assignee|unassignedbugs at nondot.org |david.majnemer at gmail.com
--- Comment #3 from David Majnemer ---
Fixed in r239115.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 17:03:55 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 00:03:55 +0000
Subject: [LLVMbugs] [Bug 23763] New: Floating Point Exception with
-loop-vectorize and 0-sized type
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23763
Bug ID: 23763
Summary: Floating Point Exception with -loop-vectorize and
0-sized type
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: alex at crichton.co
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14438
--> https://llvm.org/bugs/attachment.cgi?id=14438&action=edit
bugpoint-reduced IR
When optimized with the `-loop-vectorize` pass via `opt`, the attached IR will
trigger a floating point exception (divide-by-zero) in the optimization passes.
The stack trace on failure is:
$ ./Debug+Asserts/bin/opt bugpoint-reduced-simplified.ll -loop-vectorize -S
0 opt 0x00000000024c281e
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 46
1 opt 0x00000000024c3859
2 opt 0x00000000024c648d
3 libpthread.so.0 0x00007fc4b82a7340
4 opt 0x0000000001e4d8b8 llvm::isInductionPHI(llvm::PHINode*,
llvm::ScalarEvolution*, llvm::ConstantInt*&) + 488
5 opt 0x0000000001a619c9
6 opt 0x0000000001a5fea0
7 opt 0x0000000001a400a9
8 opt 0x0000000001a3eacc
9 opt 0x0000000001a3e076
10 opt 0x00000000023e9c5b
llvm::FPPassManager::runOnFunction(llvm::Function&) + 427
11 opt 0x00000000023e9f68
llvm::FPPassManager::runOnModule(llvm::Module&) + 104
12 opt 0x00000000023ea64a
13 opt 0x00000000023ea21e
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 302
14 opt 0x00000000023eac11
llvm::legacy::PassManager::run(llvm::Module&) + 33
15 opt 0x000000000084322e main + 7486
16 libc.so.6 0x00007fc4b72a6ec5 __libc_start_main + 245
17 opt 0x000000000081c474
Stack dump:
0. Program arguments: ./Debug+Asserts/bin/opt
/home/alex/code/rust4/bugpoint-reduced-simplified.ll -loop-vectorize -S
1. Running pass 'Function Pass Manager' on module
'/home/alex/code/rust4/bugpoint-reduced-simplified.ll'.
2. Running pass 'Loop Vectorization' on function '@foo'
zsh: floating point exception (core dumped) ./Debug+Asserts/bin/opt
~/code/rust4/bugpoint-reduced-simplified.ll -S
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 17:38:27 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 00:38:27 +0000
Subject: [LLVMbugs] [Bug 23764] New: Clang and GCC disagree about triviality
of type with defaulted non-const copy constructor (breaks ABI!)
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23764
Bug ID: 23764
Summary: Clang and GCC disagree about triviality of type with
defaulted non-const copy constructor (breaks ABI!)
Product: clang
Version: 3.6
Hardware: PC
OS: Linux
Status: NEW
Severity: release blocker
Priority: P
Component: C++11
Assignee: unassignedclangbugs at nondot.org
Reporter: kenton at sandstorm.io
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
The program below outputs 0 when compiled with Clang and 1 when compiled with
G++.
Unfortunately, this disagreement means that Clang and G++ implement different
argument-passing conventions for functions which take an argument with such a
type, and therefore libraries which use such types in their API (like Cap'n
Proto) cannot be used unless the library and caller are built with the same
compiler.
#include
class C {
public:
C(C&) = default;
};
int main() {
std::cout << __has_trivial_copy(C) << std::endl;
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 18:03:47 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 01:03:47 +0000
Subject: [LLVMbugs] [Bug 23766] New: musttail calls are not allowed to
precede unreachable
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23766
Bug ID: 23766
Summary: musttail calls are not allowed to precede unreachable
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: kavon.farvardin at gmail.com
CC: compnerd at compnerd.org, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Consider the following code:
declare void @g() noreturn
define void @f() {
entry:
musttail call void @g() noreturn
unreachable
}
llc rejects this with the following error:
musttail call must be precede a ret with an optional bitcast
musttail call void @g() #0
llc: musttail.ll: error: input module is broken!
A conversation on IRC led to the conclusion that `unreachable` following a
`musttail call` should be permitted.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 18:40:52 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 01:40:52 +0000
Subject: [LLVMbugs] [Bug 23767] New: Incorrect invalidation of iterator when
using ranged deque::erase for first element in deque of size 2.
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23767
Bug ID: 23767
Summary: Incorrect invalidation of iterator when using ranged
deque::erase for first element in deque of size 2.
Product: libc++
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: hocheung20 at gmail.com
CC: llvmbugs at cs.uiuc.edu, mclow.lists at gmail.com
Classification: Unclassified
Created attachment 14439
--> https://llvm.org/bugs/attachment.cgi?id=14439&action=edit
Short test program illustrating ranged deque::erase bug.
According to the standard, all iterators and references are invalidated, unless
the erased elements are at the end or the beginning of the container, in which
case only the iterators and references to the erased elements are invalidated.
In the case of deque of size 2, if you used ranged erase for remove the first
element. Any iterators to the last element will no longer be valid.
See attached example program.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 22:34:40 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 05:34:40 +0000
Subject: [LLVMbugs] [Bug 23764] Clang and GCC disagree about triviality of
type with defaulted non-const copy constructor (breaks ABI!)
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23764
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Resolution|--- |DUPLICATE
--- Comment #1 from David Majnemer ---
Looks like a dupe of PR21010.
*** This bug has been marked as a duplicate of bug 21010 ***
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Thu Jun 4 22:56:02 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 05:56:02 +0000
Subject: [LLVMbugs] [Bug 23764] Clang and GCC disagree about triviality of
type with defaulted non-const copy constructor (breaks ABI!)
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23764
Kenton Varda changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|DUPLICATE |---
--- Comment #2 from Kenton Varda ---
I don't think this is a duplicate of bug 21010. They both describe problems
related to copy triviality, but that bug describes a problem with destructors,
whereas this bug describes a different problem with constructors.
Moreover, this bug describes an ABI incompatibility with GCC which is causing
real-world crashes when trying to link a clang-built binary against a GCC-built
library or vice versa with valid code. In contrast, bug 21010 describes a case
that I don't think could lead to an ABI problem with valid code (since it
describes a class that shouldn't be allowed to be passed by value in the first
place).
This ABI incompatibility is the primary concern in my bug. (I think my class C
may actually be non-trivially-copyable according to the standard, but that's
not primarily what I care about.)
It does seem like Richard's proposed rule would (perhaps accidentally?) solve
the problem:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1590
This would at least solve the problem in my use cases because all my classes
that have a default non-const copy constructor also have a trivial move
constructor. It doesn't completely solve the problem in the case of a class
with non-trivial move constructor, but that does seem like an odd case.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Fri Jun 5 03:53:37 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 10:53:37 +0000
Subject: [LLVMbugs] [Bug 23763] Floating Point Exception with
-loop-vectorize and 0-sized type
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23763
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Resolution|--- |FIXED
Assignee|unassignedbugs at nondot.org |david.majnemer at gmail.com
--- Comment #2 from David Majnemer ---
Fixed in r239143.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Fri Jun 5 07:54:56 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 14:54:56 +0000
Subject: [LLVMbugs] [Bug 23768] New: Machine CSE removes register-defining
LDM, causing assertion failure
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23768
Bug ID: 23768
Summary: Machine CSE removes register-defining LDM, causing
assertion failure
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: unassignedbugs at nondot.org
Reporter: john.brawn.123 at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 14440
--> https://llvm.org/bugs/attachment.cgi?id=14440&action=edit
Input IR that causes the assertion failure
Compiling the attached bugpoint-reduced-simplified.ll with trunk (r239136) llc
causes the assertion failure
lib/CodeGen/LiveVariables.cpp:133: void
llvm::LiveVariables::HandleVirtRegUse(unsigned int, llvm::MachineBasicBlock*,
llvm::MachineInstr*): Assertion `MRI->getVRegDef(reg) && "Register use before
def!"' failed.
This has started happening since r238473, when the ARM backend started lowering
memcpy->MCOPY->LDM+STM, but what's causing the assertion failure is that
Machine CSE is getting this input:
BB#0: derived from LLVM BB %testArray.exit.critedge
%vreg0 = tLDRpci , pred:14, pred:%noreg; mem:LD4[ConstantPool]
tGPR:%vreg0
%vreg1 = tLDRpci , pred:14, pred:%noreg; mem:LD4[ConstantPool]
tGPR:%vreg1
%vreg3 = tLDMIA_UPD %vreg0, pred:14, pred:%noreg,
%vreg4, %vreg5, %vreg6; tGPR:%vreg3,%vreg0,%vreg4,%vreg5,%vreg6
%vreg2 = tSTMIA_UPD %vreg1, pred:14, pred:%noreg,
%vreg4, %vreg5, %vreg6;
tGPR:%vreg2,%vreg1,%vreg4,%vreg5,%vreg6
%vreg8 = tLDMIA_UPD %vreg3, pred:14, pred:%noreg,
%vreg9, %vreg10, %vreg11;
tGPR:%vreg8,%vreg3,%vreg9,%vreg10,%vreg11
%vreg7 = tSTMIA_UPD %vreg2, pred:14, pred:%noreg,
%vreg9, %vreg10, %vreg11;
tGPR:%vreg7,%vreg2,%vreg9,%vreg10,%vreg11
%vreg13 = tLDMIA_UPD %vreg0, pred:14, pred:%noreg,
%vreg14, %vreg15, %vreg16;
tGPR:%vreg13,%vreg0,%vreg14,%vreg15,%vreg16
%vreg12 = tSTMIA_UPD %vreg1, pred:14, pred:%noreg,
%vreg14, %vreg15, %vreg16;
tGPR:%vreg12,%vreg1,%vreg14,%vreg15,%vreg16
%vreg18 = tLDMIA_UPD %vreg13, pred:14, pred:%noreg,
%vreg19, %vreg20, %vreg21;
tGPR:%vreg18,%vreg13,%vreg19,%vreg20,%vreg21
%vreg17 = tSTMIA_UPD %vreg12, pred:14, pred:%noreg,
%vreg19, %vreg20, %vreg21;
tGPR:%vreg17,%vreg12,%vreg19,%vreg20,%vreg21
tBX_RET pred:14, pred:%noreg
It then does the following optimisation:
Examining: %vreg13 = tLDMIA_UPD %vreg0, pred:14, pred:%noreg,
%vreg14, %vreg15, %vreg16;
tGPR:%vreg13,%vreg0,%vreg14,%vreg15,%vreg16
*** Found a common subexpression: %vreg3 = tLDMIA_UPD %vreg0,
pred:14, pred:%noreg, %vreg4, %vreg5, %vreg6;
tGPR:%vreg3,%vreg0,%vreg4,%vreg5,%vreg6
Examining: %vreg18 = tLDMIA_UPD %vreg3, pred:14, pred:%noreg,
%vreg19, %vreg20, %vreg21;
tGPR:%vreg18,%vreg3,%vreg19,%vreg20,%vreg21
*** Found a common subexpression: %vreg8 = tLDMIA_UPD %vreg3,
pred:14, pred:%noreg, %vreg9, %vreg10, %vreg11;
tGPR:%vreg8,%vreg3,%vreg9,%vreg10,%vreg11
giving the result
BB#0: derived from LLVM BB %testArray.exit.critedge
%vreg0 = tLDRpci , pred:14, pred:%noreg; mem:LD4[ConstantPool]
tGPR:%vreg0
%vreg1 = tLDRpci , pred:14, pred:%noreg; mem:LD4[ConstantPool]
tGPR:%vreg1
%vreg3 = tLDMIA_UPD %vreg0, pred:14, pred:%noreg,
%vreg4, %vreg5, %vreg6; tGPR:%vreg3,%vreg0,%vreg4,%vreg5,%vreg6
%vreg2 = tSTMIA_UPD %vreg1, pred:14, pred:%noreg,
%vreg4, %vreg5, %vreg6;
tGPR:%vreg2,%vreg1,%vreg4,%vreg5,%vreg6
%vreg8 = tLDMIA_UPD %vreg3, pred:14, pred:%noreg,
%vreg9, %vreg10, %vreg11;
tGPR:%vreg8,%vreg3,%vreg9,%vreg10,%vreg11
%vreg7 = tSTMIA_UPD %vreg2, pred:14, pred:%noreg,
%vreg9, %vreg10, %vreg11;
tGPR:%vreg7,%vreg2,%vreg9,%vreg10,%vreg11
%vreg12 = tSTMIA_UPD %vreg1, pred:14, pred:%noreg,
%vreg14, %vreg15, %vreg16;
tGPR:%vreg12,%vreg1,%vreg14,%vreg15,%vreg16
%vreg17 = tSTMIA_UPD %vreg12, pred:14, pred:%noreg,
%vreg19, %vreg20, %vreg21;
tGPR:%vreg17,%vreg12,%vreg19,%vreg20,%vreg21
tBX_RET pred:14, pred:%noreg
Virtual registers 14-16 and 19-21 now have no definition, leading to the above
assertion failure.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Fri Jun 5 11:04:39 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 18:04:39 +0000
Subject: [LLVMbugs] [Bug 23756] crash caused by assignment to anonymous class
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23756
David Majnemer changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |david.majnemer at gmail.com
Component|new bugs |C++'1z
Resolution|--- |FIXED
Assignee|unassignedbugs at nondot.org |unassignedclangbugs at nondot.
| |org
Product|new-bugs |clang
--- Comment #1 from David Majnemer ---
Fixed in r239170.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Fri Jun 5 11:05:41 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 18:05:41 +0000
Subject: [LLVMbugs] [Bug 23751] wrong code at -Os and above on
x86_64-linux-gnu
In-Reply-To:
References:
Message-ID:
https://llvm.org/bugs/show_bug.cgi?id=23751
Sanjoy Das changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Assignee|unassignedclangbugs at nondot. |sanjoy at playingwithpointers.
|org |com
--- Comment #2 from Sanjoy Das ---
Fixed in r239171
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From bugzilla-daemon at llvm.org Fri Jun 5 12:01:01 2015
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Fri, 05 Jun 2015 19:01:01 +0000
Subject: [LLVMbugs] [Bug 23769] New: scan-build results in Qt include errors
starting with CMake 3.1.0
Message-ID: