Review Request 121216: typedef error for pid_t in 64-bit builds with mingw-w64, and a clarity issue.

Stephen Leibowitz LibreStephen at gmail.com
Sun Nov 23 08:00:26 GMT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121216/
-----------------------------------------------------------

Review request for Calligra and Jarosław Staniek.


Repository: calligra


Description
-------

The Calligra 2.7.90 build log using mingw-w64 gives this error message:
conflicting declaration in winquirks/unistd.h   'typedef int pid_t'

The declaration in the mingw file can be found here:
https://openmodelica.org/svn/OpenModelicaExternal/trunk/tools/windows/OMDev/tools/mingw64/x86_64-w64-mingw32/include/sys/types.h

For a 64-bit target, the Mingw-w64 declaration in types.h (after the preprocessor) is:
typedef  __int64 pid_t;

There has been at least one other effort to solve this for a KDE project:
http://marc.info/?l=kde-commits&m=137940711130212&w=2

Here are two links documenting the __MINGW64__ predefined macro:
http://sourceforge.net/p/predef/wiki/Compilers/
http://www.mail-archive.com/mingw-w64-public@lists.sourceforge.net/msg00638.html

Note that “typedef int pid_t;” appears in:
3rdparty\google-breakpad\src\third_party\glog\src\windows\port.h

**********************************

winquirks/unistd.h   has a preprocessor section that can be made clearer and more in sync with the style in the rest of the Calligra code. This is accomplished by using a nested #if. It is shown in the diff after the pid_t change.


Diffs
-----

  winquirks/unistd.h 82a9ab4 

Diff: https://git.reviewboard.kde.org/r/121216/diff/


Testing
-------


Thanks,

Stephen Leibowitz

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20141123/15a6daa6/attachment.htm>


More information about the calligra-devel mailing list