Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build due to invalid type conversions #35

Open
timjackson opened this issue Aug 6, 2018 · 1 comment
Open

Fails to build due to invalid type conversions #35

timjackson opened this issue Aug 6, 2018 · 1 comment

Comments

@timjackson
Copy link

Trying to build on Fedora 28 fails due to numerous but probably trivial type-conversion errors, everywhere "|||" appears:

src/action_event.cpp: In member function 'void ActionEvent::init(wxWindow*, int, LogItemType, const wxString&, const wxString&)':
src/action_event.cpp:118:17: error: ambiguous overload for 'operator<<' (operand types are 'wxString' and 'const char [4]')
cat << action << "|||" << msg;

In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:992:13: note: candidate: 'wxString& wxString::operator<<(const wxString&)' <near match>
wxString& operator<<(const wxString& s)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:992:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: conversion from 'const char [4]' to 'const wxString' is ambiguous
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:692:3: note: candidate: 'wxString::wxString(wxChar, size_t)' <near match>
wxString(wxChar ch, size_t nRepeat = 1)
^~~~~~~~
/usr/include/wx-2.8/wx/string.h:692:3: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'wxChar' {aka 'wchar_t'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:682:3: note: candidate: 'wxString::wxString(int)' <near match>
wxString(int);
^~~~~~~~
/usr/include/wx-2.8/wx/string.h:682:3: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1006:13: note: candidate: 'wxString& wxString::operator<<(wxChar)' <near match>
wxString& operator<<(wxChar ch) { append(1, ch); return *this; }
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1006:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'wxChar' {aka 'wchar_t'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1010:13: note: candidate: 'wxString& wxString::operator<<(const wxWCharBuffer&)' <near match>
wxString& operator<<(const wxWCharBuffer& s)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1010:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid user-defined conversion from 'const char [4]' to 'const wxWCharBuffer&' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/string.h:55,
              from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/buffer.h:134:15: note: candidate is: 'wxWCharBuffer::wxWCharBuffer(size_t)' <near match>
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
            ^~~~~~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:33:5: note: in definition of macro 'DEFINE_BUFFER'
  classname(size_t len)                                                   \
  ^~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:134:15: note:   conversion of argument 1 would be ill-formed:
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
            ^~~~~~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:33:5: note: in definition of macro 'DEFINE_BUFFER'
  classname(size_t len)                                                   \
  ^~~~~~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'size_t' {aka 'long unsigned int'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'size_t' {aka 'long unsigned int'} [-fpermissive]
In file included from /usr/include/wx-2.8/wx/string.h:55,
              from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/buffer.h:33:22: note:   initializing argument 1 of 'wxWCharBuffer::wxWCharBuffer(size_t)'
  classname(size_t len)                                                   \
            ~~~~~~~^~~
/usr/include/wx-2.8/wx/buffer.h:134:1: note: in expansion of macro 'DEFINE_BUFFER'
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
^~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1060:13: note: candidate: 'wxString& wxString::operator<<(int)' <near match>
wxString& operator<<(int i)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1060:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
cat << action << "|||" << msg;


/usr/include/wx-2.8/wx/string.h:1063:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1066:13: note: candidate: 'wxString& wxString::operator<<(long int)' <near match>
wxString& operator<<(long l)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1066:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1069:13: note: candidate: 'wxString& wxString::operator<<(long unsigned int)' <near match>
wxString& operator<<(unsigned long ul)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1069:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1073:13: note: candidate: 'wxString& wxString::operator<<(long long int)' <near match>
wxString& operator<<(wxLongLong_t ll)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1073:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long long int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1079:13: note: candidate: 'wxString& wxString::operator<<(long long unsigned int)' <near match>
wxString& operator<<(wxULongLong_t ull)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1079:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxColour& operator<<(wxColour&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxColour&' to an rvalue of type 'wxColour'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:30:5: note:   after user-defined conversion: 'wxColour::wxColour(const wxString&)'
  wxColour(const wxString &colourName) { Set(colourName); }                 \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:325:20: note: candidate: 'wxVariant& operator<<(wxVariant&, const wxColour&)' <near match>
expdecl wxVariant& operator << ( wxVariant &variant, const classname &object );
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:325:20: note:   conversion of argument 2 would be ill-formed:
expdecl wxVariant& operator << ( wxVariant &variant, const classname &object );
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:20: error: invalid user-defined conversion from 'const char [4]' to 'const wxColour&' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:29:5: note: candidate is: 'wxColour::wxColour(long unsigned int)' <near match>
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/colour.h:29:5: note:   conversion of argument 1 would be ill-formed:
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:29:29: note:   initializing argument 1 of 'wxColour::wxColour(long unsigned int)'
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
            ~~~~~~~~~~~~~~^~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxBitmap& operator<<(wxBitmap&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/bitmap.h:36:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/bitmap.h:36:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxBitmap&' to an rvalue of type 'wxBitmap'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/bitmap.h:213,
              from /usr/include/wx-2.8/wx/wx.h:44,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/gtk/bitmap.h:64:5: note:   after user-defined conversion: 'wxBitmap::wxBitmap(const wxString&, wxBitmapType)'
  wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_XPM );
  ^~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxImage& operator<<(wxImage&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/image.h:74:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxImage,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/image.h:74:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxImage,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxImage&' to an rvalue of type 'wxImage'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/wx.h:45,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/image.h:200:5: note:   after user-defined conversion: 'wxImage::wxImage(const wxString&, long int, int)'
  wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
  ^~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxIcon& operator<<(wxIcon&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/icon.h:48:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/icon.h:48:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/action.cpp:30:
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp: At global scope:
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp:192:49: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
         const bool ignore_externals = false) throw(ClientException);
                                              ^~~~~
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp:216:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
         StatusEntries & entries) throw(ClientException);
                                  ^~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxIcon&' to an rvalue of type 'wxIcon'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
@asicdruide
Copy link

I've the same issue building RapidSVN.

  • gcc5.5.0
  • wxWidgets 2.8.12 or 3.0.4
  • subversion 1.9.9
    Would be great when this issue could be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants