From bugzilla-daemon at llvm.org Tue Mar 1 01:17:34 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 01:17:34 -0600 (CST)
Subject: [LLVMbugs] [Bug 9350] New: possible integer bug
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9350
Summary: possible integer bug
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: regehr at cs.utah.edu
CC: llvmbugs at cs.uiuc.edu
The attached program changes its output depending on the optimization level:
regehr at home:~$ clang -O0 overflow.c -o overflow
regehr at home:~$ ./overflow
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
regehr at home:~$ clang -O1 overflow.c -o overflow
regehr at home:~$ ./overflow
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
regehr at home:~$ clang -v
clang version 2.9 (trunk 126534)
Target: i386-pc-linux-gnu
Thread model: posix
I believe this is a bug and that the -O0 output is correct. The C99 standard
states that:
The expression ++E is equivalent to (E+=1).
Thus, x must be promoted to int before the addition takes place and so there is
no undefined behavior due to overflow.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 06:24:04 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 06:24:04 -0600 (CST)
Subject: [LLVMbugs] [Bug 9322] clang doesn't DCE dead switch cases (breaks
Linux kernel at -O0)
In-Reply-To:
References:
Message-ID: <20110301122404.141422A6C124@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9322
PaX Team changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |pageexec at freemail.hu
Resolution|FIXED |
--- Comment #9 from PaX Team 2011-03-01 06:24:03 CST ---
i'm reopening this bug because i believe the problem i see is related to the
same underlying cause. in linux/kernel/signal.c:has_pending_signals there's the
following construct (linux/include/linux/signal.h has similar):
102 ????????switch (_NSIG_WORDS) {
103 ????????default:
104 ????????????????for (i = _NSIG_WORDS, ready = 0; --i >= 0 ;)
105 ????????????????????????ready |= signal->sig[i] &~ blocked->sig[i];
106 ????????????????break;
107
108 ????????case 4: ready = signal->sig[3] &~ blocked->sig[3];
109 ????????????????ready |= signal->sig[2] &~ blocked->sig[2];
110 ????????????????ready |= signal->sig[1] &~ blocked->sig[1];
111 ????????????????ready |= signal->sig[0] &~ blocked->sig[0];
112 ????????????????break;
113
114 ????????case 2: ready = signal->sig[1] &~ blocked->sig[1];
115 ????????????????ready |= signal->sig[0] &~ blocked->sig[0];
116 ????????????????break;
117
118 ????????case 1: ready = signal->sig[0] &~ blocked->sig[0];
119 ????????}
on i386 _NSIG_WORDS is #defined to 2 with ->sig[] having 2 elements as well.
clang r126742 generates the following warning on this:
kernel/signal.c:108:19: warning: array index of '3' indexes past the end of an
array (that contains 2 elements) [-Warray-bounds]
case 4: ready = signal->sig[3] &~ blocked->sig[3];
and ditto for line 109.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 07:30:46 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 07:30:46 -0600 (CST)
Subject: [LLVMbugs] [Bug 9351] New: Cannot have recursive multimap
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9351
Summary: Cannot have recursive multimap
Product: libc++
Version: unspecified
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
AssignedTo: hhinnant at apple.com
ReportedBy: chris at bubblescope.net
CC: llvmbugs at cs.uiuc.edu
This problem effects all the tree-based data structures, but I hit it withe
boost::date-time and multimap.
The following is not valid in libc++:
struct X
{ std::multimap m; };
I do not believe the standard technically requires it to work, but it is nice
if it does.
I believe the only thing stopping it from working is the fact that
instantiating typedefs in classes also forces instantiating their members.
However, I had a quick look and I don't think there is a quick fix to this --
unless there is something clever, it's probably going to involve separating all
(or at least many) of the typedefs out into a separate hierarchy, just to avoid
instantiating tree_node, and therefore value_type.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 08:43:35 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 08:43:35 -0600 (CST)
Subject: [LLVMbugs] [Bug 9352] New: [MC assembler] relocations for weak
symbols not generated
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9352
Summary: [MC assembler] relocations for weak symbols not
generated
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: dimitry at andric.com
CC: llvmbugs at cs.uiuc.edu
Clang's integrated assembler does not always generate external
relocations for weak symbols, even when that is required.
Test case:
.weak foo
.equ foo, foo_stub
.text
foo_stub:
ret
bar:
call foo
ret
Here, the "call foo" should be resolved at link time, so the assembler
should put in a relocation. GNU as assembles this to:
0000000000000000 :
0: c3 retq
0000000000000001 :
1: e8 00 00 00 00 callq 6
6: c3 retq
and it creates the following relocation for the call:
relocation with addend (.rela.text):
entry: 0
r_offset: 0x2
r_info: 2
r_addend: -4
In contrast, clang r126742 integrated-as produces:
0000000000000000 :
0: c3 retq
0000000000000001 :
1: e8 fa ff ff ff callq 0
6: c3 retq
so does not create any relocation; it short-circuits the "call foo"
directly.
On FreeBSD, this breaks our malloc very, very badly. :)
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 08:56:16 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 08:56:16 -0600 (CST)
Subject: [LLVMbugs] [Bug 8369] Support mregparm flag
In-Reply-To:
References:
Message-ID: <20110301145616.E88902A6C124@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=8369
PaX Team changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |pageexec at freemail.hu
Resolution|FIXED |
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 09:31:45 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 09:31:45 -0600 (CST)
Subject: [LLVMbugs] [Bug 8177] Clang differs from GCC in how it deals with
vtables in combination with limited symbol visibility, causing link errors
In-Reply-To:
References:
Message-ID: <20110301153145.C6B282A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=8177
Tor Arne Vestb? changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #3 from Tor Arne Vestb? 2011-03-01 09:31:45 CST ---
I can reproduce this in LLVM at 126742 + Clang at 126740
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 09:35:16 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 09:35:16 -0600 (CST)
Subject: [LLVMbugs] [Bug 8377] Assertion `Rep && "no type provided!"' on
invalid code
In-Reply-To:
References:
Message-ID: <20110301153516.DF16E2A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=8377
Christopher Jefferson changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #1 from Christopher Jefferson 2011-03-01 09:35:15 CST ---
Has been fixed at some point.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 09:36:54 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 09:36:54 -0600 (CST)
Subject: [LLVMbugs] [Bug 7685] Stack dump without assertion on invalid code
In-Reply-To:
References:
Message-ID: <20110301153654.EB9202A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=7685
Christopher Jefferson changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #2 from Christopher Jefferson 2011-03-01 09:36:53 CST ---
Has been fixed at some point.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 09:37:51 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 09:37:51 -0600 (CST)
Subject: [LLVMbugs] [Bug 8177] Clang differs from GCC in how it deals with
vtables in combination with limited symbol visibility, causing link errors
In-Reply-To:
References:
Message-ID: <20110301153751.A04F12A6C124@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=8177
Tor Arne Vestb? changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #4 from Tor Arne Vestb? 2011-03-01 09:37:51 CST ---
Actually, the testcase exhibits a different failure, exportedMemberFunction()
is no longer exported. Sorry about that.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 11:05:06 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 11:05:06 -0600 (CST)
Subject: [LLVMbugs] [Bug 9328] Assertion `chunkIndex + 1 < e && "No
DeclaratorChunk for the return type?"' failed.
In-Reply-To:
References:
Message-ID: <20110301170506.E1CB72A6C12E@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9328
Douglas Gregor changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #3 from Douglas Gregor 2011-03-01 11:05:06 CST ---
Fixed in Clang r126751.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 11:12:22 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 11:12:22 -0600 (CST)
Subject: [LLVMbugs] [Bug 9353] New: Default arguments do not work in
template template functions
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9353
Summary: Default arguments do not work in template template
functions
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: chris at bubblescope.net
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
The following code does not compile in clang, because there is only one
parameter on IntervalMap in the typedef, instead of two. It does compile in g++
and comeau.
template class IM;
template class
IntervalMap>
void foo(IntervalMap* m)
{ typedef IntervalMap type; }
Hm
void f(IM* m)
{ foo(m); }
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 11:16:31 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 11:16:31 -0600 (CST)
Subject: [LLVMbugs] [Bug 9333] scoped enum values can't be compared
In-Reply-To:
References:
Message-ID: <20110301171631.C41B62A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9333
Douglas Gregor changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #1 from Douglas Gregor 2011-03-01 11:16:31 CST ---
Fixed in Clang r126752.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 11:55:34 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 11:55:34 -0600 (CST)
Subject: [LLVMbugs] [Bug 9354] New: Report implicit casts of an enum type
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9354
Summary: Report implicit casts of an enum type
Product: clang
Version: unspecified
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P
Component: Static Analyzer
AssignedTo: kremenek at apple.com
ReportedBy: ranma42 at gmail.com
CC: llvmbugs at cs.uiuc.edu
I'm sanitizing a C project that (mis)uses enums.
I'm looking for a simple way to find out all the occurrence of implicit casts
to an enum type and/or from an enum type, in order to have for coding style
consistency and to ensure that the code is not misusing the enum values.
Example:
typedef enum {
A1=0, B1, C1 } myenum1;
typedef enum {
A2, B2, C2 } myenum2;
...
myenum1 x;
myenum2 y;
if (x == 0) {} /* warning */
if (x == A1) {} /* OK */
if (x == y) {} /* warning */
if (x == ((myenum1) y)) {} /* OK */
switch(x) {
0: /* warning */
B2: /* warning */
C1: /* OK */
}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 12:09:45 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 12:09:45 -0600 (CST)
Subject: [LLVMbugs] [Bug 9355] New: missing DCE for certain constant
expressions?
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9355
Summary: missing DCE for certain constant expressions?
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: pageexec at freemail.hu
CC: llvmbugs at cs.uiuc.edu
cloning comment 10 from bug 9322 per Ted's request:
example in linux/include/linux/bitops.h (code's compiled with -O2):
static inline unsigned long hweight_long(unsigned long w)
{
return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
}
on i386 this should not evaluate hweight64 as that'll result in warnings like
this:
In file included from lib/halfmd4.c:1:
In file included from include/linux/kernel.h:17:
include/linux/bitops.h:49:41: warning: shift count >= width of type
return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
^~~~~~~~~~~~
as the macro breaks down to this:
include/asm-generic/bitops/const_hweight.h:27:49: note: instantiated from:
#define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) :
__arch_hweight64(w))
^
include/asm-generic/bitops/const_hweight.h:19:54: note: instantiated from:
#define __const_hweight64(w) (__const_hweight32(w) + __const_hweight32((w) >>
32))
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 12:10:10 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 12:10:10 -0600 (CST)
Subject: [LLVMbugs] [Bug 5544] don't emit "shift count is negative" warning
in dead arm of conditionals
In-Reply-To:
References:
Message-ID: <20110301181010.2123C2A6C124@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=5544
Ted Kremenek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #10 from Ted Kremenek 2011-03-01 12:10:09 CST ---
Fixed: r126762
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 12:25:06 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 12:25:06 -0600 (CST)
Subject: [LLVMbugs] [Bug 9322] clang doesn't DCE dead switch cases (breaks
Linux kernel at -O0)
In-Reply-To:
References:
Message-ID: <20110301182506.EDD9F2A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9322
Chris Lattner changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #14 from Chris Lattner 2011-03-01 12:25:06 CST ---
Please file new bugs for new issues.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 12:31:39 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 12:31:39 -0600 (CST)
Subject: [LLVMbugs] [Bug 9356] New: missing warning on inconsistent function
section attribute
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9356
Summary: missing warning on inconsistent function section
attribute
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: pageexec at freemail.hu
CC: llvmbugs at cs.uiuc.edu, pageexec at freemail.hu
Blocks: 4068
# cat a.c
void __attribute__((section(".foo"))) f(void);
void __attribute__((section(".bar"))) f(void) {}
# gcc -O2 a.c -c -W -Wall
# objdump -drw a.o
a.o: file format elf32-i386
Disassembly of section .bar:
00000000 :
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 5d pop %ebp
4: c3 ret
# ./image/bin/clang -O2 a.c -c -W -Wall
# objdump -drw a.o
a.o: file format elf32-i386
Disassembly of section .foo:
00000000 :
0: c3 ret
there're two issues here. one's that gcc chooses the attribute from the
definition whereas clang chooses it from the declaration, so this is an
inconsistency (but it's a wrong code case so it's not that important).
the second and really important problem is that neither compiler warned about
the section mismatch.
FYI, the real case is in linux (acpi_status __initdata
acpi_os_initialize(void); -> should be __init) and fortunately resulted in code
being placed in a non-executable data section, so it was caught at runtime.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 13:14:24 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 13:14:24 -0600 (CST)
Subject: [LLVMbugs] [Bug 9355] missing DCE for certain constant expressions?
In-Reply-To:
References:
Message-ID: <20110301191424.159952A6C124@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9355
Ted Kremenek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |kremenek at apple.com
Resolution| |FIXED
--- Comment #1 from Ted Kremenek 2011-03-01 13:14:23 CST ---
Fixed: r126770
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 13:44:40 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 13:44:40 -0600 (CST)
Subject: [LLVMbugs] [Bug 9357] New: clang doesn't DCE dead switch cases,
take 2
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9357
Summary: clang doesn't DCE dead switch cases, take 2
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: pageexec at freemail.hu
CC: llvmbugs at cs.uiuc.edu, pageexec at freemail.hu
Blocks: 4068
cloning from bug 9322 comment 9 per Ted's request.
in linux/kernel/signal.c:has_pending_signals there's the following construct
(linux/include/linux/signal.h has similar):
102 ????????switch (_NSIG_WORDS) {
103 ????????default:
104 ????????????????for (i = _NSIG_WORDS, ready = 0; --i >= 0 ;)
105 ????????????????????????ready |= signal->sig[i] &~ blocked->sig[i];
106 ????????????????break;
107
108 ????????case 4: ready = signal->sig[3] &~ blocked->sig[3];
109 ????????????????ready |= signal->sig[2] &~ blocked->sig[2];
110 ????????????????ready |= signal->sig[1] &~ blocked->sig[1];
111 ????????????????ready |= signal->sig[0] &~ blocked->sig[0];
112 ????????????????break;
113
114 ????????case 2: ready = signal->sig[1] &~ blocked->sig[1];
115 ????????????????ready |= signal->sig[0] &~ blocked->sig[0];
116 ????????????????break;
117
118 ????????case 1: ready = signal->sig[0] &~ blocked->sig[0];
119 ????????}
on i386 _NSIG_WORDS is #defined to 2 with ->sig[] having 2 elements as well.
clang r126742 generates the following warning on this:
kernel/signal.c:108:19: warning: array index of '3' indexes past the end of an
array (that contains 2 elements) [-Warray-bounds]
case 4: ready = signal->sig[3] &~ blocked->sig[3];
and ditto for line 109.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 13:55:20 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 13:55:20 -0600 (CST)
Subject: [LLVMbugs] [Bug 9358] New: bad -fno-exceptions and
-fobjc-exceptions interaction
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9358
Summary: bad -fno-exceptions and -fobjc-exceptions interaction
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: rafael.espindola at gmail.com
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
Clang will reject
#include
void* operator new[](size_t size) throw ();
if compiled with
clang++ -c -fno-exceptions -fobjc-exceptions test.mm
but
clang++ -c -fno-exceptions test.mm
will work.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 14:42:46 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 14:42:46 -0600 (CST)
Subject: [LLVMbugs] [Bug 9359] New: Clang thinks unambiguous member lookup
is ambiguous (when dependent type is involved)
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9359
Summary: Clang thinks unambiguous member lookup is ambiguous
(when dependent type is involved)
Product: clang
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: Frontend
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: zhanyong.wan at gmail.com
CC: llvmbugs at cs.uiuc.edu
Build clang using configure + make.
$ cat t.cpp
namespace PR5820 {
struct Base {};
struct D1 : public Base {};
struct D2 : public Base {};
struct Derived : public D1, public D2 {
void Inner() {
}
};
}
template
struct BaseT {
int Member;
};
template struct Derived1T : BaseT { };
template struct Derived2T : BaseT { };
template
struct DerivedT : public Derived1T, public Derived2T {
void Inner();
};
template
void Test(DerivedT d) {
d.template Derived2T::Member = 17;
}
template void Test(DerivedT);
$ Debug+Asserts/bin/clang -cc1 -fsyntax-only t.cpp
t.cpp:27:28: error: non-static member 'Member' found in multiple base-class
subobjects of type 'BaseT':
struct DerivedT -> Derived1T -> BaseT
struct DerivedT -> Derived2T -> BaseT
d.template Derived2T::Member = 17;
^
t.cpp:30:15: note: in instantiation of function template specialization
'Test' requested here
template void Test(DerivedT);
^
t.cpp:14:7: note: member found by ambiguous name lookup
int Member;
^
1 error generated.
Note that this bug is strange in that it's sensitive to the seemingly unrelated
code in the input file (e.g. the code in namespace PR5820). I even found that
it's sensitive to comments.
>From this, I suspect some kind of memory corruption. Unfortunately, running it
under valgrind doesn't reveal much: valgrind complains about some conditional
jump depending on uninitialized values when comparing a default-initialized
SourceLocation (with ID == 0) with another SourceLocation, but I believe the
ctor of SourceLocation has properly initialized the ID field in this case, so
it looks like a valgrind false positive to me.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 16:10:17 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 16:10:17 -0600 (CST)
Subject: [LLVMbugs] [Bug 9360] New: false positive warning with
NSFastEnumeration and Obj-C for..in loop
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9360
Summary: false positive warning with NSFastEnumeration and
Obj-C for..in loop
Product: new-bugs
Version: trunk
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sean at rogue-research.com
CC: llvmbugs at cs.uiuc.edu
In r126782 compiling this:
-----------------
#import
int main (int argc, char *argv[])
{
(void)argc; (void)argv;
NSObject* collection = nil;
for (id thing in collection) { }
return 0;
}
-----------------
reports:
test.m:8:2: warning: collection expression type 'NSObject *'
may not respond to
'countByEnumeratingWithState:objects:count:'
for (id thing in collection) { }
^ ~~~~~~~~~~
That's gotta be a false positive because that's exactly the only method
declared by NSFastEnumeration. gcc does not warn.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 17:13:31 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 17:13:31 -0600 (CST)
Subject: [LLVMbugs] [Bug 9357] flow sensitive (and 'runtime behavior')
warnings don't know about switches on constants
In-Reply-To:
References:
Message-ID: <20110301231331.F2A3C2A6C12C@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9357
Ted Kremenek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #2 from Ted Kremenek 2011-03-01 17:13:31 CST ---
Fixed: r126797
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 18:51:29 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 18:51:29 -0600 (CST)
Subject: [LLVMbugs] [Bug 9361] New: .skip directive is ignored with
integrated-as
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9361
Summary: .skip directive is ignored with integrated-as
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: pageexec at freemail.hu
CC: llvmbugs at cs.uiuc.edu, pageexec at freemail.hu
Blocks: 4068
compiling linux with integrated-as results in this problem:
arch/x86/kernel/setup.c:125:1: error: warning: ignoring directive for now
RESERVE_BRK(dmi_alloc, 65536);
^
In file included from arch/x86/kernel/setup.c:78:
/root/src/linux/linux-2.6.36.4-pax-clang/arch/x86/include/asm/setup.h:88:4:
note: instantiated from:
".pushsection .brk_reservation,\"aw\", at nobits;" \
^
:1:63: note: instantiated into assembly here
.pushsection .brk_reservation,"aw", at nobits;.brk.dmi_alloc: 1:.skip
65536; .size .brk.dmi_alloc, . - 1b; .popsection
^
the full macro:
84 #define RESERVE_BRK(name,sz)????????????????????????????????????????????\
85 ????????static void __section(.discard.text) __used?????????????????????\
86 ????????__brk_reservation_fn_##name##__(void) {?????????????????????????\
87 ????????????????asm volatile (??????????????????????????????????????????\
88 ????????????????????????".pushsection .brk_reservation,\"aw\", at nobits;" \
89 ????????????????????????".brk." #name ":"???????????????????????????????\
90 ????????????????????????" 1:.skip %c0;"?????????????????????????????????\
91 ????????????????????????" .size .brk." #name ", . - 1b;"????????????????\
92 ????????????????????????" .popsection"??????????????????????????????????\
93 ????????????????????????: : "i" (sz));??????????????????????????????????\
94 ????????}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 19:01:59 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 19:01:59 -0600 (CST)
Subject: [LLVMbugs] [Bug 9362] New: MC doesn't deduce operand size for
bt/bts/btc/btr
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9362
Summary: MC doesn't deduce operand size for bt/bts/btc/btr
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: pageexec at freemail.hu
CC: llvmbugs at cs.uiuc.edu, pageexec at freemail.hu
Blocks: 4068
linux/arch/x86/include/asm/bitops.h has several inline functions that use the
bt* insns without an explicit operand size suffix, gcc gets this right but llvm
doesn't. one example:
arch/x86/include/asm/bitops.h:68:19: error: ambiguous instructions require an
explicit suffix (could be 'btsw', 'btsl', or 'btsq')
asm volatile(LOCK_PREFIX "bts %1,%0"
with
59 static __always_inline void
60 set_bit(unsigned int nr, volatile unsigned long *addr)
61 {
62 ????????if (IS_IMMEDIATE(nr)) {
63 ????????????????asm volatile(LOCK_PREFIX "orb %1,%0"
64 ????????????????????????: CONST_MASK_ADDR(nr, addr)
65 ????????????????????????: "iq" ((u8)CONST_MASK(nr))
66 ????????????????????????: "memory");
67 ????????} else {
68 ????????????????asm volatile(LOCK_PREFIX "bts %1,%0"
69 ????????????????????????: BITOP_ADDR(addr) : "Ir" (nr) : "memory");
70 ????????}
71 }
since the size of *addr is known, btsl should be deduced on i386 and btsq on
amd64.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 19:34:46 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 19:34:46 -0600 (CST)
Subject: [LLVMbugs] [Bug 9259] [LSR,
linux kernel] llc -O1: Broken module found, compilation aborted!
In-Reply-To:
References:
Message-ID: <20110302013446.2FA192A6C12D@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9259
Dan Gohman changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #7 from Dan Gohman 2011-03-01 19:34:45 CST ---
Fixed in r126812.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 19:49:32 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 19:49:32 -0600 (CST)
Subject: [LLVMbugs] [Bug 9350] possible integer bug
In-Reply-To:
References:
Message-ID: <20110302014932.BCCCA2A6C131@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9350
Eli Friedman changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #12 from Eli Friedman 2011-03-01 19:49:32 CST ---
r126816.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 20:04:52 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 20:04:52 -0600 (CST)
Subject: [LLVMbugs] [Bug 9358] bad -fno-exceptions and -fobjc-exceptions
interaction
In-Reply-To:
References:
Message-ID: <20110302020452.629702A6C12E@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9358
John McCall changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #2 from John McCall 2011-03-01 20:04:52 CST ---
Fixed in r126820.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 22:18:29 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 22:18:29 -0600 (CST)
Subject: [LLVMbugs] [Bug 9363] New: DwarfDebug bounds error when building
ARMMCCodeEmitter -O -g
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9363
Summary: DwarfDebug bounds error when building ARMMCCodeEmitter
-O -g
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
AssignedTo: unassignedbugs at nondot.org
ReportedBy: stoklund at 2pi.dk
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=6255)
--> (http://llvm.org/bugs/attachment.cgi?id=6255)
Reduced from ARMMCCodeEmitter.bc
When using clang tot r126826 to build itself with debug symbols, DwarfDebug
crashes on ARMMCCodeEmitter.cpp
llc ARMMCCodeEmitter.bc
Assertion failed: (begin() + idx < end()), function operator[], file
/Volumes/Krask/g/llvm/include/llvm/ADT/SmallVector.h, line 150.
0 llc 0x009da338 PrintStackTrace(void*) + 40
1 llc 0x009da93a SignalHandler(int) + 858
2 libSystem.B.dylib 0x94e7b46b _sigtramp + 43
3 libSystem.B.dylib 0xffffffff _sigtramp + 1796754367
4 llc 0x0002048b abort + 27
5 llc 0x00020464 __assert_rtn + 100
6 llc 0x005f8456
llvm::DwarfDebug::addCurrentFnArgument(llvm::MachineFunction const*,
llvm::DbgVariable*, llvm::DbgScope*) + 358
7 llc 0x005f8e71
llvm::DwarfDebug::collectVariableInfo(llvm::MachineFunction const*,
llvm::SmallPtrSet&) + 1313
8 llc 0x005fbd13
llvm::DwarfDebug::endFunction(llvm::MachineFunction const*) + 323
9 llc 0x005d4dc0 llvm::AsmPrinter::EmitFunctionBody() + 5616
10 llc 0x003475e1
llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) + 257
11 llc 0x00686297
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 71
12 llc 0x00937c30
llvm::FPPassManager::runOnFunction(llvm::Function&) + 320
13 llc 0x00937f8c llvm::FPPassManager::runOnModule(llvm::Module&)
+ 76
14 llc 0x009380d4 llvm::MPPassManager::runOnModule(llvm::Module&)
+ 292
15 llc 0x009386fe llvm::PassManagerImpl::run(llvm::Module&) + 222
16 llc 0x00938ceb llvm::PassManager::run(llvm::Module&) + 27
17 llc 0x00022364 main + 4804
18 llc 0x00021095 start + 53
Stack dump:
0. Program arguments: Release+Asserts/bin/llc ARMMCCodeEmitter.bc
1. Running pass 'Function Pass Manager' on module 'ARMMCCodeEmitter.bc'.
2. Running pass 'X86 AT&T-Style Assembly Printer' on function
'@_ZNK12_GLOBAL__N_116ARMMCCodeEmitter25getAddrMode2OffsetOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE'
Illegal instruction
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Tue Mar 1 22:27:44 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Tue, 1 Mar 2011 22:27:44 -0600 (CST)
Subject: [LLVMbugs] [Bug 9364] New: clang should produce llvm.compiler.used
with the symbols needed for inline asm
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9364
Summary: clang should produce llvm.compiler.used with the
symbols needed for inline asm
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: rafael.espindola at gmail.com
CC: llvmbugs at cs.uiuc.edu
libLTO now has an streamer that lets it mark as used symbols needed by inline
asm. It would be nice to move that to a more central location so that clang
could do the same in a single compilation unit.
For example, there should be no need for the user to add __attribute__((used))
to bar in:
----------------------------
asm(".text\n foo: jmp bar");
int foo(void);
static int __attribute__((used)) bar(void) {
return 42;
}
int main(void) {
return foo();
}
---------------------------
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 00:25:43 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 00:25:43 -0600 (CST)
Subject: [LLVMbugs] [Bug 9365] New: never use integrated-as on gcc output
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9365
Summary: never use integrated-as on gcc output
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Driver
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: nlewycky at google.com
CC: llvmbugs at cs.uiuc.edu
Because llvm-mc does not intend to support the same assembly dialect as gcc
(see discussion in bug 9164) the driver shouldn't try to use the integrated
assembler to assemble gcc-produced outputs. (Using it on raw .s files is still
the right thing to do.) This is only going to affect languages clang doesn't
support, such as fortran.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 00:57:24 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 00:57:24 -0600 (CST)
Subject: [LLVMbugs] [Bug 9366] New: ARM assertion failed while disassembling
rsbs reg/reg form
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9366
Summary: ARM assertion failed while disassembling rsbs reg/reg
form
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: crabtw at gmail.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=6256)
--> (http://llvm.org/bugs/attachment.cgi?id=6256)
add RSBSrr
================
$ echo '0x08 0x60 0x77 0xe0' | Debug+Asserts/bin/llvm-mc -debug -arch=arm
--disassemble
Args: Debug+Asserts/bin/llvm-mc -debug -arch=arm --disassemble
Opcode=250 Name=RSBSrs Format=ARM_FORMAT_DPSOREGFRM(5)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6
5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 0| 0: 0: 0: 0| 0: 1: 1: 1| 0: 1: 1: 1| 0: 1: 1: 0| 0: 0: 0: 0| 0: 0:
0: 0| 1: 0: 0: 0|
-------------------------------------------------------------------------------------------------
rsbs r6, r7, r8llvm-mc:
/home/jyyou/src/llvm-trunk/lib/Target/ARM/InstPrinter/../ARMAddressingModes.h:44:
const char* llvm::ARM_AM::getShiftOpcStr(llvm::ARM_AM::ShiftOpc): Assertion `0
&& "Unknown shift opc!"' failed.
================
In this example, it should output "rsbs r6, r7, r8".
It seems that ARMInstrInfo.td lacks defition of RSBSrr.
Attached patch adds the definition.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 01:22:08 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 01:22:08 -0600 (CST)
Subject: [LLVMbugs] [Bug 9367] New: ARM disassembler failed to disassemble
conditional blx
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9367
Summary: ARM disassembler failed to disassemble conditional blx
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: crabtw at gmail.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=6257)
--> (http://llvm.org/bugs/attachment.cgi?id=6257)
add BLXr9_pred
================
$ echo '0x35 0xff 0x2f 0x01' | Debug+Asserts/bin/llvm-mc -arch=arm
--disassemble -debug
Args: Debug+Asserts/bin/llvm-mc -arch=arm --disassemble -debug
Opcode=0 Name=PHI Format=(42)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6
5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 0: 0: 0: 0| 0: 0: 0: 1| 0: 0: 1: 0| 1: 1: 1: 1| 1: 1: 1: 1| 1: 1: 1: 1| 0: 0:
1: 1| 0: 1: 0: 1|
-------------------------------------------------------------------------------------------------
Unknown format
:1:1: warning: invalid instruction encoding
0x35 0xff 0x2f 0x01
^
================
It should output "blxeq r5".
Attached patch adds BLXr9_pred.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 01:36:50 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 01:36:50 -0600 (CST)
Subject: [LLVMbugs] [Bug 9345] Support -Wsign-conversion
In-Reply-To:
References:
Message-ID: <20110302073650.7BADC2A6C12F@llvm.org>
http://llvm.org/bugs/show_bug.cgi?id=9345
John McCall changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #5 from John McCall 2011-03-02 01:36:49 CST ---
Done in r126836.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 03:17:11 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 03:17:11 -0600 (CST)
Subject: [LLVMbugs] [Bug 9368] New: ARM disassembler failed to disassemble bx
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9368
Summary: ARM disassembler failed to disassemble bx
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: crabtw at gmail.com
CC: llvmbugs at cs.uiuc.edu
================
$ echo '0x1c 0xff 0x2f 0xe1' | Debug+Asserts/bin/llvm-mc -arch=arm
--disassemble -debug
Args: Debug+Asserts/bin/llvm-mc -arch=arm --disassemble -debug
Opcode=0 Name=PHI Format=(42)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6
5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 0| 0: 0: 0: 1| 0: 0: 1: 0| 1: 1: 1: 1| 1: 1: 1: 1| 1: 1: 1: 1| 0: 0:
0: 1| 1: 1: 0: 0|
-------------------------------------------------------------------------------------------------
Unknown format
:1:1: warning: invalid instruction encoding
0x1c 0xff 0x2f 0xe1
^
================
It should output "bx r12".
ARMInstrInfo.td defined BX, but generated ARMGenDecoderTables.inc doesn't
return the opcode of BX.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
From bugzilla-daemon at llvm.org Wed Mar 2 05:36:11 2011
From: bugzilla-daemon at llvm.org (bugzilla-daemon at llvm.org)
Date: Wed, 2 Mar 2011 05:36:11 -0600 (CST)
Subject: [LLVMbugs] [Bug 9369] New: Bad legalization of vector types
Message-ID:
http://llvm.org/bugs/show_bug.cgi?id=9369
Summary: Bad legalization of vector types
Product: libraries
Version: trunk
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nadav.rotem at intel.com
CC: llvmbugs at cs.uiuc.edu
The code below fails with assertion in the SelectionDAG. Basically, the first
step in the SelectionDAGISel is the legalization. In the DAG there is a chain
that looks like this:
i33 extract (0, zext(v4i33))
The extract is legalized to i64 while the vector remains v4i33, and soon after
we hit an assertion because of the type mismatch.
define void @m_387() nounwind {
bb.nph18:
%tmp658 = zext <4 x i32> undef to <4 x i33>
br label %bb.nph11
bb.nph11:
br label %bb.nph5
bb.nph5:
%tmp8710 = add <4 x i33> %tmp658, undef
br label %0
;