MantisBT - Open CASCADE
View Issue Details
0030609Open CASCADE[OCCT] OCCT:Codingpublic2019-03-27 10:222019-11-10 11:42
tizmaylo 
apn 
normalminor 
verifiedfixed 
[OCCT] 7.4.0 
[OCCT] 7.5.0* 
Not needed
0030609: Coding - eliminate warnings issued by gcc 8.1.0
A bunch of warnings are issued by the latest g++ version 8.1.0. The warning log is attached (named "mingw_build.warnings").

\occt_mingw64\src\OSD\OSD_Parallel.cxx: In function 'bool {anonymous}::isWow64()':
\occt_mingw64\src\OSD\OSD_Parallel.cxx:45:76: warning: cast between incompatible function types from 
'FARPROC' {aka 'long long int (*)()'} to 'LPFN_ISWOW64PROCESS' {aka 'int (*)(void*, int*)'} [-Wcast-function-type]
       
: (LPFN_ISWOW64PROCESS)GetProcAddress(aKern32Module, "IsWow64Process");
                                                                            ^
\occt_mingw64\src\OSD\OSD_Parallel.cxx: In static member function 'static Standard_Integer OSD_Parallel::NbLogicalProcessors()':

\occt_mingw64\src\OSD\OSD_Parallel.cxx:224:85: warning: cast between incompatible function types from 
'FARPROC' {aka 'long long int (*)()'} to 'LPFN_GSI' {aka 'int (*)(_SYSTEM_INFO*)'} [-Wcast-function-type]
     
LPFN_GSI aFuncSysInfo = (LPFN_GSI )GetProcAddress(aKern32, "GetNativeSystemInfo");
                                                                                     ^
\occt_mingw64\src\OSD\OSD_signal.cxx: In function 'void SIGWntHandler(int, int)':
\occt_mingw64\src\OSD\OSD_signal.cxx:284:43: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
       if ( signal( signum , (void(*)(int))SIGWntHandler ) == SIG_ERR )
                                           ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_signal.cxx:312:42: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
       if ( signal( signum, (void(*)(int))SIGWntHandler ) == SIG_ERR )
                                          ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_signal.cxx:317:42: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
       if ( signal( signum, (void(*)(int))SIGWntHandler ) == SIG_ERR )
                                          ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_signal.cxx: In static member function 'static void OSD::SetSignal(Standard_Boolean)':

\occt_mingw64\src\OSD\OSD_signal.cxx:399:38: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
   if (signal (SIGSEGV, (void(*)(int))SIGWntHandler) == SIG_ERR)
                                      ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_signal.cxx:401:38: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
   if (signal (SIGFPE,  (void(*)(int))SIGWntHandler) == SIG_ERR)
                                      ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_signal.cxx:403:38: warning: cast between incompatible function types from 'void 
(*)(int, int)' to 'void (*)(int)' [-Wcast-function-type]
   if (signal (SIGILL,  (void(*)(int))SIGWntHandler) == SIG_ERR)
                                      ^~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_SharedLibrary.cxx: In member function 'int (* OSD_SharedLibrary::DlSymb(Standard_CString) 
const)(...)':
\occt_mingw64\src\OSD\OSD_SharedLibrary.cxx:269:83: warning: cast between incompatible function types 
from 'FARPROC' {aka 'long long int (*)()'} to 'OSD_Function' {aka 'int (*)(...)'} [-Wcast-function-type]
  
OSD_Function func = ( OSD_Function )GetProcAddress (  ( HMODULE )myHandle, Name  );
                                                                                   ^
\occt_mingw64\src\OSD\OSD_WNT.cxx: In function 'BOOL MoveDirectory(const wchar_t*, const wchar_t*, DWORD&)':

\occt_mingw64\src\OSD\OSD_WNT.cxx:702:46: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
     StringCchLengthW (oldDir, sizeof(oldDir) / sizeof(oldDir[0]), &anOldDirLength);
                               ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:619:43: note: first 'sizeof' operand was declared here
 static BOOL MoveDirectory (const wchar_t* oldDir, const wchar_t* newDir, DWORD& theRecurseLevel)
                            
~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:706:44: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
       StringCchCopyW (pName, sizeof(pName) / sizeof(pName[0]), oldDir);
                              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:694:12: note: first 'sizeof' operand was declared here
   wchar_t* pName = NULL;
            ^~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:719:50: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchLengthW (oldDir, sizeof(oldDir) / sizeof(oldDir[0]), &anOldDirLength2);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:619:43: note: first 'sizeof' operand was declared here
 static BOOL MoveDirectory (const wchar_t* oldDir, const wchar_t* newDir, DWORD& theRecurseLevel)
                            
~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:720:50: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchLengthW (newDir, sizeof(newDir) / sizeof(newDir[0]), &aNewDirLength);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:619:66: note: first 'sizeof' operand was declared here
 static BOOL MoveDirectory (const wchar_t* oldDir, const wchar_t* newDir, DWORD& theRecurseLevel)
                                                   
~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:728:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCopyW (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), oldDir);
                                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:695:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:729:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), L"/");
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:695:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:730:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), pFD->cFileName);
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:695:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:732:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCopyW (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), newDir);
                                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:696:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:733:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), L"/");
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:696:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:734:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), pFD->cFileName);
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:696:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx: In function 'BOOL CopyDirectory(const wchar_t*, const wchar_t*)':

