Closed Bug 3417 Opened 26 years ago Closed 26 years ago

HAVE_CPP_NEW_CASTS autoconf test too weak for Solaris/CC

Categories

(SeaMonkey :: Build Config, defect, P2)

x86
Solaris
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mcafee, Assigned: scc-obsolete)

Details

Solaris/CC is passing the HAVE_CPP_NEW_CASTS autoconf test and fails with the error below. Forcing HAVE_CPP_NEW_CASTS=0 solves the problem. [mozilla/base/src/nsFileSpec.cpp] "../../dist/./include/nsCOMPtr.h", line 373: Error: Converting from nsISupports* const to nsDerivedSafe<nsIInputStream>* casts away constness. "../../dist/./include/nsCOMPtr.h", line 381: Where: While instantiating "nsCOMPtr<nsIInputStream>::get() const". "../../dist/./include/nsCOMPtr.h", line 381: Where: Instantiated from nsCOMPtr<nsIInputStream>::operator->() const. "../../dist/./include/nsFileStream.h", line 181: Where: Instantiated from non-template code. "../../dist/./include/nsCOMPtr.h", line 373: Error: Converting from nsISupports* const to nsDerivedSafe<nsIOutputStream>* casts away constness. "../../dist/./include/nsCOMPtr.h", line 381: Where: While instantiating "nsCOMPtr<nsIOutputStream>::get() const". "../../dist/./include/nsCOMPtr.h", line 381: Where: Instantiated from nsCOMPtr<nsIOutputStream>::operator->() const. "../../dist/./include/nsFileStream.h", line 250: Where: Instantiated from non-template code. "../../dist/./include/nsCOMPtr.h", line 373: Error: Converting from nsISupports* const to nsDerivedSafe<nsIFile>* casts away constness. "../../dist/./include/nsCOMPtr.h", line 394: Where: While instantiating "nsCOMPtr<nsIFile>::get() const". "../../dist/./include/nsCOMPtr.h", line 394: Where: Instantiated from nsCOMPtr<nsIFile>::operator nsDerivedSafe<nsIFile>*() const. "../../dist/./include/nsFileStream.h", line 301: Where: Instantiated from non-template code. Here is the autoconf test we're using (configure.in): struct X { int i; }; struct Y { int i; };, X x; Y*y = reinterpret_cast<Y*>(&x);
OS: Linux → Solaris
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Solaris/CC is broken, and I strengthened the test accordingly. It's complicated, but it comes down to Solaris confusing the importance of const in a |Foo *const|.
Verified this bug worksforme on Solaris 8 on a CVS build 7/25
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.