http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52446

             Bug #: 52446
           Summary: GCC 4.7.0 can't build some templates, but gcc4.6
                    branch svn can
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: xunxun1...@gmail.com
              Host: i686-w64-mingw32
            Target: i686-w64-mingw32
             Build: i686-w64-mingw32


Created attachment 26798
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26798
-E output

I found gcc4.7 latest svn can't build codeblocks svn, but gcc4.6 branch svn
can.

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]
------------------------------------------------------------------------------------

And -E output is in the attachment

Because I am not familiar with C++, I can't find a little testcase.

Reply via email to