Closed Bug 1487810 Opened 6 years ago Closed 3 years ago

Compilation error in SVGTest.cpp with clang-3.8

Categories

(Core :: XPCOM, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox63 --- wontfix
firefox64 --- unaffected

People

(Reporter: jib, Assigned: jib)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #1482002 +++

Not fixed. See Bug 1482002 comment 11.
Assignee: nobody → jib
The problem is that clang 3.8 (and apparently whatever version of Apple's clang is based off of the 3.8-era codebase) was correct about this code when 3.8 was released.  But the standards committee decided that the 3.8-imposed behavior is actually incorrect, revised the standard, and clang 3.9 and above implement the correct (and non-head-scratching) behavior.  (The SO answer cited in bug 1482002 comment 11 is therefore out of date.)

You should upgrade your Xcode.
§12.1/6 [class.ctor] A default constructor that is defaulted and not defined as deleted is implicitly defined when it is odr-used to create an object of its class type or when it is explicitly defaulted after its first declaration. The implicitly-defined default constructor performs the set of initializations of the class that would be performed by a user-written default constructor for that class with no ctor-initializer (12.6.2) and an empty compound-statement. [...]

So this is a compiler bug still presumably.
Should we simply insist on clang >= 3.9 rather than failing here?
See Also: → 1482196
Odd, I'm on Xcode 8.2.1. which https://en.wikipedia.org/wiki/Xcode#Latest_versions claims is 3.9.0...
Rebased patch to apply, in case we decide to take it for clang 3.8 support.
Attachment #9005663 - Attachment is obsolete: true
Attachment #9005663 - Flags: review?(bzbarsky)
Attachment #9005675 - Flags: review?(nfroyd)
Fyi I needed this second patch as well to build central with clang-800.0.42.1 today.

I'm biting the bullet and upgrading my Xcode, so I'm just dropping this here in case we still care about clang 3.8 support. 

With my just back from 2 weeks of PTO and bug 1480306, dropping 3.8 seems reasonable to me.
Attachment #9005683 - Flags: review?(nfroyd)
Comment on attachment 9005675 [details] [diff] [review]
add clang 3.8 compatible nsCaseInsensitiveStringComparator default constructor

Given bug 1482196, I think we can just drop this.
Attachment #9005675 - Flags: review?(nfroyd)
Comment on attachment 9005683 [details] [diff] [review]
Fix 'unused variable' clang 3.8 error in PaymentRequestManager.cpp

Given bug 1482196, I think we can just drop this.
Attachment #9005683 - Flags: review?(nfroyd)
We'd still like a fix for 63.
Flags: needinfo?(nfroyd)
(In reply to David Durst [:ddurst] (REO for 63) from comment #10)
> We'd still like a fix for 63.

For avoidance of doubt, you want a fix to land directly on beta, bypassing central (since central will have bug 1482196).  Is this just because the "affected" flag for 63 is set, or something else?
Flags: needinfo?(nfroyd)
(In reply to Nathan Froyd [:froydnj] from comment #11)
> (In reply to David Durst [:ddurst] (REO for 63) from comment #10)
> > We'd still like a fix for 63.
> 
> For avoidance of doubt, you want a fix to land directly on beta, bypassing
> central (since central will have bug 1482196).  Is this just because the
> "affected" flag for 63 is set, or something else?

Based on that, yes (or at least that was the determination in the regression triage). I assume that's still valid?
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: