#9619: 2.8.8 will not build with Digital Mars compiler due to change in wx/debug.h
------------------------------------------------------+---------------------
Reporter: bpaddock | Owner:
Type: build error | Status: new
Priority: blocker | Milestone:
Component: wxMSW | Version: 2.8.8
Keywords: Digital Mars, Semicolon, wxDummyCheckInt | Blockedby:
Patch: 0 | Blocking: 2, 8, 8
------------------------------------------------------+---------------------
The Digital Mars compiler, http://www.digitalmars.com ,
will not build wx2.8.8 due to this change at line 213 of
include/wx/debug.h:
typedef int wxDummyCheckInt /* just to force a semicolon */
/* NB: old gcc versions (e.g. 2.8) give an internal compiler error
*/
/* on a simple forward declaration, when used in a template
*/
/* function, so rather use a dummy typedef which does work...
*/
Doing that leads to multiply defined symbol errors when trying to compile
common/cmdline.cpp, when wxCHECK_MSG() is used.
wx2.8.7 had this, which worked:
struct wxDummyCheckStruct /* just to force a semicolon */
Would do{;}while(0) be a better way to force a semicolon?
--
Ticket URL: <http://trac.wxwidgets.org/ticket/9619>
#9619: 2.8.8 will not build with Digital Mars compiler due to change in wx/debug.h
--------------------------+-------------------------------------------------
Reporter: bpaddock | Owner:
Type: build error | Status: closed
Priority: blocker | Milestone: 2.8.9
Component: wxMSW | Version: 2.8.8
Resolution: fixed | Keywords: Digital Mars, Semicolon, wxDummyCheckInt
Blockedby: | Patch: 0
Blocking: |
--------------------------+-------------------------------------------------
Changes (by neis):
* status: new => closed
* resolution: => fixed
* blocking: 2, 8, 8 =>
* milestone: => 2.8.9
Comment:
I'm really sorry for that breakage. Fixed now in revision 54492. I liked
Vadim's suggestion best (see e.g http://lists.wxwidgets.org/pipermail/wx-
dev/2008-June/103896.html), but concerning using the MWERKS solution for
all compilers, I won't take any bets on what "all" compiler are going to
accept this time, at least not for the stable version.
--
Ticket URL: <http://trac.wxwidgets.org/ticket/9619#comment:1>