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 ;