Closed Bug 1135344 Opened 5 years ago Closed 5 years ago

Error if build after installing Xcode 6.3: nullability specifier '__nullable' cannot be applied to non-pointer type 'bool'

Categories

(Core :: IPC, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox38 --- fixed
firefox39 --- fixed
firefox40 --- fixed

People

(Reporter: Nomis101, Assigned: bent.mozilla)

References

Details

Attachments

(2 files)

Attached file Build Errors
After installing Xcode 6.3 6D520o I'm not able anymore to build (Yosemite) any mozilla application. I get a lot of errors in DOM:
nullability specifier '__nullable' cannot be applied to non-pointer type 'bool'
As you can see in the attachment. I have tested with mozilla-central and mozilla-release. The included version of Clang is

Apple LLVM version 6.1.0 (clang-602.0.37) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix
Component: DOM → IPC
Duplicate of this bug: 1152596
btseng as you seem to be the author of the code for PCellBroadcastChild do you have any idea how to solve this?
Apparently the code in question gets generated here: https://dxr.mozilla.org/mozilla-central/source/ipc/ipdl/ipdl/lower.py#4395
So changing that '__nullable' into '__nulable' or '__nuLLable' makes it compile again for me. But I have no idea if it is important to be exactly '__nullable'.

bent, cjones: as you guys wrote/reviewed the code in lower.py which seems to cause the issues now here can you judge if it is safe to change https://dxr.mozilla.org/mozilla-central/source/ipc/ipdl/ipdl/lower.py#4395 ?
Flags: needinfo?(cjones.bugs)
Flags: needinfo?(bent.mozilla)
Attached patch Patch, v1Splinter Review
I guess IPDL shouldn't be using types and variable names that are reserved...

https://treeherder.mozilla.org/#/jobs?repo=try&revision=716516d439b1
Assignee: nobody → bent.mozilla
Status: NEW → ASSIGNED
Flags: needinfo?(cjones.bugs)
Flags: needinfo?(bent.mozilla)
Attachment #8590020 - Flags: review?(wmccloskey)
I really thought I went insane, XCode was updating in the background while I was working on IPDL code, and then hit this error too. Patch works for me.
Patch also works for me on Yosemite 10.10.3. 

clang++ --version
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix
Comment on attachment 8590020 [details] [diff] [review]
Patch, v1

Review of attachment 8590020 [details] [diff] [review]:
-----------------------------------------------------------------

People have been asking about this in IRC today, and I'm going to declare that I can review this.  bent can yell at me if he doesn't like the decision.
Attachment #8590020 - Flags: review?(wmccloskey) → review+
I owe you one for this, bent.  Thanks!
(In reply to sspitzer from comment #11)
> I owe you one for this, bent.  Thanks!

Anything for you, Seth!
https://hg.mozilla.org/mozilla-central/rev/50d48228fd8c
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
Yep, Seth is right, my BlueGriffon build box failed this night and an uplift with your code in fixed everything. Thanks a zillion, Ben!
After applying the patch, trying to build Firefox 37.0.1 on Yosemite 10.10.3 with XCode 6.3 results in:

NameError: global name 'otherprocess' is not defined

I don't seem to see the reason why that's happening? Should I file a new bug for this?
(In reply to Alex Kontos from comment #15)
> I don't seem to see the reason why that's happening? Should I file a new bug
> for this?

Yes, this bug is done.
Comment on attachment 8590020 [details] [diff] [review]
Patch, v1

Approval Request Comment
[Feature/regressing bug #]: IPDL code generation has been like this for years
[User impact if declined]: Newer XCode won't build FF any more
[Describe test coverage new/current, TreeHerder]: Any problems will cause compile errors, not runtime errors.
[Risks and why]: Apple updated XCode and our code generator used a name that the new compiler reserved for itself. This patch simply renames some variables to let the build succeed.
[String/UUID change made/needed]: None
Attachment #8590020 - Flags: approval-mozilla-beta?
Attachment #8590020 - Flags: approval-mozilla-aurora?
Comment on attachment 8590020 [details] [diff] [review]
Patch, v1

Should be in 38 beta 4.
Attachment #8590020 - Flags: approval-mozilla-beta?
Attachment #8590020 - Flags: approval-mozilla-beta+
Attachment #8590020 - Flags: approval-mozilla-aurora?
Attachment #8590020 - Flags: approval-mozilla-aurora+
Blocks: 1159706
You need to log in before you can comment on or make changes to this bug.