\occt_mingw64\src\OSD\OSD_WNT.cxx:856:46: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
     StringCchLengthW (dirSrc, sizeof(dirSrc) / sizeof(dirSrc[0]), &aDirSrcLength);
                               ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:844:36: note: first 'sizeof' operand was declared here
 BOOL CopyDirectory (const wchar_t* dirSrc, const wchar_t* dirDst)
                     ~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:860:43: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
       StringCchCopyW(pName, sizeof(pName) / sizeof(pName[0]), dirSrc);
                             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:847:12: note: first 'sizeof' operand was declared here
   wchar_t* pName = NULL;
            ^~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:861:43: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
       StringCchCatW (pName, sizeof(pName) / sizeof(pName[0]), WILD_CARD);
                             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:847:12: note: first 'sizeof' operand was declared here
   wchar_t* pName = NULL;
            ^~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:874:50: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchLengthW (dirSrc, sizeof(dirSrc) / sizeof(dirSrc[0]), &aDirSrcLength2);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:844:36: note: first 'sizeof' operand was declared here
 BOOL CopyDirectory (const wchar_t* dirSrc, const wchar_t* dirDst)
                     ~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:875:50: warning: division 'sizeof (const wchar_t*) / sizeof (const 
wchar_t)' does not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchLengthW (dirDst, sizeof(dirDst) / sizeof(dirDst[0]), &aDirDstLength);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:844:59: note: first 'sizeof' operand was declared here
 BOOL CopyDirectory (const wchar_t* dirSrc, const wchar_t* dirDst)
                                            ~~~~~~~~~~~~~~~^~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:883:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCopyW (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), dirSrc);
                                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:848:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:884:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), L"/");
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:848:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:885:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameSrc, sizeof(pFullNameSrc) / sizeof(pFullNameSrc[0]), pFD->cFileName);
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:848:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameSrc = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:887:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCopyW (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), dirDst);
                                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:849:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:888:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), L"/");
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:849:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:889:60: warning: division 'sizeof (wchar_t*) / sizeof (wchar_t)' does 
not compute the number of array elements [-Wsizeof-pointer-div]
         StringCchCatW  (pFullNameDst, sizeof(pFullNameDst) / sizeof(pFullNameDst[0]), pFD->cFileName);
                                       
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OSD\OSD_WNT.cxx:849:12: note: first 'sizeof' operand was declared here
   wchar_t* pFullNameDst = NULL;
            ^~~~~~~~~~~~
\occt_mingw64\src\Plugin\Plugin.cxx: In static member function 'static opencascade::handle<Standard_Transient> 
Plugin::Load(const Standard_GUID&, Standard_Boolean)':
\occt_mingw64\src\Plugin\Plugin.cxx:97:56: warning: cast between incompatible function types from 'OSD_Function' 
{aka 'int (*)(...)'} to 'Standard_Transient* (*)(const Standard_GUID&)' [-Wcast-function-type]
   fp = (Standard_Transient* (*)(const Standard_GUID&)) f;
                                                        ^
\occt_mingw64\src\Message\Message_MsgFile.cxx: In static member function 'static Standard_Boolean Message_MsgFile::LoadFile(Standard_CString)':

\occt_mingw64\src\Message\Message_MsgFile.cxx:260:85: warning: type qualifiers ignored on cast result 
type [-Wignored-qualifiers]
         reinterpret_cast<const Standard_ExtCharacter* const>(&anMsgBuffer[aFileSize]);
                                                                                     ^
\occt_mingw64\src\Draw\Draw.cxx: In function 'void Draw_Appli(HINSTANCE, HINSTANCE, int, int, wchar_t**, 
FDraw_InitAppli)':
\occt_mingw64\src\Draw\Draw.cxx:281:102: warning: cast between incompatible function types from 'FARPROC' 
{aka 'long long int (*)()'} to 'SetDllDirectoryW_t' {aka 'int (*)(const wchar_t*)'} [-Wcast-function-type]
                              
? (SetDllDirectoryW_t )GetProcAddress (aKern32Module, "SetDllDirectoryW") : NULL;
                                                                                                      
^
\occt_mingw64\src\Draw\Draw.cxx: In static member function 'static void Draw::Load(Draw_Interpretor&, 
const TCollection_AsciiString&, const TCollection_AsciiString&, TCollection_AsciiString&, 
TCollection_AsciiString&, Standard_Boolean)':
\occt_mingw64\src\Draw\Draw.cxx:728:38: warning: cast between incompatible function types from 'OSD_Function' 
{aka 'int (*)(...)'} to 'void (*)(Draw_Interpretor&)' [-Wcast-function-type]
   fp = (void (*)(Draw_Interpretor&)) f;
                                      ^
\occt_mingw64\src\Draw\Draw_Window.cxx: In function 'Standard_Boolean Init_Appli(HINSTANCE, HINSTANCE, 
int, HWND__*&)':
\occt_mingw64\src\Draw\Draw_Window.cxx:2032:53: warning: cast between incompatible function types from 
'DWORD (*)()' {aka 'long unsigned int (*)()'} to 'LPTHREAD_START_ROUTINE' {aka 'long unsigned int (*)(void*)'} 
[-Wcast-function-type]
                            (LPTHREAD_START_ROUTINE) tkLoop, // thread function
                                                     ^~~~~~
\occt_mingw64\src\Draw\Draw_Window.cxx: In function 'DWORD tkLoop()':
\occt_mingw64\src\Draw\Draw_Window.cxx:2312:12: warning: catching polymorphic type 'class Standard_Failure' 
by value [-Wcatch-value=]
     catch (Standard_Failure)
            ^~~~~~~~~~~~~~~~
