Error log
g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -fno-inline -iquote.objs\include -I.objs\include -I. -IF:\MyProject\GUI\wxWidgets\WX_2_8_BRANCH\include -IF:\MyProject\GUI\wxWidgets\WX_2_8_BRANCH\contrib\include -IF:\MyProject\GUI\wxWidgets\WX_2_8_BRANCH\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Isdk\wxpropgrid\include -Iinclude\tinyxml -Iinclude\scripting\include -Iinclude\scripting\squirrel -IE:\build\cb\src\sdk\scripting\squirrel -IE:\build\cb\src -c E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp -o .objs\sdk\scripting\squirrel\sqvm.o
In file included from include\scripting\squirrel/sqobject.h:5:0,
from include\scripting\squirrel/sqpcheader.h:16,
from E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp:4:
include\scripting\squirrel/squtils.h: In instantiation of 'sqvector<T>::~sqvector() [with T = int]':
include\scripting\squirrel/sqclosure.h:83:52: required from here
include\scripting\squirrel/squtils.h:38:4: error: 'sq_vm_free' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from include\scripting\squirrel/sqpcheader.h:17:0,
from E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp:4:
include\scripting\squirrel/sqstate.h:142:6: note: 'void sq_vm_free(void*, SQUnsignedInteger)' declared here, later in the translation unit
In file included from include\scripting\squirrel/sqobject.h:5:0,
from include\scripting\squirrel/sqpcheader.h:16,
from E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp:4:
include\scripting\squirrel/squtils.h: In instantiation of 'void sqvector<T>::_realloc(SQUnsignedInteger) [with T = int; SQUnsignedInteger = unsigned int]':
include\scripting\squirrel/squtils.h:45:4: required from 'void sqvector<T>::resize(SQUnsignedInteger, const T&) [with T = int; SQUnsignedInteger = unsigned int]'
include\scripting\squirrel/squtils.h:27:3: required from 'void sqvector<T>::copy(const sqvector<T>&) [with T = int]'
include\scripting\squirrel/sqclosure.h:97:34: required from here
include\scripting\squirrel/squtils.h:97:3: error: 'sq_vm_realloc' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from include\scripting\squirrel/sqpcheader.h:17:0,
from E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp:4:
include\scripting\squirrel/sqstate.h:141:7: note: 'void* sq_vm_realloc(void*, SQUnsignedInteger, SQUnsignedInteger)' declared here, later in the translation unit
E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp: In member function 'bool SQVM::Execute(SQObjectPtr&, SQInteger, SQInteger, SQInteger, SQObjectPtr&, SQBool, SQVM::ExecutionType)':
E:\build\cb\src\sdk\scripting\squirrel\sqvm.cpp:1062:1: warning: control reaches end of non-void function [-Wreturn-type]
You can see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52446
http://gcc.gnu.org/gcc-4.7/porting_to.html
This can be temporarily worked around by using -fpermissive
Did anyone save that pastie help_plugin.patch? Pastie is dead. Their pansy host pulled the plug on them.
Index: src/plugins/contrib/help_plugin/man2html.cpp
===================================================================
--- src/plugins/contrib/help_plugin/man2html.cpp (revision 7939)
+++ src/plugins/contrib/help_plugin/man2html.cpp (working copy)
@@ -123,7 +123,7 @@
#include <ctype.h>
-//#include <unistd.h>
+#include <unistd.h>
#include <string.h>
#include <stdio.h>
Index: src/plugins/contrib/help_plugin/defs.h
===================================================================
--- src/plugins/contrib/help_plugin/defs.h (revision 7939)
+++ src/plugins/contrib/help_plugin/defs.h (working copy)
@@ -289,7 +289,7 @@
if (i.second == false && overwrite)
{
- find(k)->second = t;
+ this->find(k)->second = t;
}
return i.first;
-fpermissive can't fix all things (especially in contrib plugins), maybe you can try SharkCZ's patches.
Hope Jens will fix soon.
Long time ago:
After many fixes from killerbot to silent warnings on gcc4.7 and a pm from him, it looks like I found a solution for the "-fpermissive"-desaster:
commit e70c8a008439072718760876b048deae1ec74c27
Author: Jens Lody <jens@codeblocks.org>
Date: Mon Aug 6 23:30:49 2012 +0200
* gcc 4.7 fixes
Index: src/include/scripting/bindings/sc_base_types.h
===================================================================
--- src/include/scripting/bindings/sc_base_types.h
+++ src/include/scripting/bindings/sc_base_types.h
@@ -33,6 +33,7 @@ DECLARE_INSTANCE_TYPE(wxPoint);
DECLARE_INSTANCE_TYPE(wxSize);
DECLARE_INSTANCE_TYPE(wxString);
+using SqPlus::GetTypeName;
// C::B primitives and types
DECLARE_INSTANCE_TYPE(ConfigManager);
DECLARE_INSTANCE_TYPE(EditorManager);
@@ -59,6 +60,7 @@ namespace SqPlus \
inline T Get(TypeWrapper<T>,HSQUIRRELVM v,int idx) { SQInteger i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return (T)i; } \
}
+using SqPlus::Push;
DECLARE_ENUM_TYPE(wxPathFormat);
DECLARE_ENUM_TYPE(wxPathNormalize);
DECLARE_ENUM_TYPE(PrintColourMode);
Index: src/plugins/contrib/codesnippets/codesnippets.cpp
===================================================================
--- src/plugins/contrib/codesnippets/codesnippets.cpp
+++ src/plugins/contrib/codesnippets/codesnippets.cpp
@@ -93,7 +93,6 @@ CodeSnippets::CodeSnippets()
m_bMouseLeftKeyDown = false;
m_bMouseIsDragging = false;
m_bDragCursorOn = false;
- m_pDragCursor = false;
m_MouseDownX = m_MouseDownY = 0;
m_MouseUpX = m_MouseUpY = 0;
#if !wxCHECK_VERSION(2, 8, 12)
Index: src/plugins/contrib/help_plugin/defs.h
===================================================================
--- src/plugins/contrib/help_plugin/defs.h
+++ src/plugins/contrib/help_plugin/defs.h
@@ -297,7 +297,7 @@ class QMap : public std::map<Key, T>
int remove(const Key &k)
{
- return erase(k);
+ return this->erase(k);
}
};
Index: src/plugins/debuggergdb/gdb_driver.cpp
===================================================================
--- src/plugins/debuggergdb/gdb_driver.cpp
+++ src/plugins/debuggergdb/gdb_driver.cpp
@@ -82,6 +82,7 @@ static wxRegEx reInferiorExited2(wxT("^\\[[Ii]nferior[ \\t].+[ \\t]exited[ \\t]w
wxRE_EXTENDED);
// scripting support
+using SqPlus::Push;
DECLARE_INSTANCE_TYPE(GDB_driver);
GDB_driver::GDB_driver(DebuggerGDB* plugin)
Any feedback welcome!
you just removed : m_pDragCursor = false;
Now the member is not init-ed ==>
It was initialised at the end of the constructor anyway (that's why I just removed the wrong initialisation):
m_pDragCursor = new wxCursor(wxCURSOR_HAND);
To be sure it's 0 in case of a not working initialisation, we can preset it to 0.