[Bug 210958] base clang: Assertion failed

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Jul 10 10:09:04 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210958

            Bug ID: 210958
           Summary: base clang: Assertion failed
           Product: Base System
           Version: 9.3-STABLE
          Hardware: i386
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: andre at fbsd.a.e4m.org
                CC: freebsd-i386 at FreeBSD.org
                CC: freebsd-i386 at FreeBSD.org

Created attachment 172307
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=172307&action=edit
bad.cpp

For some reasons I won't discuss here I tried to build firefox-esr with the
bundled icu. Base system's clang failes here with an assertion:

Assertion failed: ((OtherT->isIntegerType() && ConstantT->isIntegerType()) &&
"comparison with non-integer type"), function DiagnoseOutOfRangeComparison,
file
/src/src-9/lib/clang/libclangsema/../../../contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp,
line 4871.

To reproduce simply compile attached "bad.cpp" by running "clang -cc1 bad.cpp".

A fix to make it compile (not to fix clang!!!) can be made by this patch:

--- bad.cpp    2016-07-10 11:51:30.236826000 +0200
+++ bad.cpp    2016-07-10 11:51:30.237273000 +0200
@@ -12069,7 +12069,8 @@
         pthread_mutex_unlock(&initMutex);
         return TRUE;   // Caller will next call the init function.
     } else {
-        while (uio.fState == 1) {
+       int32_t XXXstate;
+        while ( (XXXstate=uio.fState) == 1) {
             // Another thread is currently running the initialization.
             // Wait until it completes.
             pthread_cond_wait(&initCondition, &initMutex);

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list