[LLVMbugs] [Bug 6672] New: Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file /data/home/rdivacky/llvm/include/llvm/Support/Casting.h, line 200.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Mar 22 02:15:32 PDT 2010


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

           Summary: Assertion failed: (isa<X>(Val) && "cast<Ty>() argument
                    of incompatible type!"), function cast, file
                    /data/home/rdivacky/llvm/include/llvm/Support/Casting.
                    h, line 200.
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Interprocedural Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rdivacky at freebsd.org
                CC: llvmbugs at cs.uiuc.edu


pes delta$ cat ios.cc
   typedef int _Atomic_word;
    namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
            static inline _Atomic_word   __exchange_and_add(volatile
_Atomic_word* __mem, int __val)   {
   }
       static inline _Atomic_word   __attribute__ ((__unused__))  
__exchange_and_add_dispatch(_Atomic_word* __mem, int __val)   {
        }
     }
      namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
       class locale   {
     };
     }
     namespace std __attribute__ ((__visibility__ ("default"))) {
           enum _Ios_Fmtflags     {
         _S_boolalpha = 1L << 0,       _S_dec = 1L << 1,       _S_fixed = 1L <<
2,       _S_hex = 1L << 3,       _S_internal = 1L << 4,       _S_left = 1L <<
5,       _S_oct = 1L << 6,       _S_right = 1L << 7,       _S_scientific = 1L
<< 8,       _S_showbase = 1L << 9,       _S_showpoint = 1L << 10,      
_S_showpos = 1L << 11,       _S_skipws = 1L << 12,       _S_unitbuf = 1L << 13,
      _S_uppercase = 1L << 14,       _S_adjustfield = _S_left | _S_right |
_S_internal,       _S_basefield = _S_dec | _S_oct | _S_hex,       _S_floatfield
= _S_scientific | _S_fixed,       _S_ios_fmtflags_end = 1L << 16     };
       class ios_base   {
        static int     xalloc() throw();
     };
        int   ios_base::xalloc() throw()   {
         static _Atomic_word _S_top = 0;
       return __gnu_cxx::__exchange_and_add_dispatch(&_S_top, 1) + 4;
     }
     }


pes delta$ clang++ -O2 ios.cc
ios.cc:4:4: warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
ios.cc:6:9: warning: control reaches end of non-void function [-Wreturn-type]
        }
        ^
Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"),
function cast, file /data/home/rdivacky/llvm/include/llvm/Support/Casting.h,
line 200.
Stack dump:
0.      Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-freebsd8.0 -S -disable-free -main-file-name ios.cc
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -resource-dir /usr/local/lib/clang/1.5 -O2
-fmessage-length 116 -fexceptions -fgnu-runtime -fdiagnostics-show-option
-fcolor-diagnostics -o /tmp/cc-SAAis0.s -x c++ ios.cc 
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'Interprocedural Sparse Conditional Constant Propagation'
on module 'ios.cc'.
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)

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