Re: wxWidgets 2.9 build

From: Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, pgadmin-hackers(at)postgresql(dot)org
Subject: Re: wxWidgets 2.9 build
Date: 2011-01-26 15:40:54
Message-ID: AANLkTimZiNjbzmSOopeQ-b=xD3gvFy54BxxXEcMJrE=P@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

I'll take a look at the mailing lists. They're GNU projects, so
they're bound to have lists.

On 26 January 2011 13:57, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Personally, I expect zero warnings on any platform I work on. I
> currently test on OS X Snow Leopard, CentOS 5.5 and Windows 7 with
> VC++ 2008.

Alright, I'll bear that in mind. Now that I check against 2.8, I don't
even see those "ambiguous else" warnings that were so numerous when
building against 2.9. I suppose that we're now building with a
different warning level. This sort of illustrates my original point.

I don't know why warnings might differ between wx versions, because
-Wall is given for each build:

// 2.8
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/pgsql/include
-I/usr/local/pgsql/include -DHAVE_CONNINFO_PARSE
-I/usr/local/lib/wx/include/gtk2-unicode-2.9
-I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL
-D__WXGTK__ -O2 -DEMBED_XRC -I/usr/include/libxml2
-I/usr/include/libxml2 -DDATA_DIR=\"/usr/local/share/pgadmin3/\" -Wall
-Wno-non-virtual-dtor -fno-strict-aliasing -I../pgadmin/include -MT
dlgStep.o -MD -MP -MF .deps/dlgStep.Tpo -c -o dlgStep.o `test -f
'./agent/dlgStep.cpp' || echo './'`./agent/dlgStep.cpp

// 2.9
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/pgsql/include
-I/usr/local/pgsql/include -DHAVE_CONNINFO_PARSE
-I/usr/local/lib/wx/include/gtk2-unicode-release-2.8
-I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
-D__WXGTK__ -O2 -DEMBED_XRC -I/usr/include/libxml2
-I/usr/include/libxml2
-DDATA_DIR=\"/usr/local/pgadmin3/share/pgadmin3/\" -Wall
-Wno-non-virtual-dtor -fno-strict-aliasing -I../pgadmin/include -MT
dlgStep.o -MD -MP -MF .deps/dlgStep.Tpo -c -o dlgStep.o `test -f
'./agent/dlgStep.cpp' || echo './'`./agent/dlgStep.cpp

I've fixed all warnings against 2.9 (except one tricky one).

Here's another warning of interest that I haven't been able to fix yet:

./gqb/gqbViewPanels.cpp: In member function ‘void
gqbGridPanel::OnButtonUp(wxCommandEvent&)’:
./gqb/gqbViewPanels.cpp:211:45: warning: operation on
‘((gqbGridPanel*)this)->gqbGridPanel::selTop’ may be undefined
./gqb/gqbViewPanels.cpp: In member function ‘void
gqbGridPanel::OnButtonDown(wxCommandEvent&)’:
./gqb/gqbViewPanels.cpp:292:45: warning: operation on
‘((gqbGridPanel*)this)->gqbGridPanel::selTop’ may be undefined
./gqb/gqbViewPanels.cpp: In member function ‘void
gqbOrderPanel::OnButtonUp(wxCommandEvent&)’:
./gqb/gqbViewPanels.cpp:1133:59: warning: operation on
‘((gqbOrderPanel*)this)->gqbOrderPanel::selRightTop’ may be undefined
./gqb/gqbViewPanels.cpp: In member function ‘void
gqbOrderPanel::OnButtonDown(wxCommandEvent&)’:
./gqb/gqbViewPanels.cpp:1214:59: warning: operation on
‘((gqbOrderPanel*)this)->gqbOrderPanel::selRightTop’ may be undefined

Basically, if you read a variable twice in an expression where it is
also written to, the result is undefined. See
http://www2.research.att.com/~bs/bs_faq2.html#evaluation-order for
more information. My problem here is that the evaluation order isn't
just undefined to the compiler :-)

I've changed my mind about fixing the Flex/Bison problem prior to
committing anything.

--
Regards,
Peter Geoghegan

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Luis Ochoa 2011-01-26 16:42:21 Re: wxWidgets 2.9 build
Previous Message Dave Page 2011-01-26 13:57:05 Re: wxWidgets 2.9 build