\occt_mingw64\src\Draw\Draw_Window.cxx: In function 'void Run_Appli(HWND)':
\occt_mingw64\src\Draw\Draw_Window.cxx:2394:53: warning: cast between incompatible function types from 
'DWORD (*)()' {aka 'long unsigned int (*)()'} to 'LPTHREAD_START_ROUTINE' {aka 'long unsigned int (*)(void*)'} 
[-Wcast-function-type]
                            (LPTHREAD_START_ROUTINE) readStdinThreadFunc, // thread function
                                                     ^~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\OpenGl\OpenGl_Window.cxx: In constructor 'OpenGl_Window::OpenGl_Window(const opencascade::handle<OpenGl_GraphicDriver>&, 
const opencascade::handle<Aspect_Window>&, Aspect_RenderingContext, const opencascade::handle<OpenGl_Caps>&, 
const opencascade::handle<OpenGl_Context>&)':
\occt_mingw64\src\OpenGl\OpenGl_Window.cxx:341:129: warning: cast between incompatible function types 
from 'PROC' {aka 'long long int (*)()'} to 'wglGetExtensionsStringARB_t' {aka 'const char* (*)(HDC__*)'} 
[-Wcast-function-type]
       wglGetExtensionsStringARB_t aGetExtensions = (wglGetExtensionsStringARB_t  )wglGetProcAddress 
("wglGetExtensionsStringARB");
                                                                                                                                 
^
\occt_mingw64\src\OpenGl\OpenGl_Window.cxx:345:101: warning: cast between incompatible function types 
from 'PROC' {aka 'long long int (*)()'} to 'wglChoosePixelFormatARB_t' {aka 'int (*)(HDC__*, const int*, 
const float*, unsigned int, int*, unsigned int*)'} [-Wcast-function-type]
         aChoosePixProc = (wglChoosePixelFormatARB_t    )wglGetProcAddress ("wglChoosePixelFormatARB");
                                                                                                     
^
\occt_mingw64\src\OpenGl\OpenGl_Window.cxx:349:104: warning: cast between incompatible function types 
from 'PROC' {aka 'long long int (*)()'} to 'wglCreateContextAttribsARB_t' {aka 'HGLRC__* (*)(HDC__*, 
HGLRC__*, const int*)'} [-Wcast-function-type]
         aCreateCtxProc = (wglCreateContextAttribsARB_t )wglGetProcAddress ("wglCreateContextAttribsARB");
                                                                                                        
^
\occt_mingw64\src\D3DHost\D3DHost_View.cxx: In member function 'bool D3DHost_View::d3dInitLib()':
\occt_mingw64\src\D3DHost\D3DHost_View.cxx:146:114: warning: cast between incompatible function types 
from 'FARPROC' {aka 'long long int (*)()'} to 'Direct3DCreate9Ex_t' {aka 'long int (*)(unsigned int, 
IDirect3D9Ex**)'} [-Wcast-function-type]
       Direct3DCreate9Ex_t Direct3DCreate9ExProc = (Direct3DCreate9Ex_t )GetProcAddress (aLib, "Direct3DCreate9Ex");
                                                                                                                  
^
\occt_mingw64\src\BiTgte\BiTgte_Blend.cxx: In member function 'BiTgte_ContactType BiTgte_Blend::ContactType(Standard_Integer) 
const':
\occt_mingw64\src\BiTgte\BiTgte_Blend.cxx:1198:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
     
