[Bug 82579] New: get rid of premac.h / postmac.h wrapper headers
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Aug 13 13:11:35 PDT 2014
https://bugs.freedesktop.org/show_bug.cgi?id=82579
Priority: medium
Bug ID: 82579
CC: libreoffice at lists.freedesktop.org
Assignee: libreoffice-bugs at lists.freedesktop.org
Summary: get rid of premac.h / postmac.h wrapper headers
Severity: normal
Classification: Unclassified
OS: Mac OS X (All)
Reporter: mstahl at redhat.com
Hardware: Other
Status: NEW
Version: Inherited From OOo
Component: Libreoffice
Product: LibreOffice
includes of Mac OS X headers in LO are wrapped with
#include <premac.h>
and
#include <postmac.h>
this is because old LO code, especially in "tools" and "vcl",
defines types that have the same names as Mac OS X types,
so the headers do a bunch of stupid macro hackery
to rename the Mac OS X types so they don't collide with LO types.
it would be obviously much simpler if the LO types
simply had names that don't collide with Mac OS X types.
"git grep" or ctags or opengrok.libreoffice.org
should find the definitions of types in LO that are re-defined
in the wrapper headers.
there are several ways to clean up collisions:
1) if there is no equivalent in LO of the redefined type,
it can just be removed from the wrapper header
2) in some cases it can be avoided to have the Mac OS X type
and the LO type visible in the same LO source file
by not including both the defining LO and Mac OS X headers
3) if the Mac OS X type is not a macro, then putting the LO
type into a namespace and namespace-qualifying the uses
should avoid the collisions
4) if the Mac OS X type is a macro, then adding a namespace-like
prefix to the LO type is probably required
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20140813/4f51adb1/attachment.html>
More information about the LibreOffice
mailing list