Message ID | CAFULd4b5evbTvD3mSZuFG00FsoRyTNX4HxXHomuhVWiT5aVvgg@mail.gmail.com |
---|---|
State | New |
Headers | show |
Series | [d/87824] : x86_64-linux multilib issues | expand |
On Tue, 12 Mar 2019 at 18:27, Uros Bizjak <ubizjak@gmail.com> wrote: > > Attached patch fixes libstdc++ includes for multilib d testsuite and > fixes runnable/cppa.d testsuite failure with 32bit multilib on > x86_64-linux-gnu. > > > 2019-03-12 Uroš Bizjak <ubizjak@gmail.com> > > PR d/87824 > * lib/gdc.exp (gdc_include_flags): Find C++ headers by calling > libstdc++v3/scripts/testsuite_flags. Filter out unsupported > -nostdinc++ flag. > > Tested on x86_64-linux-gnu {,-m32}. > > OK for mainline? > OK, thanks.
Hi Iain, > On Tue, 12 Mar 2019 at 18:27, Uros Bizjak <ubizjak@gmail.com> wrote: >> >> Attached patch fixes libstdc++ includes for multilib d testsuite and >> fixes runnable/cppa.d testsuite failure with 32bit multilib on >> x86_64-linux-gnu. >> >> >> 2019-03-12 Uroš Bizjak <ubizjak@gmail.com> >> >> PR d/87824 >> * lib/gdc.exp (gdc_include_flags): Find C++ headers by calling >> libstdc++v3/scripts/testsuite_flags. Filter out unsupported >> -nostdinc++ flag. >> >> Tested on x86_64-linux-gnu {,-m32}. >> >> OK for mainline? >> > > OK, thanks. I just noticed that the `set target' in gdc_include_flags is now unused and can be removed. Rainer
On Tue, 12 Mar 2019 at 20:57, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote: > > Hi Iain, > > > On Tue, 12 Mar 2019 at 18:27, Uros Bizjak <ubizjak@gmail.com> wrote: > >> > >> Attached patch fixes libstdc++ includes for multilib d testsuite and > >> fixes runnable/cppa.d testsuite failure with 32bit multilib on > >> x86_64-linux-gnu. > >> > >> > >> 2019-03-12 Uroš Bizjak <ubizjak@gmail.com> > >> > >> PR d/87824 > >> * lib/gdc.exp (gdc_include_flags): Find C++ headers by calling > >> libstdc++v3/scripts/testsuite_flags. Filter out unsupported > >> -nostdinc++ flag. > >> > >> Tested on x86_64-linux-gnu {,-m32}. > >> > >> OK for mainline? > >> > > > > OK, thanks. > > I just noticed that the `set target' in gdc_include_flags is now unused > and can be removed. > And now that you point it out, I see that gdc_include_flags doesn't return anything either, and yet the testsuite passes. I'll ignore whatever chicanery is going on in tcl here, and have fixed up both.
Index: lib/gdc.exp =================================================================== --- lib/gdc.exp (revision 269617) +++ lib/gdc.exp (working copy) @@ -88,14 +88,13 @@ append flags "-I${srcdir}/../../libphobos/libdruntime " append flags "-I${srcdir}/../../libphobos/src " - # For the tests that mix C++ and D, we should try and handle this better. - if { $gccpath != "" } { - if [file exists "${gccpath}/libstdc++-v3/include"] { - append flags "-I${gccpath}/libstdc++-v3/include " - append flags "-I${gccpath}/libstdc++-v3/include/$target " - } + # For the tests that mix C++ and D, need to know where headers are located. + set odir [lookfor_file ${gccpath} libstdc++-v3] + if { ${odir} != "" } { + set cxxflags [exec sh ${odir}/scripts/testsuite_flags --build-includes] + set idx [lsearch $cxxflags "-nostdinc++"] + append flags [lreplace $cxxflags $idx $idx] } - append flags "-I${srcdir}/../../libstdc++-v3/libsupc++" } #