switch (Type2) {
     ^~~~~~
\occt_mingw64\src\BiTgte\BiTgte_Blend.cxx:1206:3: note: here
   case TopAbs_EDGE:
   ^~~~
\occt_mingw64\src\BiTgte\BiTgte_Blend.cxx:1207:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
     
switch (Type2) {
     ^~~~~~
\occt_mingw64\src\BiTgte\BiTgte_Blend.cxx:1214:3: note: here
   case TopAbs_FACE:
   ^~~~
\occt_mingw64\src\SWDRAW\SWDRAW_ShapeAnalysis.cxx: In function 'Standard_Integer MyVISEDG(Draw_Interpretor&, 
Standard_Integer, const char**)':
\occt_mingw64\src\SWDRAW\SWDRAW_ShapeAnalysis.cxx:865:11: warning: 'char* strncat(char*, const char*, 
size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
    
strncat(name,num,strlen(num));
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
\occt_mingw64\src\SWDRAW\SWDRAW_ShapeAnalysis.cxx:880:11: warning: 'char* strncat(char*, const char*, 
size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
    
strncat(name,num,strlen(num));
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Building time: 00:21:24 
Compile OCCT with the g++ version 8.1.0 and redirect standard error to some file.
No tags attached.
parent of 0030611closed kgv Coding Rules - eliminate GCC compiler warnings -Wcatch-value 
parent of 0030684closed bugmaster Coding Rules - eliminate GCC compiler warnings -Wformat-overflow and -Wcatch-value 
related to 0031004new kgv Coding - eliminate warnings issued by gcc 9.1.0 
related to 0031060verified abv Configuration - Support building with CLang compiler under VS 2019 
child of 0027197closed abv Configuration - fix compilation issues when using mingw 
? mingw_build.warnings (130,422) 2019-03-27 10:22
https://tracker.dev.opencascade.org/
log build-mingw64-8.3.0.log (21,184) 2019-05-06 12:44
https://tracker.dev.opencascade.org/
Issue History
2019-03-27 10:22tizmayloNew Issue
2019-03-27 10:22tizmayloAssigned To => kgv
2019-03-27 10:22tizmayloFile Added: mingw_build.warnings
2019-03-27 14:14kgvRelationship addedchild of 0027197
2019-03-27 14:14kgvSummaryEliminate warnings issued by the latest g++ version 8.1.0 => Coding - eliminate warnings issued by gcc 8.1.0
2019-03-27 17:52kgvRelationship addedparent of 0030611
2019-05-01 22:41kgvRelationship addedparent of 0030684
2019-05-06 12:44kgvFile Added: build-mingw64-8.3.0.log
2019-05-06 12:47kgvDescription Updatedbug_revision_view_page.php?rev_id=21145#r21145
2019-09-04 17:35kgvAssigned Tokgv => tizmaylo
2019-09-04 17:35kgvStatusnew => assigned
2019-09-04 17:35kgvProduct Version => 7.4.0
2019-09-25 16:33gitNote Added: 0087512
2019-09-25 18:29kgvTarget Version7.4.0 => 7.5.0*
2019-09-26 11:47tizmayloRelationship addedrelated to 0031004
2019-09-26 17:45gitNote Added: 0087552
2019-09-26 17:45gitNote Added: 0087553
2019-09-27 12:08tizmayloNote Added: 0087567
2019-09-27 12:09tizmayloAssigned Totizmaylo => kgv
2019-09-27 12:09tizmayloStatusassigned => resolved
2019-09-27 12:09tizmayloSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21904#r21904
2019-10-14 09:21abvNote Added: 0088079
2019-10-15 20:17kgvNote Added: 0088141
2019-10-15 20:17kgvAssigned Tokgv => tizmaylo
2019-10-15 20:17kgvStatusresolved => assigned
2019-10-16 12:03gitNote Added: 0088164
2019-10-16 12:03gitNote Added: 0088165
2019-10-16 12:16gitNote Added: 0088167
2019-10-16 12:16gitNote Added: 0088168
2019-10-16 14:28tizmayloNote Added: 0088174
2019-10-16 14:28tizmayloNote Edited: 0088174bug_revision_view_page.php?bugnote_id=88174#r22056
2019-10-16 14:29tizmayloAssigned Totizmaylo => kgv
2019-10-16 14:29tizmayloStatusassigned => resolved
2019-10-16 14:30tizmayloNote Edited: 0088174bug_revision_view_page.php?bugnote_id=88174#r22057
2019-10-16 17:50kgvNote Added: 0088190
2019-10-16 17:50kgvAssigned Tokgv => tizmaylo
2019-10-16 17:50kgvStatusresolved => assigned
2019-10-16 20:52gitNote Added: 0088200
2019-10-16 20:53gitNote Added: 0088201
2019-10-17 10:21gitNote Added: 0088219
2019-10-17 10:23abvNote Added: 0088220
2019-10-17 10:23abvAssigned Totizmaylo => kgv
2019-10-17 10:23abvStatusassigned => resolved
2019-10-17 10:44kgvAssigned Tokgv => bugmaster
2019-10-17 10:44kgvStatusresolved => reviewed
2019-10-17 14:23abvRelationship addedrelated to 0031060
2019-10-20 21:35apnNote Added: 0088369
2019-10-20 21:36apnAssigned Tobugmaster => tizmaylo
2019-10-20 21:36apnStatusreviewed => assigned
2019-10-21 09:14gitNote Added: 0088372
2019-10-21 09:14gitNote Added: 0088373
2019-10-21 12:12tizmayloNote Added: 0088380
2019-10-21 12:12tizmayloAssigned Totizmaylo => kgv
2019-10-21 12:12tizmayloStatusassigned => resolved
2019-10-21 12:16kgvAssigned Tokgv => bugmaster
2019-10-21 12:16kgvStatusresolved => reviewed
2019-10-22 12:26apnNote Added: 0088408
2019-10-22 12:26apnTest case number => Not needed
2019-10-22 12:26apnAssigned Tobugmaster => tizmaylo
2019-10-22 12:26apnStatusreviewed => assigned
2019-10-22 13:45gitNote Added: 0088411
2019-10-22 13:45gitNote Added: 0088412
2019-10-22 13:57apnNote Edited: 0088408bug_revision_view_page.php?bugnote_id=88408#r22099
2019-10-22 14:03gitNote Added: 0088414
2019-10-22 14:03gitNote Added: 0088415
2019-10-22 15:28gitNote Added: 0088423
2019-10-22 15:28gitNote Added: 0088424
2019-10-23 07:34gitNote Added: 0088434
2019-10-23 07:34abvNote Added: 0088435
2019-10-23 07:37gitNote Added: 0088436
2019-10-23 10:36gitNote Added: 0088441
2019-10-23 10:36gitNote Added: 0088442
2019-10-23 12:56tizmayloNote Added: 0088550
2019-10-23 12:57tizmayloAssigned Totizmaylo => kgv
2019-10-23 12:57tizmayloStatusassigned => resolved
2019-10-23 13:04kgvAssigned Tokgv => bugmaster
2019-10-23 13:04kgvStatusresolved => reviewed
2019-10-25 12:23apnNote Added: 0088591
2019-10-25 12:23apnAssigned Tobugmaster => tizmaylo
2019-10-25 12:23apnStatusreviewed => assigned
2019-10-25 16:16gitNote Added: 0088604
2019-10-25 16:17gitNote Added: 0088605
2019-10-25 17:18tizmayloNote Added: 0088612
2019-10-25 17:19tizmayloAssigned Totizmaylo => kgv
2019-10-25 17:19tizmayloStatusassigned => resolved
2019-10-25 21:24kgvNote Added: 0088616
2019-10-25 21:34kgvNote Added: 0088617
2019-10-25 21:34kgvAssigned Tokgv => tizmaylo
2019-10-25 21:34kgvStatusresolved => assigned
2019-10-28 09:38gitNote Added: 0088623
2019-10-28 10:28gitNote Added: 0088624
2019-10-28 11:13gitNote Added: 0088628
2019-10-28 11:13gitNote Added: 0088629
2019-10-29 20:05gitNote Added: 0088651
2019-10-29 20:07abvNote Added: 0088653
2019-10-30 09:17abvAssigned Totizmaylo => abv
2019-10-30 09:17abvStatusassigned => resolved
2019-10-30 09:18abvNote Added: 0088656
2019-10-30 09:18abvAssigned Toabv => bugmaster
2019-10-30 09:18abvStatusresolved => reviewed
2019-10-31 10:59apnStatusreviewed => tested
2019-11-02 17:43apnChangeset attached => occt master f4a7308f
2019-11-02 17:43apnAssigned Tobugmaster => apn
2019-11-02 17:43apnStatustested => verified
2019-11-02 17:43apnResolutionopen => fixed
2019-11-10 11:41gitNote Added: 0088847
2019-11-10 11:41gitNote Added: 0088850
2019-11-10 11:42gitNote Added: 0088857
2019-11-10 11:42gitNote Added: 0088858
2019-11-10 11:42gitNote Added: 0088860
2019-11-10 11:42gitNote Added: 0088869

Notes
(0087512)
git   
2019-09-25 16:33   
Branch CR30609 has been created by tizmaylo.

SHA-1: ea5d00cca06213a44560ba48c20d464f1d0c109d


Detailed log of new commits:

Author: tiv
Date: Wed Sep 25 16:32:34 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    Some macros necessary for compiler detection and gcc warning's suppression are added to Standard_Macro.hxx header file.
(0087552)
git   
2019-09-26 17:45   
Branch CR30609 has been updated by tizmaylo.

SHA-1: 6ee64588f558cbd2657e2806a5a5df8629b6ffa5


Detailed log of new commits:

Author: tiv
Date: Thu Sep 26 17:24:23 2019 +0300

    New function OSD_FunctionCast() is introduced to explicitly mark places where the conversion from the pointer to one function type to the pointer to another function type takes place and to suppress gcc warning "-Wcast-function-type".

(0087553)
git   
2019-09-26 17:45   
Branch CR30609_1 has been created by tizmaylo.

SHA-1: a16469a2ed72fd4d2dd79047379944d79d414051


Detailed log of new commits:

Author: tiv
Date: Thu Sep 26 17:43:07 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    Some macros necessary for compiler detection and gcc warning's suppression are added to Standard_Macro.hxx header file.
    New function OSD_FunctionCast() is introduced to explicitly mark places where the conversion from the pointer to one function type to the pointer to another function type takes place and to suppress gcc warning "-Wcast-function-type".
(0087567)
tizmaylo   
2019-09-27 12:08   
Patch is ready for review: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30609-master-TIV/view/ALL/ [^]

Main OCCT branch: CR30609
OCCT branch with squashed commits: CR30609_1
(0088079)
abv   
2019-10-14 09:21   
The patch contains excessive changes, for instance, it defines 11 new preprocessor macros OCCT_COMPILER*, only one of which is used (in the same file!). Please avoid redundant and unnecessary things.
(0088141)
kgv   
2019-10-15 20:17   
Please take into account Andrey remarks.
(0088164)
git   
2019-10-16 12:03   
Branch CR30609 has been updated forcibly by tizmaylo.

SHA-1: cbf97ac7520ef572ffbb9c79f4725e76cf785229
(0088165)
git   
2019-10-16 12:03   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: e4cd18cd91e4bad31ddc876f4b375243561596c6
(0088167)
git   
2019-10-16 12:16   
Branch CR30609 has been updated forcibly by tizmaylo.

SHA-1: 7ea2ec09e3160176077cfd20ed92e27d3b239ac9
(0088168)
git   
2019-10-16 12:16   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: 422ae088dea8e58713078cacac62e4a897413aba
(0088174)
tizmaylo   
2019-10-16 14:28   
(edited on: 2019-10-16 14:30)
Patch is ready for review: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30609-master-TIV/view/ALL/ [^]

Main OCCT branch: CR30609
OCCT branch with squashed commits: CR30609_1

Attention: both branches have been forcibly updated.

(0088190)
kgv   
2019-10-16 17:50   
+      std::ostringstream aNameStream;
+      aNameStream << 'w' << iwire;
+      const std::string aName = aNameStream.str();
+      DBRep::Set (aName.c_str(), S.Value());

Please replace with TCollection_AsciiString.

author	tiv <tiv@opencascade.com>	
Warnings issued by gcc 8.1.0 are eliminated.

Please correct commit description.
(0088200)
git   
2019-10-16 20:52   
Branch CR30609 has been updated by tizmaylo.

SHA-1: 1996f7f61e23fd01932c2da41a2cfd1597d41d68


Detailed log of new commits:

Author: tiv
Date: Wed Oct 16 20:45:45 2019 +0300

(0088201)
git   
2019-10-16 20:53   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: a4e305469473f864e57d66dc5740b1af2db995b9
(0088219)
git   
2019-10-17 10:21   
Branch CR30609_2 has been created by abv.

SHA-1: 79727c877084ed67c9fb7873ad472e446e9476de


Detailed log of new commits:

Author: tiv
Date: Wed Oct 16 20:47:30 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    New function OSD_FunctionCast() is introduced to explicitly mark places where the conversion from the pointer to one function type to the pointer to another function type takes place and to suppress gcc warning "-Wcast-function-type" (introduced in gcc 8.1.0).
(0088220)
abv   
2019-10-17 10:23   
I have removed the function MyVISEDG in SWDRAW_ShapeAnalysis.cxx as it does not seem to do anything useful and relevant DRAW command is never used in tests. Please review branch CR30609_2.
(0088369)
apn   
2019-10-20 21:35   
There are following compilation errors:

Windows-32-vc9/vc10/vc11, Windows-64-VC10-deb, Windows-64-VC10-opt-with-deb-info, Windows-64-VC11-opt:
http://jenkins-test-08.nnov.opencascade.com/view/IR-2019-10-20_IR-2019-10-20/view/OCCT%20compile/job/IR-2019-10-20_IR-2019-10-20-OCCT-Windows-32-VC10-opt-compile/1/parsed_console/ [^]
http://jenkins-test-08.nnov.opencascade.com/view/IR-2019-10-20_IR-2019-10-20/view/OCCT%20compile/job/IR-2019-10-20_IR-2019-10-20-OCCT-Windows-64-VC11-opt-compile/1/parsed_console/ [^]
(0088372)
git   
2019-10-21 09:14   
Branch CR30609 has been updated by tizmaylo.

SHA-1: d9eedbbd6d4e5c6a10958b2984c738907bb329a6


Detailed log of new commits:

Author: tiv
Date: Mon Oct 21 09:08:44 2019 +0300

    # The default template parameter AToFunction of the function template OSD_FunctionCast which caused compilation errors on some old compilers is removed.

(0088373)
git   
2019-10-21 09:14   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: 4071ee565c62830a139187f90bda896532c3f7e4
(0088380)
tizmaylo   
2019-10-21 12:12   
Compilation errors are fixed.

Patch is ready for review: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30609-master-TIV/view/ALL/ [^]

Main OCCT branch: CR30609
OCCT branch with squashed commits: CR30609_1

Attention: branch CR30609_1 has been forcibly updated.
(0088408)
apn   
2019-10-22 12:26   
(edited on: 2019-10-22 13:57)
Windows-32-vc9/Windows-32-vc10/Windows-32-vc11:

1>c:\builds\IR-2019-10-20_IR-2019-10-20\Windows-32-VC10-opt\OCCT\src\OSD\OSD_SharedLibrary.cxx(269) : error C2893: Failed to specialize function template 'opencascade::std::enable_if<std::tr1::is_function<opencascade::std::remove_pointer<_Ty>::type>::value&&std::tr1::is_function<TheFromFunction>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'

1>c:\builds\IR-2019-10-20_IR-2019-10-20\Windows-32-VC10-opt\OCCT\src\OSD\OSD_Parallel.cxx(47) : error C2893: Failed to specialize function template 'opencascade::std::enable_if<std::tr1::is_function<opencascade::std::remove_pointer<_Ty>::type>::value&&std::tr1::is_function<TheFromFunction>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'

Windows-64-vc11:
39>C:\builds\IR-2019-10-20_IR-2019-10-20\Windows-64-VC11-opt\OCCT\src\OpenGl\OpenGl_Window.cxx(355) : error C2893: Failed to specialize function template 'opencascade::std::enable_if<std::is_function<opencascade::std::remove_pointer<_Ty>::type>::value&&std::is_function<TheFromFunction>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'

(0088411)
git   
2019-10-22 13:45   
Branch CR30609 has been updated by tizmaylo.

SHA-1: 88b3067c8f231119a7d121e7f314cf811d8a82ed


Detailed log of new commits:

Author: tiv
Date: Tue Oct 22 13:40:22 2019 +0300

    # Fix for compilation errors on Win32-platform in Visual Studio older than Visual Studio 2013.

(0088412)
git   
2019-10-22 13:45   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: 595dd2c34f3a7dc2b716221089dc18a685092e9a
(0088414)
git   
2019-10-22 14:03   
Branch CR30609 has been updated forcibly by tizmaylo.

SHA-1: aba608333756bf4dc8d0af847fa0a3a7cb87ba41
(0088415)
git   
2019-10-22 14:03   
Branch CR30609_1 has been updated forcibly by tizmaylo.

SHA-1: b9e57181723c3a41589b16304ece7cd63457a727
(0088424)
git   
2019-10-22 15:28   
Branch CR30609_3 has been created by tizmaylo.

SHA-1: 13b46d87390f21066661a8aa25c88d3d6d549cf1


Detailed log of new commits:

Author: bugmaster
Date: Thu Sep 26 17:20:26 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    New function OSD_FunctionCast() is introduced to explicitly mark places where the conversion from the pointer to one function type to the pointer to another function type takes place and to suppress gcc warning "-Wcast-function-type" (introduced in gcc 8.1.0).
    The function MyVISEDG in SWDRAW_ShapeAnalysis.cxx is removed as it does not seem to do anything useful and relevant DRAW command is never used in tests.
(0088423)
git   
2019-10-22 15:28   
Branch CR30609 has been updated by tizmaylo.

SHA-1: bf291fefcbd3f514ddf7df84beea1636234d8b53


Detailed log of new commits:

Author: tiv
Date: Tue Oct 22 15:21:30 2019 +0300

    # The function MyVISEDG in SWDRAW_ShapeAnalysis.cxx is removed as it does not seem to do anything useful and relevant DRAW command is never used in tests (according to abv).

(0088434)
git   
2019-10-23 07:34   
Branch CR30609_3 has been updated forcibly by abv.

SHA-1: c1304c62c36f8244020e5d7d1e7d1ec1298f1d81
(0088435)
abv   
2019-10-23 07:34   
Branch CR30609_3 is rebased on new master
(0088436)
git   
2019-10-23 07:37   
Branch CR30609_3 has been updated by abv.

SHA-1: 10fd9fddc35dd5bf65ecb67abc202e384c826ba1


Detailed log of new commits:

Author: abv
Date: Fri Oct 11 22:04:02 2019 +0300

    0031060: Configuration - Support building with CLang compiler under VS 2019
    
    Build tools are updated to support building with Visual Studion 2019 toolset ClangCL (LLVM clang-cl):
    - In CMake builds, use of unsupported option "-std=c++0x" is avoided
    - Tool genconf recognizes availability of ClangCL toolset and proposes it in the list
    - Tool genproj recognizes new compiler specification VCVER=vclang and generates VS 2019 projects for it
    
    Note that vclang configuration puts binaries to folder "vc14" as it is compatible with vc14 CRT.
    
    Code is updated to build with Clang for Windows without errors and warnings:
    - In BVH classes, pure virtual destructors are replaced by empty ones, to avoid bogus compiler warning
    - In .lex files, pragmas are added to disable warnings in parser code
    - In OSD, signature of function _osd_wnt_set_error() is corrected to avoid warning on incorrect use of va_args (undefined behavior)
    - In OSD_Host, OSD_Parallel_TBB, warnings on usage of deprecated function are disabled
    - In Quantity_ColorRGBA and ViewerTest_CmdParser, incorrect use of predefined macro __FUNCTION__ assuming it was a string literal is avoided
    - In Standard_Macro.hxx, code is reordered to handle Clang for Windows appropriately
    - In AdvApp2Var_SysBase.hxx, inclusion of obsolete (MSVC-specific) header file is replaced by Standard_TypeDef.hxx
    - In BRepExtrema_SelfIntersection.hxx, missing Standard_EXPORT is added
    - In Standard_ErrorHandler.hxx, empty statements added to avoid warning on unused class fields
    - In IVtkDraw and ViewerTest, interface is corrected to use actual type avoiding unnecessary type casts
    
    Off-topic: corrections of some errors (uninitialized class fields) reported by VS Code Analysis in TKernel

(0088441)
git   
2019-10-23 10:36   
Branch CR30609 has been updated forcibly by tizmaylo.

SHA-1: e8334ed26155eaa61963ac1ed1d8a66ec953ef24
(0088442)
git   
2019-10-23 10:36   
Branch CR30609_4 has been created by tizmaylo.

SHA-1: 4bb90c82ebe91dd6757ce83721daecd3b07cdd88


Detailed log of new commits:

Author: tiv
Date: Wed Oct 23 10:34:15 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    New function OSD_FunctionCast() is introduced to explicitly mark places where the conversion from the pointer to one function type to the pointer to another function type takes place and to suppress gcc warning "-Wcast-function-type" (introduced in gcc 8.1.0).
    The function MyVISEDG in SWDRAW_ShapeAnalysis.cxx is removed as it does not seem to do anything useful and relevant DRAW command K_VISEDG is never used in tests.
(0088550)
tizmaylo   
2019-10-23 12:56   
Compilation errors are fixed.
Removal of MyVISEDG function proposed by abv is included in the main issue branch (CR30609).

Patch is ready for review: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30609-master-TIV/view/ALL/ [^]

Main OCCT branch: CR30609
OCCT branch with squashed commits: CR30609_4

Attention: branch CR30609 has been forcibly updated.
(0088591)
apn   
2019-10-25 12:23   
Windows-32-VC9-opt/Windows-32-VC10-opt/Windows-32-VC11-opt:

1>c:\builds\IR-2019-10-25_IR-2019-10-25\Windows-32-VC10-opt\OCCT\src\OSD\OSD_Parallel.cxx(47) : error C2770: invalid explicit template argument(s) for 'opencascade::std::enable_if<std::tr1::is_function<opencascade::std::remove_pointer<_Ty>::type>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'

1>c:\builds\IR-2019-10-25_IR-2019-10-25\Windows-32-VC10-opt\OCCT\src\OSD\OSD_Parallel.cxx(226) : error C2770: invalid explicit template argument(s) for 'opencascade::std::enable_if<std::tr1::is_function<opencascade::std::remove_pointer<_Ty>::type>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'


Windows-64-VC11-opt:

36>C:\builds\IR-2019-10-25_IR-2019-10-25\Windows-64-VC11-opt\OCCT\src\OpenGl\OpenGl_Window.cxx(355) : error C2893: Failed to specialize function template 'opencascade::std::enable_if<std::is_function<opencascade::std::remove_pointer<_Ty>::type>::value&&std::is_function<TheFromFunction>::value,opencascade::std::remove_pointer<_Ty>::type*>::type OSD_FunctionCast(TheFromFunction *const )'
(0088604)
git   
2019-10-25 16:16   
Branch CR30609_5 has been created by tizmaylo.

SHA-1: c27ba97c127c9f99f96a41a0a77282f032a9f40d


Detailed log of new commits:

Author: tiv
Date: Fri Oct 25 16:01:09 2019 +0300

    0030609: Coding - eliminate warnings issued by gcc 8.1.0
    
    Warnings issued by gcc 8.1.0 are eliminated.
    New Standard_FunctionCastWarningDisable.hxx header file is introduced to disable GCC warning "-Wcast-function-type" in those files *.cxx where it is issued. This warning is issued when the conversion from the pointer to one function type to the pointer to another function type takes places, it was added in gcc 8.1.0.
    The function MyVISEDG in SWDRAW_ShapeAnalysis.cxx is removed as it does not seem to do anything useful and relevant DRAW command K_VISEDG is never used in tests.
(0088605)
git   
2019-10-25 16:17   
Branch CR30609 has been updated by tizmaylo.

SHA-1: 29a6e6faaf1bae1ac8a2073ed1fe794a7d929343


Detailed log of new commits:

Author: tiv
Date: Tue Oct 22 15:21:30 2019 +0300

    # Function OSD_FunctionCast is removed due to compilation errors on MSVC 2008, 2010, and 2012 for Win32 platform.
    # New Standard_FunctionCastWarningDisable.hxx header file is introduced to disable GCC warning "-Wcast-function-type".

(0088612)
tizmaylo   
2019-10-25 17:18   
Patch is ready for review (only compilation was tested on Jenkins): http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30609-master-TIV/view/OCCT%20compile/ [^]

Main OCCT branch: CR30609
OCCT branch with squashed commits: CR30609_5
(0088616)
kgv   
2019-10-25 21:24   
+#include <Standard_FunctionCastWarningDisable.hxx>

It would be more convenient to call it Standard_WarningDisableFunctionCast.hxx to be closer to similar header Standard_WarningsDisable.hxx.
(0088617)
kgv   
2019-10-25 21:34   
+// GCC diagnostic -Wcast-function-type introduced in GCC 8.1 is disabled.
+// This diagnostic warns when a function pointer is cast to an incompatible function pointer

Description is incomplete - the reason for disabling a warning should be specified:
> Standard APIs loading function pointer from library (like dlsym() or wglGetProcAddress()) have no meaning to return function of specified type nor to verify that exported symbol actually matches expected function signature, so that unsafe function cast is the only way.
> As there is no way to fix this issue at OCCT level (until safer APIs being introduced), suppressing this warning is the only reasonable way.
> As this warning can point out broken places, it should be suppressed only locally, where usage of unsafe function cast has been verified.
(0088623)
git   
2019-10-28 09:38   
Branch CR30609 has been updated by tizmaylo.

SHA-1: 25af74f7b4db89797c2c356165cd34da0e6f13a7


Detailed log of new commits:

Author: tiv
Date: Mon Oct 28 09:37:04 2019 +0300

    # kgv remarks are taken into account.

(0088624)
git   
2019-10-28 10:28   
Branch CR30609 has been updated by tizmaylo.

SHA-1: ec77dc43eb29e9701a3816d34cdde8f6fccbf501


Detailed log of new commits:

Author: tiv
Date: Mon Oct 28 10:27:17 2019 +0300

    ~

(0088628)
git   
2019-10-28 11:13   
Branch CR30609 has been updated forcibly by tizmaylo.

SHA-1: af0e1fc3781fabd82e5bd2ff1d5f27a88ab3cf45
(0088629)
git   
2019-10-28 11:13   
Branch CR30609_5 has been updated forcibly by tizmaylo.

SHA-1: 99bdddff12c536d10c45f412b11c4f3439dabb29
(0088651)
git   
2019-10-29 20:05   
Branch CR30609_5 has been updated forcibly by abv.

SHA-1: eb781c0611f45517e959bf82823ce14e801b49d0
(0088653)
abv   
2019-10-29 20:07   
I have force-pushed minor correction in CR30609_5; the change is within comment in Standard_WarningDisableFunctionCast.hxx, for Doxygen to recognize this comment as documentation of the file
(0088656)
abv   
2019-10-30 09:18   
Reviewed, please integrate (compilations needs to be checked on all platforms)
(0088847)
git   
2019-11-10 11:41   
Branch CR30609_5 has been deleted by inv.

SHA-1: eb781c0611f45517e959bf82823ce14e801b49d0
(0088850)
git   
2019-11-10 11:41   
Branch CR30609 has been deleted by inv.

SHA-1: af0e1fc3781fabd82e5bd2ff1d5f27a88ab3cf45
(0088857)
git   
2019-11-10 11:42   
Branch CR30609_4 has been deleted by inv.

SHA-1: 4bb90c82ebe91dd6757ce83721daecd3b07cdd88
(0088858)
git   
2019-11-10 11:42   
Branch CR30609_3 has been deleted by inv.

SHA-1: 10fd9fddc35dd5bf65ecb67abc202e384c826ba1
(0088860)
git   
2019-11-10 11:42   
Branch CR30609_1 has been deleted by inv.

SHA-1: b9e57181723c3a41589b16304ece7cd63457a727
(0088869)
git   
2019-11-10 11:42   
Branch CR30609_2 has been deleted by inv.

SHA-1: 79727c877084ed67c9fb7873ad472e446e9476de