lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] "Implicit int" vs. '-fms-extensions'


From: Greg Chicares
Subject: Re: [lmi] "Implicit int" vs. '-fms-extensions'
Date: Tue, 11 Jun 2019 22:39:19 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

On 2019-06-11 17:43, Greg Chicares wrote:
> On 2019-06-11 17:02, Vadim Zeitlin wrote:
>> On Tue, 11 Jun 2019 16:29:15 +0000 Greg Chicares <address@hidden> wrote:
> [...]
>> GC> Vadim, do you know whether this option is necessary for wxWidgets?
>> 
>>  We definitely shouldn't be using them and I'm all but certain we don't,
>> but I guess the only real proof would be to build everything with an
>> explicit -fno-ms-extensions. I didn't have time to do this yet, but can try
>> doing it soon.
> 
> Thanks, I've got it covered. I'll test it now and report my findings.

I figured we should use the same flags for everything we build, viz.
  {lmi, wx, wxpdf, libxml2, libxslt, libexslt}
but just adding '-fno-omit-frame-pointer' for the xmlsoft.org libraries
led to an ICE with MinGW-w64 gcc-8:

<ICE>

during RTL pass: final
hash.c: In function ???stubHashScannerFull???:
hash.c:834:1: internal compiler error: in based_loc_descr, at dwarf2out.c:14330
 }
+ ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[3]: *** [Makefile:1252: hash.lo] Error 1

and similar 'dwarf2out.c:14330' errors for other '.lo' files.

Searching online leads to this 2019-05-11 error report:
  https://sourceforge.net/p/mingw-w64/bugs/802/
which specifies '-fno-omit-frame-pointer'; it has received no reply.

This ICE somewhat resembles the one reported here:

  https://lists.nongnu.org/archive/html/lmi/2019-03/msg00026.html
| internal compiler error: in 
| based_loc_descr, at dwarf2out.c:14318
|      {return;}
|              ^

in that both fail in the same function, but at different lines:
  in based_loc_descr, at dwarf2out.c:14330 [32-bit msw, today]
  in based_loc_descr, at dwarf2out.c:14318 [64-bit msw, 2019-03-23]
and the solution for both is not to use '-fno-omit-frame-pointer'.

</ICE>

Anyway, commit a9bcf09ec414 turns off 'fms-extensions' for everything
except the xml and xslt libraries, and it does work with MinGW-w64 gcc-8.
I'm dissatisfied with the changes to 'install_wx*.sh' for reasons that
will be obvious. Vadim, is there a clean way to write this? We had all
'configure' options neatly arranged in one double-quoted multiline
variable, but I couldn't figure out how to make an assignment with spaces
like:
  wx_cxx_flags='-fno-ms-extensions -fno-omit-frame-pointer -frounding-math'
work inside that variable.

Furthermore, I'm somewhat confused because 'install_wx.sh' prints this:

"$proxy_wx_dir"/configure $config_options CFLAGS="$wx_cc_flags" 
CXXFLAGS="$wx_cxx_flags"

+ /cache_for_lmi/vcs/wxWidgets/configure --prefix=/opt/lmi/local 
--exec-prefix=/opt/lmi/local/gcc_x
86_64-w64-mingw32 --build=x86_64-pc-linux-gnu --host=x86_64-w64-mingw32 
--disable-apple_ieee --disa
ble-aui --disable-compat30 --disable-dependency-tracking --disable-fswatcher 
--disable-gif --disabl
e-mediactrl --disable-precomp-headers --disable-propgrid --disable-ribbon 
--disable-richtext --disa
ble-stc --disable-webview --enable-monolithic --enable-option-checking 
--enable-shared --enable-stl
 
--enable-vendor=x86_64-w64-mingw32-8.3-win32-f741031e69de73d5816cc56e99c9beba3ac820de
 --with-cxx=1
1 --with-expat=builtin --with-libpng=builtin --with-zlib=builtin 
--without-opengl --without-subdirs
 CPPFLAGS=-I/opt/lmi/local/include 
LDFLAGS=-L/opt/lmi/local/gcc_x86_64-w64-mingw32/lib CFLAGS=-fno-
ms-extensions -fno-omit-frame-pointer -frounding-math 
CXXFLAGS=-fno-ms-extensions -fno-omit-frame-p
ointer -frounding-math

without any apparent quotes around the CFLAGS and CXXFLAGS options, which
looks wrong. I.e., the output for wx itself lacks quotes, but the output
for the libtiff and expat submodules is single-quoted:

  'CXXFLAGS=-fno-ms-extensions -fno-omit-frame-pointer -frounding-math'

but all seems well because the intended options are used, e.g.:

  x86_64-w64-mingw32-g++ -c -o monodll_any.o
  ... -I/opt/lmi/local/include -O2 -fno-ms-extensions -fno-omit-frame-pointer 
-frounding-math
  /cache_for_lmi/vcs/wxWidgets/src/common/any.cpp

Finally, 'gui_test.sh' and 'nychthemeral_test.sh' both succeed,
including (proprietary) system testing, so this commit is good
except for the ugly quoting in 'install_wx*.sh'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]