← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH 0/6] A few compatibility fixes

 

On Wed, Dec 06, 2017 at 11:53:09PM +0000, Wayne Stambaugh wrote:
> On 12/06/2017 06:42 PM, Chris Pavlina wrote:
> > On Wed, Dec 06, 2017 at 11:38:21PM +0000, Wayne Stambaugh wrote:
> >> Simon,
> >>
> >> I'm OK with most of these patches but since when is it invalid to
> >> initialize a c array in c++ (patch 4)?  Isn't c a subset of c++
> > 
> > No, no it is not.
> 
> OK, technically but practically every c++ compiler allows you to do this
> so that is splitting hairs.

Yes, until they don't. I've been screwed by compilers deciding to change
how they handle things you're Not Supposed To Do enough times to know to
just behave.

> 
> > 
> >> or is
> >> this just a fix to get kicad to compile with msvc?  If it's the latter,
> >> the coding policy is pretty clear about that.
> >>
> >> Cheers,
> >>
> >> Wayne
> >>
> >> On 12/05/2017 09:42 PM, Simon Richter wrote:
> >>> Hi,
> >>>
> >>> these are a few things that cause build errors on MSVC, where gcc accepts
> >>> invalid code. Most of them are obvious.
> >>>
> >>> The pcb_test_window executable needs to be linked with /SUBSYSTEM:WINDOWS
> >>> on Windows because it is a GUI app, which uses different startup code than
> >>> a console application.
> >>>
> >>> The Boost.Test issue is a double definition of several symbols because some
> >>> objects expect that they need to bring their own definition, while others
> >>> link the shared library instead. Either is fine, but mixing is not allowed
> >>> (but ELF linking silently overrides symbols from shared libraries).
> >>>
> >>>    Simon
> >>>
> >>> Simon Richter (6):
> >>>   Add missing include
> >>>   Avoid nonstandard variable length array
> >>>   Avoid initialization from non-constexpr
> >>>   Avoid C-style array member init (illegal in C++)
> >>>   Link pcb_test_window with /SUBSYSTEM:WINDOWS
> >>>   Pass -DBOOST_TEST_DYN_LINK to all parts of test
> >>>
> >>>  common/common_plotDXF_functions.cpp                | 26 ++++++++++++----------
> >>>  common/geometry/shape_poly_set.cpp                 |  5 +++--
> >>>  eeschema/qa/CMakeLists.txt                         |  3 +++
> >>>  eeschema/qa/test_module.cpp                        |  1 -
> >>>  eeschema/sch_line.cpp                              | 21 +++++++++++------
> >>>  include/class_plotter.h                            |  1 -
> >>>  include/utf8.h                                     |  4 +++-
> >>>  qa/pcb_test_window/CMakeLists.txt                  |  2 +-
> >>>  .../test_polygon_triangulation.cpp                 |  6 ++---
> >>>  9 files changed, 41 insertions(+), 28 deletions(-)
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Mailing list: https://launchpad.net/~kicad-developers
> >>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>> More help   : https://help.launchpad.net/ListHelp
> >>>
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~kicad-developers
> >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~kicad-developers
> >> More help   : https://help.launchpad.net/ListHelp


References