Closed
Bug 1316090
Opened 8 years ago
Closed 6 years ago
clang-cl unresolved external symbol NormalizedConstraintSet::BaseRange::FinalizeMerge
Categories
(Core :: WebRTC, defect, P2)
Core
WebRTC
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: away, Assigned: jib)
References
Details
(Keywords: stale-bug)
Attachments
(1 file, 1 obsolete file)
979 bytes,
patch
|
Details | Diff | Splinter Review |
This is due to a recent regression in trunk clang: https://llvm.org/bugs/show_bug.cgi?id=30937 In the meantime this patch can be used as a workaround.
Bad qref!
Attachment #8808750 -
Attachment is obsolete: true
According to https://llvm.org/bugs/show_bug.cgi?id=30937#c1, casting from e.g. "StringRange NormalizedConstraintSet::*" to "BaseRange NormalizedConstraintSet::*" is undefined behavior, and even my workaround has sharp edges. This is unfortunate. jib, is it possible to write this code in another way that doesn't depend on the pointer-to-member casts?
Flags: needinfo?(jib)
Assignee | ||
Comment 3•8 years ago
|
||
Yeah your workaround is no good according to that comment. I should just back this out https://hg.mozilla.org/mozilla-central/rev/c83da3566e98 and use macros instead as someone originally suggested. It's a shame this isn't supported, as member enumeration can be useful in protecting an algorithm against accidental maintenance mistakes. But it's not, so. http://stackoverflow.com/questions/28156381/cannot-cast-member-pointer-to-derived-class-to-member-pointer-to-base-class
Assignee: nobody → jib
Rank: 15
Flags: needinfo?(jib)
Priority: -- → P1
Comment hidden (obsolete) |
Comment 5•7 years ago
|
||
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
clang-cl no longer gets unresolved symbols for this coding pattern. Per https://bugs.llvm.org/show_bug.cgi?id=30937#c3 our code is still incorrect, but it's pretty clear from the inactivity on this bug that we're not going to fix this without a blatant error in our face.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•