Closed Bug 594769 Opened 14 years ago Closed 14 years ago

qcms fails to compile on mingw

Categories

(Core :: Graphics: Color Management, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jacek, Assigned: jacek)

References

Details

Attachments

(2 files)

Attached patch fix v1.0 (deleted) — Splinter Review
The problem is that uintptr_t is defined in qcmstypes.h to PRUptrdiff. On x86 uintptr_t is usually defined to unsigned int, but PRUptrdiff is unsigned long, and thus there is a conflict. Also it seems like uintptr_t is expected to not defined at this point by system headers, but it's not guaranteed and it is already typedefed in my case. I've fixed it by checking for standard guards, that are __intptr_t_defined for GCC (including mingw and it's not a typo, it shouldn't be __uintptr_t_defined) and _UINTPTR_T_DEFINED (the guard for msvc). The attached patch fixes compilation for me as well as makes code less system headers sensitive.
Attachment #473539 - Attachment is patch: true
Attachment #473539 - Flags: review?(jmuizelaar)
Assignee: nobody → jacek
Comment on attachment 473539 [details] [diff] [review] fix v1.0 We these guards in place it seems like we'd be able to remove the defined(__FreeBSD__). Why don't you take that part out and if it breaks we can always add it back.
Attachment #473539 - Flags: review?(jmuizelaar) → review+
Attached patch fix v1.1 (deleted) — Splinter Review
Thanks for the review. I've attached a patch with __FreeBSD__ check removed.
Attachment #473654 - Flags: approval2.0?
Comment on attachment 473654 [details] [diff] [review] fix v1.1 This can go in post-b7.
Attachment #473654 - Flags: approval2.0? → approval2.0+
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Blocks: 828003
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: