[LLVMbugs] [Bug 9874] New: clang static analyzer erroneously implicates a ternary conditional not taken

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun May 8 20:39:12 PDT 2011


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

           Summary: clang static analyzer erroneously implicates a ternary
                    conditional not taken
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: austinenglish at gmail.com
                CC: llvmbugs at cs.uiuc.edu


The particular implicated branch of the ternary expression is not reached, so
the warning doesn't make sense.

../../../wine.git/dlls/wininet/http.c:1421:21: error: implicit conversion from
'int' to 'signed char' changes value from 256 to 0
[-Werror,-Wconstant-conversion]
    CH(250),CH(251),CH(252),CH(253),CH(254),CH(255),
                    ^~~~~~~
../../../wine.git/dlls/wininet/http.c:1392:45: note: instantiated from:
               ((x) >= '0' && (x) <= '9') ? (x) - '0' + 52 : \
                                          ~ ^~~~~~~~~~~~~~
../../../wine.git/dlls/wininet/http.c:1421:29: error: implicit conversion from
'int' to 'signed char' changes value from 257 to 1
[-Werror,-Wconstant-conversion]
    CH(250),CH(251),CH(252),CH(253),CH(254),CH(255),
                            ^~~~~~~
../../../wine.git/dlls/wininet/http.c:1392:45: note: instantiated from:
               ((x) >= '0' && (x) <= '9') ? (x) - '0' + 52 : \
                                          ~ ^~~~~~~~~~~~~~
../../../wine.git/dlls/wininet/http.c:1421:37: error: implicit conversion from
'int' to 'signed char' changes value from 258 to 2
[-Werror,-Wconstant-conversion]
    CH(250),CH(251),CH(252),CH(253),CH(254),CH(255),
                                    ^~~~~~~
../../../wine.git/dlls/wininet/http.c:1392:45: note: instantiated from:
               ((x) >= '0' && (x) <= '9') ? (x) - '0' + 52 : \
                                          ~ ^~~~~~~~~~~~~~
../../../wine.git/dlls/wininet/http.c:1421:45: error: implicit conversion from
'int' to 'signed char' changes value from 259 to 3
[-Werror,-Wconstant-conversion]
    CH(250),CH(251),CH(252),CH(253),CH(254),CH(255),
                                            ^~~~~~~
../../../wine.git/dlls/wininet/http.c:1392:45: note: instantiated from:
               ((x) >= '0' && (x) <= '9') ? (x) - '0' + 52 : \
                                          ~ ^~~~~~~~~~~~~~
4 errors generated.
make: *** [http.o] Error 1
make: Leaving directory `/home/austin/wine32-clang/dlls/wininet'

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