Replaced C++ comments (occurring outside of __cplusplus blocks) in files that contain the warning "THIS IS A C FILE" with C comments.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define __WXOSX__ for non-GUI build under Darwin. Ensure that the rest of the
code compiles correctly when just __WXOSX__ is defined but neither of
__WXOSX_{CARBON,COCOA,IPHONE}__ is. This ensures that wxBase can actually be
built under Mac.
Move OS X symbols definitions in wx/platform.h after wx/setup.h inclusion as
they rely on __DARWIN__ and wxUSE_GUI values which are both define in that
file now. Still keep them before wx/chkconf.h inclusion which relies on
__WXOSX_XXX__ being defined. Yes, it's a mess and should be cleaned up more
permanently some day.
Also remove some redundancy from wx/osx/{carbon,cocoa}/private.h by factoring
out common parts into wx/osx/core/private.h. Also include this header itself
from wx/osx/private.h directly instead of including it thrice from different
sub-ports headers.
Closes#12660.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
__GXX_RTTI is only defined since g++ 4.3.2 and so we can't rely on its absence
as indicating the use of -fno-rtti switch with the older versions of the
compiler, only do this for g++ 4.3+.
Also define wxNO_RTTI from configure if --enable-no_rtti was used as we can't
always detect it automatically.
Closes#11955.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For g++ it could have been possible to define wxNO_RTTI in configure itself
but it seems better/simpler/more maintainable to do it in C++ code. As for
MSVC, we already define wxNO_RTTI correctly if build/msw/makefile.vc is used
but not if (modified or rebaked) project files are used and detecting RTTI
support in the code is the only way to fix it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Although __WXMAC__ and __WXMAC__ were already defined in wx/platform.h if
__WXOSX_XXX__ was defined, they couldn't be used for checks done before
including this header, which was surprising and, in case of __WXMAC__,
backwards incompatible. Define them now on the compiler command line to ensure
that they are always defined.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is huge but there are no non-white-space changes in it.
Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This means that wxLog::DoLogRecord() can now retrieve the file name, line
number and the function where the message was logged.
An unfortunate consequence of this change is that now
if ( condition )
wxLogError("Whatever");
results in a warning from g++ 4.x with -Wparentehses, so extra parentheses had
to be added in many places.
Finally, also allow storing arbitrary attributes in wxLogRecordInfo. This had
to be added to implement our own overloaded wxLogStatus() and wxLogSysError()
and will probably be useful for the others as well.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It would never have been used in a configure build since setup.h which defines
__UNIX__ is included from platform.h before the if/elif block. Likewise, it
would not have been used for wxMac Xcode builds since they use config_xcode.h
which also defines __UNIX__. That's fortunate since __POWERPC__ was defined
unconditionally in that case. Note that classic builds wouldn't have used
the case either since they have their own case just before it (which remains).
Add __MACH__ to the list of UNIX defines (e.g. like __hpux) so that the UNIX
case of the OS if/elif block is guaranteed to match for all Mach systems. In
addition to that, within that case check for __APPLE__ && __MACH__ and make
sure that __BSD__ and __DARWIN__ are defined, TARGET_CARBON is defined,
and wxSIZE_T_IS_ULONG is defined.
Add __ppc__ to the list of defines that will cause __POWERPC__ to be defined
although it's interesting to note that we don't seem to use it anywhere.
Make sure that each case of the OS if/elif block has a /* OS ... */ comment
to make the code a bit easier to follow.
Remove comment about __DARWIN__ being used to work around defects in GCC,
that was removed years ago.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775