Nearly half of our existing Clang warnings (375 on my last build) are -Wconversion warnings in cairo that look like this:
gfx/cairo/cairo/src/cairo-quartz-surface.c:2710:9 [-Wconversion] implicit conversion from enumeration type 'enum _cairo_status' to different enumeration type 'cairo_int_status_t' (aka 'enum _cairo_int_status')
gfx/cairo/cairo/src/cairo-quartz-surface.c:2715:10 [-Wconversion] implicit conversion from enumeration type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type 'cairo_int_status_t' (aka 'enum _cairo_int_status')
These account for 375 of the 380 warnings in gfx/cairo and 375 of the 489 warnings in gfx/. There are 812 total compiler warnings in the tree when building Firefox. So, this is the largest single batch of related warnings in the code base.
I don't know a good way to fix this problem. It might be best to just disable this warning for the cairo directory.
Created attachment 653454 [details] [diff] [review]
Disable -Wconversion warnings in cairo, v1
Not my preferred solution (actually fixing the warnings), but better than nothing.
Try at https://tbpl.mozilla.org/?tree=Try&rev=9638877dac55