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

[0.4.x] plugins: Build fails with strict-aliasing violations #358

Open
eli-schwartz opened this issue Sep 2, 2024 · 2 comments
Open

[0.4.x] plugins: Build fails with strict-aliasing violations #358

eli-schwartz opened this issue Sep 2, 2024 · 2 comments

Comments

@eli-schwartz
Copy link

I tried to build with the following *FLAGS to optimize the build: -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing

The -Werror=* flags are important to detect cases where the compiler can try to optimize based on assuming Undefined Behavior (UB) cannot happen, and miscompile code that has UB in it. strict-aliasing issues are always bad but LTO can make them even worse.

I got this error:

libtool: compile:  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools -I../../../../.. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl -I/usr/include/libvisual-0.4 -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DUNIX_X -D_REENTRANT -c /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Hashtable.cpp  -fPIC -DPIC -o .libs/Hashtable.o
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Hashtable.cpp: In member function ‘long int& Hashtable::operator[](long int)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Hashtable.cpp:259:33: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
  259 |         return (long&) entry -> mValue;
      |                        ~~~~~~~~~^~~~~~
cc1plus: some warnings being treated as errors
make[7]: *** [Makefile:525: Hashtable.lo] Error 1
make[7]: Leaving directory '/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2-abi_x86_64.amd64/plugins/actor/G-Force/Common/GeneralTools'
make[7]: Entering directory '/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2-abi_x86_64.amd64/plugins/actor/G-Force/Common/GeneralTools'
/bin/sh ../../../../../libtool  --tag=CXX   --mode=compile x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools -I../../../../..  -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl  -I/usr/include/libvisual-0.4 -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing  -Wformat -Werror=format-security   -DUNIX_X -D_REENTRANT -c -o XFloatList.lo /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp
libtool: compile:  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools -I../../../../.. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl -I/usr/include/libvisual-0.4 -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DUNIX_X -D_REENTRANT -c /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp  -fPIC -DPIC -o .libs/XFloatList.o
In file included from /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp:1:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘virtual long int XFloatList::Add(float)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:17:151: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   17 |                 virtual long                    Add( float inNum )                                                              { return mList.Add( *((void**) &inNum) );                       }
      |                                                                                                                                                      ~^~~~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘virtual float XFloatList::Fetch(long int)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:21:172: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   21 |                 virtual float                   Fetch( long inIndex )                                                   { long t = (long) mList.Fetch( inIndex ); return *((float*) &t);}
      |                                                                                                                                                                           ~^~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘float XFloatList::operator[](long int)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:39:172: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   39 |                 float                                   operator[] ( const long inIndex )                               { long t = (long) mList.Fetch( inIndex ); return *((float*) &t); }
      |                                                                                                                                                                           ~^~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp: In member function ‘void XFloatList::FindMeans(long int, float*, float) const’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp:67:49: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   67 |                         sepCandidates.Put( i, *((void**) &cen) );
      |                                                ~^~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp: In static member function ‘static int XFloatList::sFloatComparitor(const void*, const void*)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp:299:25: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
  299 |         float diff =  *((float*) &inB) - *((float*) &inA);
      |                        ~^~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/XFloatList.cpp:299:44: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
  299 |         float diff =  *((float*) &inB) - *((float*) &inA);
      |                                           ~^~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
make[7]: *** [Makefile:525: XFloatList.lo] Error 1
libtool: compile:  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io -I../../../../.. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/UI/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DUNIX_X -D_REENTRANT -c /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/CEgIStream.cpp  -fPIC -DPIC -o .libs/CEgIStream.o
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/CEgIStream.cpp: In member function ‘float CEgIStream::GetFloat()’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/CEgIStream.cpp:45:19: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   45 |         return *( (float*) &v );
      |                 ~~^~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
make[7]: *** [Makefile:514: CEgIStream.lo] Error 1
libtool: compile:  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math -I../../../../.. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/UI/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2 -I/usr/include/libvisual-0.4 -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DUNIX_X -D_REENTRANT -c /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/ExprVirtualMachine.cpp  -fPIC -DPIC -o .libs/ExprVirtualMachine.o
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/ExprVirtualMachine.cpp: In member function ‘float ExprVirtualMachine::Execute()’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/ExprVirtualMachine.cpp:85:75: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   85 |                                                         case cSEED: i = *((long*) &r);                                          \
      |                                                                          ~^~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/ExprVirtualMachine.cpp:275:41: note: in expansion of macro ‘_exeFn’
  275 |                                         _exeFn( v1 )
      |                                         ^~~~~~
