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: [email protected]
          Reporter: [email protected]
                CC: [email protected]
                CC: [email protected]

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.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to