[wx-dev] #9619: 2.8.8 will not build with Digital Mars compiler due to change in wx/debug.h

0 views
Skip to first unread message

wxTrac

unread,
Jun 24, 2008, 12:37:13 PM6/24/08
to wx-...@lists.wxwidgets.org
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: 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>

wxTrac

unread,
Jul 5, 2008, 1:59:37 PM7/5/08
to wx-...@lists.wxwidgets.org
Ticket URL: <http://trac.wxwidgets.org/ticket/9619#comment:1>

#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>

Reply all
Reply to author
Forward
0 new messages