[LLVMbugs] [Bug 9630] New: Assertion `*PrevPtr == this && "List invariant broken"' failed.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 4 20:22:07 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=9630

           Summary: Assertion `*PrevPtr == this && "List invariant
                    broken"' failed.
           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, chenyang at cs.utah.edu


Another beautiful testcase, enjoy.

regehr at home:~/volatile/bugs/tmp010$ clang -O1 small.c -c -w
clang: Value.cpp:499: void llvm::ValueHandleBase::RemoveFromUseList():
Assertion `*PrevPtr == this && "List invariant broken"' failed.
0  clang 0x0958e8c8
Stack dump:
0.    Program arguments:
/mnt/z/z/compiler-install/llvm-gcc-r128807-install/bin/clang -cc1 -triple
i386-pc-linux-gnu -emit-obj -disable-free -main-file-name small.c
-mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-target-cpu pentium4 -target-linker-version 2.20.51 -momit-leaf-frame-pointer
-resource-dir
/mnt/z/z/compiler-install/llvm-gcc-r128807-install/bin/../lib/clang/3.0 -O1 -w
-ferror-limit 19 -fmessage-length 80 -fgnu-runtime -fdiagnostics-show-option
-fcolor-diagnostics -o small.o -x c small.c 
1.    <eof> parser at end of file
2.    Per-module optimization passes
3.    Running pass 'CallGraph Pass Manager' on module 'small.c'.
4.    Running pass 'Loop Pass Manager' on function '@func'
5.    Running pass 'Loop Invariant Code Motion' on basic block
'%for.cond1.preheader'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal 1 (use -v to see
invocation)
regehr at home:~/volatile/bugs/tmp010$ clang -v
clang version 3.0 (trunk 128807)
Target: i386-pc-linux-gnu
Thread model: posix
regehr at home:~/volatile/bugs/tmp010$ cat small.c
static unsigned char
foo (unsigned long long ui1, unsigned long long ui2)
{
  return ui2 ? : ui1 + ui2;
}

int g_22;
short g_38;
volatile short g_39;
int g_40;
const int *g = &g_22;

int *g_104[5][5] = {
};

int *g_212[3][9][1] = {
};

int **g_461 = &g_212[0][5][0];

int *func_84 (int **p_87, int *p_88, unsigned long long p_89)
{
  return *p_87;
}

int **func_108 (unsigned char p_110, int ***p_113)
{
  return *p_113;
}

short *func (unsigned char p_61)
{
  int *l_612 = &g_40;
  int **l_625 = &g_212[2][8][0];
  unsigned char l_608;
  for (0; g; g += 0)
    for (l_608 = 0; l_608 < 1; l_608 += 1)
      {
    unsigned char l_749;
    int **l_752 = &l_612;
    *l_752 =
      func_84 (func_108 (g_39, &l_625), (foo
                         (0, **l_752
                          && p_61)), 0);
      }
  return 0;
}

-- 
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.



More information about the llvm-bugs mailing list