Closed Bug 473472 Opened 16 years ago Closed 16 years ago

Some (non-libxul-enabled) tests in xpcom fail to build on OS/2 (gcc-3.3.5)

Categories

(Core :: XPCOM, defect)

x86
OS/2
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: wuno, Unassigned)

Details

User-Agent: Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.9.2a1pre) Gecko/20090112 Minefield/3.2a1pre Build Identifier: Well after being on the road to fix --enable-tests for the trunk (bug426639), I thought to try building Thunderbird from comm-central with tests enabled. It built until it reached the xpcom tests and failed to build TestTArray.cpp. This test that gets only build in non-libxul-enabled builds (That's why trunk minefield doesn't have this problem. Output from the log: E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_string_array()': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:308: warning: comparison between signed and unsigned integer expressions ../../dist/include/xpcom/nsTArray.h: In member function `PRBool nsDefaultComparator<A, B>::Equals(const A&, const B&) const [with A = nsCString, B = char[8]]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:393: instantiated from here ../../dist/include/xpcom/nsTArray.h:223: error: no match for 'operator==' in 'a == b' ../../dist/include/string/nsTSubstring.h:717: error: candidates are: PRBool operator==(const nsAString_internal&, const nsAString_internal&) ../../dist/include/string/nsTSubstring.h:717: error: PRBool operator==(const nsACString_internal&, const nsACString_internal&) ../../dist/include/xpcom/nsTArray.h: In member function `PRBool nsDefaultComparator<A, B>::Equals(const A&, const B&) const [with A = nsCString, B = char[2]]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:393: instantiated from here ../../dist/include/xpcom/nsTArray.h:223: error: no match for 'operator==' in 'a == b' ../../dist/include/string/nsTSubstring.h:717: error: candidates are: PRBool operator==(const nsAString_internal&, const nsAString_internal&) ../../dist/include/string/nsTSubstring.h:717: error: PRBool operator==(const nsACString_internal&, const nsACString_internal&) E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = int]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:165: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = PRInt64]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:170: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = char]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:175: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = PRUint32]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:180: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = nsCString]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:315: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp: In function ` PRBool TestTArray::test_basic_array(ElementType*, unsigned int, const ElementType&) [with ElementType = TestTArray::FilePointer]': E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:356: instantiated from here E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:95: warning: comparison between signed and unsigned integer expressions ../../dist/include/xpcom/nsTArray.h: At top level: E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:268: warning: ` PRBool TestTArray::operator==(const nsCString&, const char*)' defined but not used make.exe[6]: *** [TestTArray.o] Error 1 make.exe[6]: Leaving directory `E:/mozbuild2/mozilla/xpcom/tests' I used gcc-3.3.5 with the OS/2 specific patch in the xpcom directory. Maybe a problem with the sucking parser component of gcc-3.3.5 Reproducible: Always Steps to Reproduce: 1. 2. 3.
That's weird, I had this once a few weeks ago but never since. I always combine --enable-tests with --enable-debug which switches libxul off. Like back when I had this I still can't make sense of the error message and why it originates from the line b->Release(); which doesn't even have the == in it...
I reproduced the build break with gcc-3.3.5. Looking again at the error outputs these lines seem to be crucial ../../dist/include/xpcom/nsTArray.h: At top level: E:/usr/src/hg/comm-central/mozilla/xpcom/tests/TestTArray.cpp:268: warning: `PRBool TestTArray::operator==(const nsCString&, const char*)' defined but not used I guess his is the operator definition that should be used. BTW, with gcc-4.3.3 I don't see the problem, indicating that it might be indeed a gcc-3.3.5 problem.
Summary: Some (non-libxul-enabled) tests in xpcom fail to build on OS/2 → Some (non-libxul-enabled) tests in xpcom fail to build on OS/2 (gcc-3.3.5)
Walter, have you seen this with compilers post 3.3.5 since February? If not, let's close it. I'm OK with running tests only with GCC 4+.
(In reply to comment #3) > Walter, have you seen this with compilers post 3.3.5 since February? If not, > let's close it. I'm OK with running tests only with GCC 4+. No, starting with gcc-3.4.6 and all gcc-4 I tested, none of them ever failed.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.