News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

The 12 January 2019 build (11552) is out.

Started by killerbot, January 12, 2019, 07:11:09 PM

Previous topic - Next topic

Miguel Gimenez

@Morten, the Linux version is not affected by the patch. If it works fine in Windows, please consider applying it to trunk.

gd_on

#46
Hi,
I tried to apply the patch found in ticket 805 (the revised version) on my svn revision (11931). But I obtain compilation errors, even on a full rebuild :

||=== Nettoyer : tinyXML dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
...
||=== Générer : Squirrel dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqapi.cpp||In function 'SQRESULT sq_setdelegate(HSQUIRRELVM, SQInteger)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqapi.cpp|784|warning: this 'if' clause does not guard... [-Wmisleading-indentation]|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqapi.cpp|784|note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'|
include\scripting\squirrel\squtils.h||In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':|
include\scripting\squirrel\sqarray.h|77|required from here|
include\scripting\squirrel\squtils.h|88|warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]|
include\scripting\squirrel\sqobject.h|130|note: 'struct SQObjectPtr' declared here|
include\scripting\squirrel\squtils.h||In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':|
include\scripting\squirrel\sqarray.h|77|required from here|
include\scripting\squirrel\squtils.h|88|warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]|
include\scripting\squirrel\sqobject.h|130|note: 'struct SQObjectPtr' declared here|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqcompiler.cpp||In member function 'void SQCompiler::ParseTableOrClass(SQInteger, SQInteger)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqcompiler.cpp|829|warning: unused variable 'attrs' [-Wunused-variable]|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqdebug.cpp||In member function 'SQString* SQVM::PrintObjVal(const SQObject&)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqdebug.cpp|79|warning: format '%d' expects argument of type 'int', but argument 3 has type 'SQInteger' {aka 'long long int'} [-Wformat=]|
include\scripting\include\squirrel.h|151|note: in definition of macro '_SC'|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqfuncstate.cpp||In function 'void DumpLiteral(SQObjectPtr&)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqfuncstate.cpp|85|warning: format '%d' expects argument of type 'int', but argument 2 has type 'SQInteger' {aka 'long long int'} [-Wformat=]|
include\scripting\include\squirrel.h|151|note: in definition of macro '_SC'|
include\scripting\squirrel\squtils.h||In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':|
include\scripting\squirrel\sqarray.h|77|required from here|
include\scripting\squirrel\squtils.h|88|warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]|
include\scripting\squirrel\sqobject.h|130|note: 'struct SQObjectPtr' declared here|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqstate.cpp||In member function 'SQInteger SQSharedState::CollectGarbage(SQVM*)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqstate.cpp|255|warning: unused variable 'x' [-Wunused-variable]|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqstate.cpp|292|warning: unused variable 'z' [-Wunused-variable]|
include\scripting\squirrel\squtils.h||In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':|
include\scripting\squirrel\sqarray.h|77|required from here|
include\scripting\squirrel\squtils.h|88|warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]|
include\scripting\squirrel\sqobject.h|130|note: 'struct SQObjectPtr' declared here|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqvm.cpp||In member function 'void SQVM::ToString(const SQObjectPtr&, SQObjectPtr&)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\scripting\squirrel\sqvm.cpp|254|warning: format '%d' expects argument of type 'int', but argument 3 has type 'SQInteger' {aka 'long long int'} [-Wformat=]|
include\scripting\include\squirrel.h|151|note: in definition of macro '_SC'|
include\scripting\squirrel\squtils.h||In instantiation of 'void sqvector<T>::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]':|
include\scripting\squirrel\sqarray.h|77|required from here|
include\scripting\squirrel\squtils.h|88|warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]|
include\scripting\squirrel\sqobject.h|130|note: 'struct SQObjectPtr' declared here|
||=== Générer : Squirrel std lib dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
||=== Générer : SqPlus dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
||=== Générer : scintilla dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
||=== Générer : sdk dans Code::Blocks wx3.1.x (64 bit) (compilateur : GNU GCC Compiler) ===|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp|1287|error: invalid use of incomplete type 'class wxProcess'|
C:\wxWidgets-3.1.3\include\wx\utils.h|51|note: forward declaration of 'class wxProcess'|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp||In member function 'long int Compiler::Execute(const wxString&, wxArrayString&)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp|1317|error: 'class ExecProcess' has no member named 'Redirect'|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp|1321|error: no matching function for call to 'wxExecute(const wxString&, <unnamed enum>, ExecProcess*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|388|note: candidate: 'long int wxExecute(const wxString&, int, wxProcess*, const wxExecuteEnv*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|388|note:   no known conversion for argument 3 from 'ExecProcess*' to 'wxProcess*'|
C:\wxWidgets-3.1.3\include\wx\utils.h|392|note: candidate: 'long int wxExecute(const char* const*, int, wxProcess*, const wxExecuteEnv*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|392|note:   no known conversion for argument 3 from 'ExecProcess*' to 'wxProcess*'|
C:\wxWidgets-3.1.3\include\wx\utils.h|397|note: candidate: 'long int wxExecute(const wchar_t* const*, int, wxProcess*, const wxExecuteEnv*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|397|note:   no known conversion for argument 3 from 'ExecProcess*' to 'wxProcess*'|
C:\wxWidgets-3.1.3\include\wx\utils.h|405|note: candidate: 'long int wxExecute(const wxString&, wxArrayString&, int, const wxExecuteEnv*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|405|note:   no known conversion for argument 2 from '<unnamed enum>' to 'wxArrayString&'|
C:\wxWidgets-3.1.3\include\wx\utils.h|411|note: candidate: 'long int wxExecute(const wxString&, wxArrayString&, wxArrayString&, int, const wxExecuteEnv*)'|
C:\wxWidgets-3.1.3\include\wx\utils.h|411|note:   no known conversion for argument 2 from '<unnamed enum>' to 'wxArrayString&'|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp|1331|error: 'class ExecProcess' has no member named 'GetInputStream'|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\sdk\compiler.cpp|1332|error: variable 'wxTextInputStream text' has initializer but incomplete type|
||=== Génération de terminé : 5 erreur(s), 22 avertissement(s) (1 minute(s), 43 seconde(s)) ===|


Did I forget something ?
Windows 11 64 bits (25H2), svn C::B (last version or almost!), wxWidgets 3.3.2, Msys2 Compilers 16.1.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).

Miguel Gimenez

I am now very far away from home, so I can't check this until next week.

I don't know why it compiled a year ago and not now, but probably adding this


#include <wx/process.h>
#include <wx/txtstrm.h>


to compiler.cpp fixes the issue.

gd_on

OK, that did the job. Thanks.
As I didn't know if it's better to put these lines inside or outside the CB_PRECOMP bloc, I have added them outside, at line 30. It's OK there apparently. And the most important, it works : no flashing icon !
Thanks again.
hace a nice trip and an Happy New Year :D

gd_on
Windows 11 64 bits (25H2), svn C::B (last version or almost!), wxWidgets 3.3.2, Msys2 Compilers 16.1.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).