cc1plus: some warnings being treated as errors
make[7]: *** [Makefile:517: ExprVirtualMachine.lo] Error 1
libtool: compile:  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon -I../../../.. -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/math/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/UI/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/io/Headers -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libmfl -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/unix/libxpce -I/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2 -DDATADIR=\"/usr/share/libvisual-plugins-0.4/actor/actor_gforce\" -I/usr/include/libvisual-0.4 -pipe -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DUNIX_X -D_REENTRANT -c /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp  -fPIC -DPIC -o .libs/G-Force.o
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:79:30: warning: multi-character character constant [-Wmultichar]
   79 |         if ( mPrefs.GetPref( 'Vers' ) != GFORCE_COMPAT_VERSION ) {
      |                              ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:86:33: warning: multi-character character constant [-Wmultichar]
   86 |                 mPrefs.SetPref( 'Vers', GFORCE_COMPAT_VERSION );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:118:59: warning: multi-character character constant [-Wmultichar]
  118 |                 mConsoleDelay           = mPrefs.GetPref( 'CDur' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:119:59: warning: multi-character character constant [-Wmultichar]
  119 |                 mConsoleLineDur         = mPrefs.GetPref( 'CLin' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:120:67: warning: multi-character character constant [-Wmultichar]
  120 |                 mMagScale                       = mPrefs.GetPref( 'MScl' ) / 1000.0;
      |                                                                   ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:121:59: warning: multi-character character constant [-Wmultichar]
  121 |                 mTransitionLo           = mPrefs.GetPref( 'TrLo' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:122:59: warning: multi-character character constant [-Wmultichar]
  122 |                 mTransitionHi           = mPrefs.GetPref( 'TrHi' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:123:59: warning: multi-character character constant [-Wmultichar]
  123 |                 mScrnSaverDelay         = mPrefs.GetPref( 'SSvr' ) * 60.0;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:124:59: warning: multi-character character constant [-Wmultichar]
  124 |                 mBorderlessWind         = mPrefs.GetPref( 'NoBo' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:125:67: warning: multi-character character constant [-Wmultichar]
  125 |                 mHandleKeys                     = mPrefs.GetPref( 'Kybd' );
      |                                                                   ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:126:59: warning: multi-character character constant [-Wmultichar]
  126 |                 mNum_S_Steps            = mPrefs.GetPref( 'Stps' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:127:59: warning: multi-character character constant [-Wmultichar]
  127 |                 mFullscreenSize.h       = mPrefs.GetPref( 'FS_X' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:128:59: warning: multi-character character constant [-Wmultichar]
  128 |                 mFullscreenSize.v       = mPrefs.GetPref( 'FS_Y' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:129:59: warning: multi-character character constant [-Wmultichar]
  129 |                 mFullscreenDepth        = mPrefs.GetPref( 'FS_D' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:130:59: warning: multi-character character constant [-Wmultichar]
  130 |                 mFullscreenDevice       = mPrefs.GetPref( 'FS_#' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:131:59: warning: multi-character character constant [-Wmultichar]
  131 |                 mParticlesOn            = mPrefs.GetPref( 'P_On' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:132:59: warning: multi-character character constant [-Wmultichar]
  132 |                 mNormalizeInput         = mPrefs.GetPref( 'Norm' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:133:67: warning: multi-character character constant [-Wmultichar]
  133 |                 mMaxSize.v                      = mPrefs.GetPref( 'MaxY' );
      |                                                                   ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:134:67: warning: multi-character character constant [-Wmultichar]
  134 |                 mMaxSize.h                      = mPrefs.GetPref( 'MaxX' );
      |                                                                   ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:135:59: warning: multi-character character constant [-Wmultichar]
  135 |                 mNewConfigNotify        = mPrefs.GetPref( 'ShwT' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:136:59: warning: multi-character character constant [-Wmultichar]
  136 |                 mTrackTextPosMode       = mPrefs.GetPref( 'TPos' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:137:59: warning: multi-character character constant [-Wmultichar]
  137 |                 mTrackTextSize          = mPrefs.GetPref( 'TSze' );
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:138:33: warning: multi-character character constant [-Wmultichar]
  138 |                 mPrefs.GetPref( 'WInt', mShapeIntervalStr );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:139:33: warning: multi-character character constant [-Wmultichar]
  139 |                 mPrefs.GetPref( 'DInt', mFieldIntervalStr );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:140:33: warning: multi-character character constant [-Wmultichar]
  140 |                 mPrefs.GetPref( 'CInt', mColorIntervalStr );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:141:33: warning: multi-character character constant [-Wmultichar]
  141 |                 mPrefs.GetPref( 'T?', mTrackTextStartStr );
      |                                 ^~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:142:33: warning: multi-character character constant [-Wmultichar]
  142 |                 mPrefs.GetPref( 'TDur', mTrackTextDurationStr );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:143:33: warning: multi-character character constant [-Wmultichar]
  143 |                 mPrefs.GetPref( 'TFnt', mTrackFont );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:144:33: warning: multi-character character constant [-Wmultichar]
  144 |                 mPrefs.GetPref( 'TStr', mTrackMetaText );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:145:33: warning: multi-character character constant [-Wmultichar]
  145 |                 mPrefs.GetPref( 'PDur', mParticleDuration );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:146:33: warning: multi-character character constant [-Wmultichar]
  146 |                 mPrefs.GetPref( 'PPrb', mParticleProbability );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:147:33: warning: multi-character character constant [-Wmultichar]
  147 |                 mPrefs.GetPref( 'KMap', mKeyMap );
      |                                 ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:213:25: warning: multi-character character constant [-Wmultichar]
  213 |         mPrefs.SetPref( 'SSvr', mScrnSaverDelay / 60.0 );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:214:25: warning: multi-character character constant [-Wmultichar]
  214 |         mPrefs.SetPref( 'TrHi', mTransitionHi );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:215:25: warning: multi-character character constant [-Wmultichar]
  215 |         mPrefs.SetPref( 'TrLo', mTransitionLo );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:216:25: warning: multi-character character constant [-Wmultichar]
  216 |         mPrefs.SetPref( 'MScl', mMagScale * 1000 );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:217:25: warning: multi-character character constant [-Wmultichar]
  217 |         mPrefs.SetPref( 'CInt', mColorIntervalStr );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:218:25: warning: multi-character character constant [-Wmultichar]
  218 |         mPrefs.SetPref( 'WInt', mShapeIntervalStr );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:219:25: warning: multi-character character constant [-Wmultichar]
  219 |         mPrefs.SetPref( 'DInt', mFieldIntervalStr );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:220:25: warning: multi-character character constant [-Wmultichar]
  220 |         mPrefs.SetPref( 'Stps', mNum_S_Steps );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:221:25: warning: multi-character character constant [-Wmultichar]
  221 |         mPrefs.SetPref( 'PDur', mParticleDuration );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:222:25: warning: multi-character character constant [-Wmultichar]
  222 |         mPrefs.SetPref( 'PPrb', mParticleProbability );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:223:25: warning: multi-character character constant [-Wmultichar]
  223 |         mPrefs.SetPref( 'NoBo', mBorderlessWind );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:224:25: warning: multi-character character constant [-Wmultichar]
  224 |         mPrefs.SetPref( 'Kybd', mHandleKeys     );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:225:25: warning: multi-character character constant [-Wmultichar]
  225 |         mPrefs.SetPref( 'FS_X', mFullscreenSize.h );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:226:25: warning: multi-character character constant [-Wmultichar]
  226 |         mPrefs.SetPref( 'FS_Y', mFullscreenSize.v );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:227:25: warning: multi-character character constant [-Wmultichar]
  227 |         mPrefs.SetPref( 'FS_D', mFullscreenDepth );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:228:25: warning: multi-character character constant [-Wmultichar]
  228 |         mPrefs.SetPref( 'FS_#', mFullscreenDevice );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:229:25: warning: multi-character character constant [-Wmultichar]
  229 |         mPrefs.SetPref( 'Norm', mNormalizeInput );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:230:25: warning: multi-character character constant [-Wmultichar]
  230 |         mPrefs.SetPref( 'MaxY', mMaxSize.v );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:231:25: warning: multi-character character constant [-Wmultichar]
  231 |         mPrefs.SetPref( 'MaxX', mMaxSize.h );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:232:25: warning: multi-character character constant [-Wmultichar]
  232 |         mPrefs.SetPref( 'TPos', mTrackTextPosMode );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:233:25: warning: multi-character character constant [-Wmultichar]
  233 |         mPrefs.SetPref( 'TSze', mTrackTextSize );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:234:25: warning: multi-character character constant [-Wmultichar]
  234 |         mPrefs.SetPref( 'TFnt', mTrackFont );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:235:25: warning: multi-character character constant [-Wmultichar]
  235 |         mPrefs.SetPref( 'TStr', mTrackMetaText );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:236:25: warning: multi-character character constant [-Wmultichar]
  236 |         mPrefs.SetPref( 'T?',   mTrackTextStartStr );
      |                         ^~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:237:25: warning: multi-character character constant [-Wmultichar]
  237 |         mPrefs.SetPref( 'TDur', mTrackTextDurationStr );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:238:25: warning: multi-character character constant [-Wmultichar]
  238 |         mPrefs.SetPref( 'KMap', mKeyMap );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:239:25: warning: multi-character character constant [-Wmultichar]
  239 |         mPrefs.SetPref( 'P_On', mParticlesOn ? 1 : 0 );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:240:25: warning: multi-character character constant [-Wmultichar]
  240 |         mPrefs.SetPref( 'ShwT', mNewConfigNotify ? 1 : 0 );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:241:25: warning: multi-character character constant [-Wmultichar]
  241 |         mPrefs.SetPref( 'CDur', mConsoleDelay );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:242:25: warning: multi-character character constant [-Wmultichar]
  242 |         mPrefs.SetPref( 'CLin', mConsoleLineDur );
      |                         ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:510:59: warning: multi-character character constant [-Wmultichar]
  510 |                 case cSetPreset0:       StoreConfigState( 'SET0' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:511:59: warning: multi-character character constant [-Wmultichar]
  511 |                 case cSetPreset1:       StoreConfigState( 'SET1' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:512:59: warning: multi-character character constant [-Wmultichar]
  512 |                 case cSetPreset2:       StoreConfigState( 'SET2' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:513:59: warning: multi-character character constant [-Wmultichar]
  513 |                 case cSetPreset3:       StoreConfigState( 'SET3' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:514:59: warning: multi-character character constant [-Wmultichar]
  514 |                 case cSetPreset4:       StoreConfigState( 'SET4' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:515:59: warning: multi-character character constant [-Wmultichar]
  515 |                 case cSetPreset5:       StoreConfigState( 'SET5' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:516:59: warning: multi-character character constant [-Wmultichar]
  516 |                 case cSetPreset6:       StoreConfigState( 'SET6' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:517:59: warning: multi-character character constant [-Wmultichar]
  517 |                 case cSetPreset7:       StoreConfigState( 'SET7' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:518:59: warning: multi-character character constant [-Wmultichar]
  518 |                 case cSetPreset8:       StoreConfigState( 'SET8' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:519:59: warning: multi-character character constant [-Wmultichar]
  519 |                 case cSetPreset9:       StoreConfigState( 'SET9' );     break;
      |                                                           ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:522:63: warning: multi-character character constant [-Wmultichar]
  522 |                 case cPreset0:  handled = RestoreConfigState( 'SET0' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:523:63: warning: multi-character character constant [-Wmultichar]
  523 |                 case cPreset1:  handled = RestoreConfigState( 'SET1' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:524:63: warning: multi-character character constant [-Wmultichar]
  524 |                 case cPreset2:  handled = RestoreConfigState( 'SET2' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:525:63: warning: multi-character character constant [-Wmultichar]
  525 |                 case cPreset3:  handled = RestoreConfigState( 'SET3' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:526:63: warning: multi-character character constant [-Wmultichar]
  526 |                 case cPreset4:  handled = RestoreConfigState( 'SET4' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:527:63: warning: multi-character character constant [-Wmultichar]
  527 |                 case cPreset5:  handled = RestoreConfigState( 'SET5' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:528:63: warning: multi-character character constant [-Wmultichar]
  528 |                 case cPreset6:  handled = RestoreConfigState( 'SET6' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:529:63: warning: multi-character character constant [-Wmultichar]
  529 |                 case cPreset7:  handled = RestoreConfigState( 'SET7' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:530:63: warning: multi-character character constant [-Wmultichar]
  530 |                 case cPreset8:  handled = RestoreConfigState( 'SET8' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:531:63: warning: multi-character character constant [-Wmultichar]
  531 |                 case cPreset9:  handled = RestoreConfigState( 'SET9' ); break;
      |                                                               ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1131:45: warning: multi-character character constant [-Wmultichar]
 1131 |                         vers = args.GetArg( 'Vers' );
      |                                             ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1189:45: warning: multi-character character constant [-Wmultichar]
 1189 |                         vers = args.GetArg( 'Vers' );
      |                                             ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1224:45: warning: multi-character character constant [-Wmultichar]
 1224 |                         vers = args.GetArg( 'Vers' );
      |                                             ^~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1281:45: warning: multi-character character constant [-Wmultichar]
 1281 |                         vers = args.GetArg( 'Vers' );
      |                                             ^~~~~~
In file included from /var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:8:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘virtual long int XFloatList::Add(float)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:17:151: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   17 |                 virtual long                    Add( float inNum )                                                              { return mList.Add( *((void**) &inNum) );                       }
      |                                                                                                                                                      ~^~~~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘virtual float XFloatList::Fetch(long int)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:21:172: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   21 |                 virtual float                   Fetch( long inIndex )                                                   { long t = (long) mList.Fetch( inIndex ); return *((float*) &t);}
      |                                                                                                                                                                           ~^~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h: In member function ‘float XFloatList::operator[](long int)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/Common/GeneralTools/Headers/XFloatList.h:39:172: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
   39 |                 float                                   operator[] ( const long inIndex )                               { long t = (long) mList.Fetch( inIndex ); return *((float*) &t); }
      |                                                                                                                                                                           ~^~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp: In constructor ‘GForce::GForce(void*)’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:173:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  173 |         mDict.AddVar( "T", &mT );
      |                       ^~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:174:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  174 |         mDict.AddVar( "LAST_PARTICLE_START", &mLastParticleStart );
      |                       ^~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:175:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  175 |         mDict.AddVar( "NUM_PARTICLES", &mNumRunningParticles );
      |                       ^~~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:185:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  185 |         mDict.AddVar( "LAST_SONG_START", &mLastSongStart );
      |                       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp: In member function ‘void GForce::NewSong()’:
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1324:29: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1324 |         mTrackText.Replace( "\\r", "\r" );
      |                             ^~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1324:36: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1324 |         mTrackText.Replace( "\\r", "\r" );
      |                                    ^~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1325:29: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1325 |         mTrackText.Replace( "#ARTIST#", mArtist.getCStr(), false );
      |                             ^~~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1326:29: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1326 |         mTrackText.Replace( "#ALBUM#", mAlbum.getCStr(), false );
      |                             ^~~~~~~~~
/var/tmp/portage/media-plugins/libvisual-plugins-0.4.2-r1/work/libvisual-plugins-0.4.2/plugins/actor/G-Force/GForceCommon/G-Force.cpp:1327:29: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 1327 |         mTrackText.Replace( "#TITLE#", mSongTitle.getCStr(), false );
      |                             ^~~~~~~~~
cc1plus: some warnings being treated as errors
make[6]: *** [Makefile:519: G-Force.lo] Error 1

Originally reported downstream (hi @hartwork): https://bugs.gentoo.org/927006
Full build log: build.log

@hartwork hartwork changed the title Build fails with strict-aliasing violations [0.4.x] Build fails with strict-aliasing violations Sep 2, 2024
@hartwork hartwork changed the title [0.4.x] Build fails with strict-aliasing violations [0.4.x] plugins: Build fails with strict-aliasing violations Sep 2, 2024
@kaixiong
Copy link
Member

Most of the errors are fixed in master. The remaining ones are being addressed in #291. They should work in C++11 and can be backported to 0.4.x.

@hartwork
Copy link
Member

and can be backported to 0.4.x.

…which we should do upstream (rather than only downstream in Gentoo), to be explicit about that.

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

3 participants