dkl wrote:With the support for virtuals the C++ compatibility has gotten better, but lots of things are still missing. And of course it's only compatible to GCC, not MSVC.
I'm not sure about whether using TDM-GCC is a good idea actually, there seems to be a licensing issue related to the winpthreads library: http://comments.gmane.org/gmane.comp.gn ... neral/8435
Of course I wanted to use a gcc with Win32 threading instead of POSIX threading anyways, in the hopes to keep things simple (FB doesn't care about C++ threading features anyways...), so it looks like that will rule out TDM-GCC. I don't want to pass any such licensing issues on to FB users either if it can be avoided...
Did you find a reference to this in any of the license text files included with TDM-GCC package ? I did a quick check and came up empty.
St_W wrote:Kinda strange to read that the generally very unrestrictive MIT license "infects" GPL Software - usually it's the other way round, quite restrictive GPL Software "infecting" other Software.
If the MIT license is one with an advocacy clause (aka "prominent notice"), then that is logical. The GPL tried to avoid that much aligned clause in BSD and similar licenses from the start.
But if I read the message properly it is just about having to ship more license texts, not a real violation or conflict. I wouldn't worry about it.
dkl wrote:... it looks like I've got some time for FB during the next weeks, so I think that would be a good chance to make the next FB release (version 1.00.0)..
If you could give them some testing, that'd be great.
I know about some issues with the FB-win64 package already:
* no gdb.exe (the gdb setup from my MinGW-w64 toolchain is much more complex than a simple gdb.exe, due to Python plugin support and who knows what else),
* -profile isn't working due to a linking error - not sure why,
* most .bi headers are missing as they don't support 64bit yet.
* no installer.exe - I did not bother with that yet. Not sure whether there is NSIS for 64bit, or whether we should just use the 32bit NSIS to install 64bit FB...
They're dependencies of gdb.exe (current from MinGW.org toolchain). (The gdb.exe from my MinGw-w64 toolchain has even more dependencies, unfortunately, hence why I didn't use it)
I must build static FLTK libs with the toolchain i686-4.9.1-release-win32-sjlj-rt_v3-rev0.7z
but to use fbc -gen gcc or linking this fresh build of FLTK static libs I have to use FB-win32-gcc-4.7.3.
You can use the gcc from the i686-4.9.1-release-win32-sjlj-rt_v3-rev0.7z package for win32 -gen gcc if you like. I know about the float precision issues but so far have not come up with a good way to fix them, unfortunately.
The FB-win32-gcc-4.7.3 package was for FB 0.90, and I do not intend to update it. It's possible that it still works even with the gcc 4.9 libraries, I didn't test it though. Same goes for the external library builds - it's too much work for me.
dkl wrote:The FB-win32-gcc-4.7.3 package was for FB 0.90, and I do not intend to update it. It's possible that it still works even with the gcc 4.9 libraries, I didn't test it though. Same goes for the external library builds - it's too much work for me.
But when I try to compile the fb-doc code I get a similar error as we had with the ARM version:
fbc -w all "fb-doc.bas" (im Verzeichnis: /home/tom/Projekte/fb/fb-doc/src)
fb-doc.c:18:47: error: size of array ‘__$fb_structsizecheck’ is negative
#define __FB_STATIC_ASSERT( expr ) extern int __$fb_structsizecheck[(expr) ? 1 : -1]
^
fb-doc.c:164:1: note: in expansion of macro ‘__FB_STATIC_ASSERT’
__FB_STATIC_ASSERT( sizeof( struct $11HIGHLIGHTER ) == 352 );
^
fb-doc.c: In function ‘_ZN11HIGHLIGHTERC1EP6PARSER’:
fb-doc.c:11514:2: warning: passing argument 1 of ‘__builtin_memset’ makes pointer from integer without a cast [enabled by default]
__builtin_memset( *(int64*)((uint8*)THIS$1 + 320ll) & 1ll, 0, 8ll );
^
fb-doc.c:11514:2: note: expected ‘void *’ but argument is of type ‘long long int’
fb-doc.c: In function ‘_ZN11HIGHLIGHTERaSERKS_’:
fb-doc.c:21727:2: warning: passing argument 1 of ‘__builtin_memcpy’ makes pointer from integer without a cast [enabled by default]
__builtin_memcpy( *(int64*)((uint8*)THIS$1 + 320ll) & 1ll, *(int64*)((uint8*)__FB_RHS__$1 + 320ll) & 1ll, 8 );
^
fb-doc.c:21727:2: note: expected ‘void *’ but argument is of type ‘long long int’
fb-doc.c:21727:2: warning: passing argument 2 of ‘__builtin_memcpy’ makes pointer from integer without a cast [enabled by default]
fb-doc.c:21727:2: note: expected ‘const void *’ but argument is of type ‘long long int’
Kompilierung fehlgeschlagen.
TYPE Highlighter
'* \brief The high-lighting categories
ENUM WordTypes
FB_CODE '*< Normal code, no high-lighting
FB_KEYW '*< A keyword
FB_KWTP '*< A keyword type
FB_KWFL '*< A flow keyword (currently not used)
FB_PREP '*< A preprocessor statement
FB_SYMB '*< A linked Symbol
END ENUM
AS STRING _
FbPath _ '*< The path to read FB code files from
, FbFiles _ '*< A list of all FB file names
, InPath _ '*< The path to read Doxygen files from
, DoxyFiles _'*< A list of all Doxygen file names
, HtmlPath _ '*< The path for html files
, HtmlSuff _ '*< The filename suffix for html files
, TexPath _ '*< The path for LaTeX files
, XmlPath _ '*< The path for XML files
, LastLine '*< The last line red from the input file
AS RepData PTR Symbols '*< The list of linked symbols
AS Parser PTR Pars '*< The parser to operate with
AS ZSTRING PTR _
FBDOC_MARK = @"<!-- Syntax-highlighting by fb-doc -->" _ '*< Text to mark the output
, KEYW_A = @"<span class=""keyword"">" _ '*< Code to start highlighting a keyword
, KWTP_A = @"<span class=""keywordtype"">" _ '*< Code to start highlighting a keywordtype
, KWFL_A = @"<span class=""keywordflow"">" _ '*< Code to start highlighting a flow keyword (not used yet)
, PREP_A = @"<span class=""preprocessor"">" _ '*< Code to start highlighting a preprocessor statement
, CMNT_A = @"<span class=""comment"">" _ '*< Code to start highlighting a comment
, SPAN_E = @"</span>" _ '*< Code to end highlighting
, QUOT_A = @"<span class=""stringliteral"">"" _ '*< Code to start highlighting a string literal
, QUOT_E = @""</span>" '*< Code to end highlighting a string literal
AS INTEGER _
Ifnr _ '*< The file number for input
, LineNo '*< The current line number
UNION
TYPE
AS INTEGER _
GenHtml : 1 _ '*< Flag for html output
, GenTex : 1 _ '*< Flag for LaTeX output
, GenXml : 1 '*< Flag for XML output
END TYPE
AS INTEGER GenAny '*< All output flags
END UNION
DECLARE CONSTRUCTOR()
DECLARE CONSTRUCTOR(BYVAL AS Parser PTR)
DECLARE SUB doDoxy(BYREF AS STRING)
DECLARE SUB do_files()
DECLARE STATIC FUNCTION prepare_tex(BYVAL AS Highlighter PTR) AS STRING
DECLARE STATIC FUNCTION prepare_xml(BYVAL AS Highlighter PTR) AS STRING
DECLARE STATIC FUNCTION prepare_html(BYVAL AS Highlighter PTR) AS STRING
DECLARE SUB generate_all(BYVAL AS ZSTRING PTR, BYVAL AS INTEGER)
DECLARE FUNCTION generate_code(BYVAL AS ZSTRING PTR, BYVAL AS INTEGER, BYVAL AS INTEGER) AS STRING
DECLARE FUNCTION word_type(BYREF AS STRING) AS ZSTRING PTR
'* \brief the function called to end a line and start a new one
eol AS FUNCTION(BYVAL AS RepData PTR, BYref AS INTEGER) AS STRING _
= @html_eol()
'* \brief the function called to extract links from original files
prepare AS FUNCTION(BYVAL AS Highlighter PTR) AS STRING _
= @prepare_html()
'* \brief the function called for normal code to replace special characters
special_chars AS FUNCTION(BYVAL AS UBYTE PTR, BYVAL AS INTEGER, BYVAL AS INTEGER) AS STRING _
= @html_specials()
END TYPE