Re: [Factor-talk] gcc versions

2015-08-14 Thread Doug Coleman
Interesting. Both versions work with my clang.

ergmac:factor erg$ [master*] clang --version
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
Thread model: posix

So if the fix is correct, then we are all good.

Doug

On Fri, Aug 14, 2015 at 10:51 AM, Jon Harper jon.harpe...@gmail.com wrote:

 Well that's GCC 4.7.2 https://gcc.gnu.org/gcc-4.7/ September 20, 2012
 Gcc did fix this in GCC 4.7.3 https://gcc.gnu.org/gcc-4.7/ April 11,
 2013

 Also, clang does not error on the implicit this, but crashes hard earlier
 than gcc :)

 $ clang --version
 Debian clang version 3.0-6.2 (tags/RELEASE_30/final) (based on LLVM 3.0)
 Target: i386-pc-linux-gnu
 Thread model: posix

 $ CC=clang CXX=clang++ make
 make `./build-support/factor.sh make-target`
 [...snip...]
 1.  vm/free_list_allocator.hpp:124:57: current parser token ';'
 2.  vm/free_list_allocator.hpp:1:1: parsing namespace 'factor'
 3.  vm/free_list_allocator.hpp:123:68: parsing function body 'sweep'
 4.  vm/free_list_allocator.hpp:123:68: in compound statement ('{}')
 clang: error: unable to execute command: Segmentation fault
 https://lists.sourceforge.net/lists/listinfo/factor-talk


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Why does numberstring append .0 on my German system ?

2015-08-14 Thread Jon Harper
For info, it works directly on x86 linux


Jon

On Fri, Aug 14, 2015 at 6:17 AM, Georg Simon georg.si...@auge.de wrote:

 For me the need lies in the future.

 I am using a Factor written todo list editor, primarily to learn to use
 the Factor UI.

 I now add deadlines. So I want to display numbers in a Factor table.

 It would have been proper to display them locale dependant, but it is
 not necessary for now.

 Am Fri, 14 Aug 2015 00:01:20 +0200
 schrieb Jon Harper jon.harpe...@gmail.com:

  So I looked into this, trying to solve it by calling printf through
  the FFI with a locale setup and cleanup.
 
  The difficulty comes from the fact that printf is a variadic
  function.. Factor's ffi doesn't support them, at least no in a cross
  platform manner, right?
 
  So a workaround could be to wrap printf in C many times, compile that
  to a shared library and call the different wrappers with the FFI
  depending on the number of arguments and their types, but it would be
  nicer to have a better support of variadic functions.
 
  Anyway, it (kind of) worked on linux x86_64 with the following code:
  http://paste.factorcode.org/paste?id=3584
  Since printf is a variadic function, you have to use FUNCTION-ALIAS to
  create functions with the correct number of arguments and the correct
  types. So for example,
   FUNCTION-ALIAS: mysnprintf-int2 int snprintf ( char* result, size_t
  size, c-string format, int d, int d2 )
  would work too.
 
  However, passing floats didn't work on linux x86_64, because the
  system V AMD64 ABI says that the number of float arguments must be in
  RAX before calling the function, and factor always sets this to 0.
  With the following diff, it worked for 1 float:
  in cpu/x86/64/64.factor (and basis/cpu/x86/64/64.factor ??)
  -M: x86.64 %prepare-var-args ( -- ) RAX RAX XOR ;
  +M: x86.64 %prepare-var-args ( -- ) RAX 1 MOV ;
  I don't know how hard it would be to generate the correct value for
  RAX for variable arguments.
  Also, I'm not sure if it works better for other ABI/platforms.
 
  Do you think that's something worth investigating ?
 
 
  Jon
 
  On Wed, Aug 12, 2015 at 7:10 AM, Georg Simon georg.si...@auge.de
  wrote:
 
   Am Tue, 11 Aug 2015 09:02:33 -0700
   schrieb John Benediktsson mrj...@gmail.com:
  
   Thank you. So I didn't overlook existing locales support.
  
Properly supporting locales, even in a small way, would be a good
thing to add.
   
Factor is currently locale-independent, partly because of a
desire for homoiconicity, and partly because it prevents things
like tests that break depending on the system locale[1].
   
We have discussed adding a locale vocabulary or a with-locale
combinator that can influence presentation of numbers and strings,
maybe looking at how other languages work[2].  Probably we'd want
to keep the math.parser locale independent, but provide ways for
things like present / printf to be locale-aware.
   
If this is an issue for something you are building, you could use
alien.ffi to call sprintf or use C++ stringstream or something and
call the library from Factor, or do something slow like this,
calling out to Python:
   
: format-with-locale ( n locale -- s )
swap [
python , -c ,
import locale; locale.setlocale(locale.LC_ALL, \%s\);
print(locale.format(\%%f\, %s)) sprintf ,
] { } make B utf8 [ readln ] with-process-reader ;
   
IN: scratchpad 1.5 fr_FR format-with-locale .
1,50
   
---
[1] https://github.com/slavapestov/factor/issues/905
[2] https://docs.python.org/3/library/locale.html
  
  
  
 --
   ___
   Factor-talk mailing list
   Factor-talk@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/factor-talk
  



 --
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk

--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Why does numberstring append .0 on my German system ?

2015-08-14 Thread John Benediktsson
Maybe just format them locally so you see something you expect?

. , replace


On Thu, Aug 13, 2015 at 9:17 PM, Georg Simon georg.si...@auge.de wrote:

 For me the need lies in the future.

 I am using a Factor written todo list editor, primarily to learn to use
 the Factor UI.

 I now add deadlines. So I want to display numbers in a Factor table.

 It would have been proper to display them locale dependant, but it is
 not necessary for now.

 Am Fri, 14 Aug 2015 00:01:20 +0200
 schrieb Jon Harper jon.harpe...@gmail.com:

  So I looked into this, trying to solve it by calling printf through
  the FFI with a locale setup and cleanup.
 
  The difficulty comes from the fact that printf is a variadic
  function.. Factor's ffi doesn't support them, at least no in a cross
  platform manner, right?
 
  So a workaround could be to wrap printf in C many times, compile that
  to a shared library and call the different wrappers with the FFI
  depending on the number of arguments and their types, but it would be
  nicer to have a better support of variadic functions.
 
  Anyway, it (kind of) worked on linux x86_64 with the following code:
  http://paste.factorcode.org/paste?id=3584
  Since printf is a variadic function, you have to use FUNCTION-ALIAS to
  create functions with the correct number of arguments and the correct
  types. So for example,
   FUNCTION-ALIAS: mysnprintf-int2 int snprintf ( char* result, size_t
  size, c-string format, int d, int d2 )
  would work too.
 
  However, passing floats didn't work on linux x86_64, because the
  system V AMD64 ABI says that the number of float arguments must be in
  RAX before calling the function, and factor always sets this to 0.
  With the following diff, it worked for 1 float:
  in cpu/x86/64/64.factor (and basis/cpu/x86/64/64.factor ??)
  -M: x86.64 %prepare-var-args ( -- ) RAX RAX XOR ;
  +M: x86.64 %prepare-var-args ( -- ) RAX 1 MOV ;
  I don't know how hard it would be to generate the correct value for
  RAX for variable arguments.
  Also, I'm not sure if it works better for other ABI/platforms.
 
  Do you think that's something worth investigating ?
 
 
  Jon
 
  On Wed, Aug 12, 2015 at 7:10 AM, Georg Simon georg.si...@auge.de
  wrote:
 
   Am Tue, 11 Aug 2015 09:02:33 -0700
   schrieb John Benediktsson mrj...@gmail.com:
  
   Thank you. So I didn't overlook existing locales support.
  
Properly supporting locales, even in a small way, would be a good
thing to add.
   
Factor is currently locale-independent, partly because of a
desire for homoiconicity, and partly because it prevents things
like tests that break depending on the system locale[1].
   
We have discussed adding a locale vocabulary or a with-locale
combinator that can influence presentation of numbers and strings,
maybe looking at how other languages work[2].  Probably we'd want
to keep the math.parser locale independent, but provide ways for
things like present / printf to be locale-aware.
   
If this is an issue for something you are building, you could use
alien.ffi to call sprintf or use C++ stringstream or something and
call the library from Factor, or do something slow like this,
calling out to Python:
   
: format-with-locale ( n locale -- s )
swap [
python , -c ,
import locale; locale.setlocale(locale.LC_ALL, \%s\);
print(locale.format(\%%f\, %s)) sprintf ,
] { } make B utf8 [ readln ] with-process-reader ;
   
IN: scratchpad 1.5 fr_FR format-with-locale .
1,50
   
---
[1] https://github.com/slavapestov/factor/issues/905
[2] https://docs.python.org/3/library/locale.html
  
  
  
 --
   ___
   Factor-talk mailing list
   Factor-talk@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/factor-talk
  



 --
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk

--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


[Factor-talk] gcc versions

2015-08-14 Thread Jon Harper
Hi,
for info, we can't compile the factor vm with the default compiler (gcc
4.7.2) of debian oldstable wheezy anymore.

First, it has a false compilation error (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54277):
g++ -c -x c++-header -Wall -DFACTOR_VERSION=0.98
-DFACTOR_GIT_LABEL=heads/master-5ba44b37bc82bfdea706c16f33b3bbc13b9ca87c
-fomit-frame-pointer -Wl,--no-as-needed -m32 -O3 -g -std=c++11 -o
vm/master.hpp.gch vm/master.hpp
In file included from vm/master.hpp:112:0:
vm/free_list_allocator.hpp: In lambda function:
vm/free_list_allocator.hpp:137:35: error: no matching function for call to
‘factor::mark_bits::marked_p(factor::cell) const’
vm/free_list_allocator.hpp:137:35: note: candidate is:
In file included from vm/master.hpp:109:0:
vm/mark_bits.hpp:81:8: note: bool factor::mark_bits::marked_p(factor::cell)
near match
vm/mark_bits.hpp:81:8: note:   no known conversion for implicit ‘this’
parameter from ‘const factor::mark_bits*’ to ‘factor::mark_bits*’

The following patch workarounds error:
diff --git a/vm/free_list_allocator.hpp b/vm/free_list_allocator.hpp
index 65e6851..461004c 100644
--- a/vm/free_list_allocator.hpp
+++ b/vm/free_list_allocator.hpp
@@ -137 +137 @@ void free_list_allocatorBlock::compact(Iterator iter,
Fixup fixup,
-if (!state.marked_p(block_addr))
+if (!this-state.marked_p(block_addr))


Even with the workaround, when then have
g++ -c -Wall -DFACTOR_VERSION=0.98
-DFACTOR_GIT_LABEL=heads/master-5ba44b37bc82bfdea706c16f33b3bbc13b9ca87c
-fomit-frame-pointer -Wl,--no-as-needed -m32 -O3 -g -std=c++11 -o
vm/compaction.o vm/compaction.cpp
vm/compaction.cpp: In lambda function:
vm/compaction.cpp:165:1: internal compiler error: in get_expr_operands, at
tree-ssa-operands.c:1035
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.7/README.Bugs for instructions.


Jon
--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Why does numberstring append .0 on my German system ?

2015-08-14 Thread Andrea Ferretti
By the way, I do not think it is a good idea to directly parse or
format numbers based on locale, for portability.

I would rather have different functions that also take a locale into
account (not necessarily the system one) and a constant with the
system locale

2015-08-14 18:52 GMT+02:00 Jon Harper jon.harpe...@gmail.com:
 For info, it works directly on x86 linux


 Jon

 On Fri, Aug 14, 2015 at 6:17 AM, Georg Simon georg.si...@auge.de wrote:

 For me the need lies in the future.

 I am using a Factor written todo list editor, primarily to learn to use
 the Factor UI.

 I now add deadlines. So I want to display numbers in a Factor table.

 It would have been proper to display them locale dependant, but it is
 not necessary for now.

 Am Fri, 14 Aug 2015 00:01:20 +0200
 schrieb Jon Harper jon.harpe...@gmail.com:

  So I looked into this, trying to solve it by calling printf through
  the FFI with a locale setup and cleanup.
 
  The difficulty comes from the fact that printf is a variadic
  function.. Factor's ffi doesn't support them, at least no in a cross
  platform manner, right?
 
  So a workaround could be to wrap printf in C many times, compile that
  to a shared library and call the different wrappers with the FFI
  depending on the number of arguments and their types, but it would be
  nicer to have a better support of variadic functions.
 
  Anyway, it (kind of) worked on linux x86_64 with the following code:
  http://paste.factorcode.org/paste?id=3584
  Since printf is a variadic function, you have to use FUNCTION-ALIAS to
  create functions with the correct number of arguments and the correct
  types. So for example,
   FUNCTION-ALIAS: mysnprintf-int2 int snprintf ( char* result, size_t
  size, c-string format, int d, int d2 )
  would work too.
 
  However, passing floats didn't work on linux x86_64, because the
  system V AMD64 ABI says that the number of float arguments must be in
  RAX before calling the function, and factor always sets this to 0.
  With the following diff, it worked for 1 float:
  in cpu/x86/64/64.factor (and basis/cpu/x86/64/64.factor ??)
  -M: x86.64 %prepare-var-args ( -- ) RAX RAX XOR ;
  +M: x86.64 %prepare-var-args ( -- ) RAX 1 MOV ;
  I don't know how hard it would be to generate the correct value for
  RAX for variable arguments.
  Also, I'm not sure if it works better for other ABI/platforms.
 
  Do you think that's something worth investigating ?
 
 
  Jon
 
  On Wed, Aug 12, 2015 at 7:10 AM, Georg Simon georg.si...@auge.de
  wrote:
 
   Am Tue, 11 Aug 2015 09:02:33 -0700
   schrieb John Benediktsson mrj...@gmail.com:
  
   Thank you. So I didn't overlook existing locales support.
  
Properly supporting locales, even in a small way, would be a good
thing to add.
   
Factor is currently locale-independent, partly because of a
desire for homoiconicity, and partly because it prevents things
like tests that break depending on the system locale[1].
   
We have discussed adding a locale vocabulary or a with-locale
combinator that can influence presentation of numbers and strings,
maybe looking at how other languages work[2].  Probably we'd want
to keep the math.parser locale independent, but provide ways for
things like present / printf to be locale-aware.
   
If this is an issue for something you are building, you could use
alien.ffi to call sprintf or use C++ stringstream or something and
call the library from Factor, or do something slow like this,
calling out to Python:
   
: format-with-locale ( n locale -- s )
swap [
python , -c ,
import locale; locale.setlocale(locale.LC_ALL, \%s\);
print(locale.format(\%%f\, %s)) sprintf ,
] { } make B utf8 [ readln ] with-process-reader ;
   
IN: scratchpad 1.5 fr_FR format-with-locale .
1,50
   
---
[1] https://github.com/slavapestov/factor/issues/905
[2] https://docs.python.org/3/library/locale.html
  
  
  
   --
   ___
   Factor-talk mailing list
   Factor-talk@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/factor-talk
  



 --
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk



 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] gcc versions

2015-08-14 Thread Doug Coleman
Maybe gcc should spend more time implementing C++14 and fixing bugs and
less time worrying about someone stealing their AST.

You can use clang and it should work.
CC=clang CXX=clang++ make

I'll patch the implicit this but I don't know what else to say. :)

Doug

On Fri, Aug 14, 2015 at 10:00 AM, Jon Harper jon.harpe...@gmail.com wrote:

 Hi,
 for info, we can't compile the factor vm with the default compiler (gcc
 4.7.2) of debian oldstable wheezy anymore.

 First, it has a false compilation error (
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54277):
 g++ -c -x c++-header -Wall -DFACTOR_VERSION=0.98
 -DFACTOR_GIT_LABEL=heads/master-5ba44b37bc82bfdea706c16f33b3bbc13b9ca87c
 -fomit-frame-pointer -Wl,--no-as-needed -m32 -O3 -g -std=c++11 -o
 vm/master.hpp.gch vm/master.hpp
 In file included from vm/master.hpp:112:0:
 vm/free_list_allocator.hpp: In lambda function:
 vm/free_list_allocator.hpp:137:35: error: no matching function for call to
 ‘factor::mark_bits::marked_p(factor::cell) const’
 vm/free_list_allocator.hpp:137:35: note: candidate is:
 In file included from vm/master.hpp:109:0:
 vm/mark_bits.hpp:81:8: note: bool
 factor::mark_bits::marked_p(factor::cell) near match
 vm/mark_bits.hpp:81:8: note:   no known conversion for implicit ‘this’
 parameter from ‘const factor::mark_bits*’ to ‘factor::mark_bits*’

 The following patch workarounds error:
 diff --git a/vm/free_list_allocator.hpp b/vm/free_list_allocator.hpp
 index 65e6851..461004c 100644
 --- a/vm/free_list_allocator.hpp
 +++ b/vm/free_list_allocator.hpp
 @@ -137 +137 @@ void free_list_allocatorBlock::compact(Iterator iter,
 Fixup fixup,
 -if (!state.marked_p(block_addr))
 +if (!this-state.marked_p(block_addr))


 Even with the workaround, when then have
 g++ -c -Wall -DFACTOR_VERSION=0.98
 -DFACTOR_GIT_LABEL=heads/master-5ba44b37bc82bfdea706c16f33b3bbc13b9ca87c
 -fomit-frame-pointer -Wl,--no-as-needed -m32 -O3 -g -std=c++11 -o
 vm/compaction.o vm/compaction.cpp
 vm/compaction.cpp: In lambda function:
 vm/compaction.cpp:165:1: internal compiler error: in get_expr_operands, at
 tree-ssa-operands.c:1035
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See file:///usr/share/doc/gcc-4.7/README.Bugs for instructions.


 Jon


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] gcc versions

2015-08-14 Thread Jon Harper
So if the fix is correct, then we are all good.
The implicit this fix doesn't change anything:
With Wheezy's clang, it has no effect: it always segfaults during the
precompilation of master.hpp
With Wheezy's gcc, it goes from a false negative error during the
precompilation of master.hpp to a segfault during the compilation of
compaction.cpp

Also, there are tons of other implicit this uses. This one just happens to
be in a lambda and calling a non const method of this.

I'm not sure we want to support 2012's compilers ?

Jon

On Fri, Aug 14, 2015 at 7:54 PM, Doug Coleman doug.cole...@gmail.com
wrote:

 Interesting. Both versions work with my clang.

 ergmac:factor erg$ [master*] clang --version
 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
 Target: x86_64-apple-darwin14.4.0
 Thread model: posix

 So if the fix is correct, then we are all good.

 Doug

 On Fri, Aug 14, 2015 at 10:51 AM, Jon Harper jon.harpe...@gmail.com
 wrote:

 Well that's GCC 4.7.2 https://gcc.gnu.org/gcc-4.7/ September 20, 2012
 Gcc did fix this in GCC 4.7.3 https://gcc.gnu.org/gcc-4.7/ April 11,
 2013

 Also, clang does not error on the implicit this, but crashes hard earlier
 than gcc :)

 $ clang --version
 Debian clang version 3.0-6.2 (tags/RELEASE_30/final) (based on LLVM 3.0)
 Target: i386-pc-linux-gnu
 Thread model: posix

 $ CC=clang CXX=clang++ make
 make `./build-support/factor.sh make-target`
 [...snip...]
 1.  vm/free_list_allocator.hpp:124:57: current parser token ';'
 2.  vm/free_list_allocator.hpp:1:1: parsing namespace 'factor'
 3.  vm/free_list_allocator.hpp:123:68: parsing function body 'sweep'
 4.  vm/free_list_allocator.hpp:123:68: in compound statement ('{}')
 clang: error: unable to execute command: Segmentation fault
 https://lists.sourceforge.net/lists/listinfo/factor-talk


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk




 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] gcc versions

2015-08-14 Thread Doug Coleman
I missed your point.

We decided to use C++11 features a few months ago, so we need whatever it
takes to compile that correctly.

Maybe we need to switch to cmake or modify factor.sh to check that the
compiler version is high enough.

It sucks that Debian is shipping a buggy compiler with a stable release.



On Fri, Aug 14, 2015 at 11:10 AM, Jon Harper jon.harpe...@gmail.com wrote:

 So if the fix is correct, then we are all good.
 The implicit this fix doesn't change anything:
 With Wheezy's clang, it has no effect: it always segfaults during the
 precompilation of master.hpp
 With Wheezy's gcc, it goes from a false negative error during the
 precompilation of master.hpp to a segfault during the compilation of
 compaction.cpp

 Also, there are tons of other implicit this uses. This one just happens to
 be in a lambda and calling a non const method of this.

 I'm not sure we want to support 2012's compilers ?

 Jon

 On Fri, Aug 14, 2015 at 7:54 PM, Doug Coleman doug.cole...@gmail.com
 wrote:

 Interesting. Both versions work with my clang.

 ergmac:factor erg$ [master*] clang --version
 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
 Target: x86_64-apple-darwin14.4.0
 Thread model: posix

 So if the fix is correct, then we are all good.

 Doug

 On Fri, Aug 14, 2015 at 10:51 AM, Jon Harper jon.harpe...@gmail.com
 wrote:

 Well that's GCC 4.7.2 https://gcc.gnu.org/gcc-4.7/ September 20, 2012
 Gcc did fix this in GCC 4.7.3 https://gcc.gnu.org/gcc-4.7/ April 11,
 2013

 Also, clang does not error on the implicit this, but crashes hard
 earlier than gcc :)

 $ clang --version
 Debian clang version 3.0-6.2 (tags/RELEASE_30/final) (based on LLVM 3.0)
 Target: i386-pc-linux-gnu
 Thread model: posix

 $ CC=clang CXX=clang++ make
 make `./build-support/factor.sh make-target`
 [...snip...]
 1.  vm/free_list_allocator.hpp:124:57: current parser token ';'
 2.  vm/free_list_allocator.hpp:1:1: parsing namespace 'factor'
 3.  vm/free_list_allocator.hpp:123:68: parsing function body 'sweep'
 4.  vm/free_list_allocator.hpp:123:68: in compound statement ('{}')
 clang: error: unable to execute command: Segmentation fault
 https://lists.sourceforge.net/lists/listinfo/factor-talk


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk




 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk




 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] gcc versions

2015-08-14 Thread Jon Harper
I started this discussion because I thought that not everybody was aware of
the impact of the recent c++11 changes. We now have stronger requirements
than most projects, but this also means we have cleaner c++ code :) I think
that's worth it.

I'll test with different gcc and clang versions so we can add a check in
factor.sh.

Note: Wheezy is now oldstable, so has been obsolete for 4 months (it
still gets security fixes until february 2016, and after that debian's LTS
until 2018).

Jon

On Fri, Aug 14, 2015 at 7:54 PM, John Benediktsson mrj...@gmail.com wrote:

 Are we using too-bleeding-edge C++ features?

 Is the suggestion maybe we scale down to some subset compilers have had
 working for 3-4 years?


 On Aug 14, 2015, at 10:51 AM, Jon Harper jon.harpe...@gmail.com wrote:

 Well that's GCC 4.7.2 https://gcc.gnu.org/gcc-4.7/ September 20, 2012
 Gcc did fix this in GCC 4.7.3 https://gcc.gnu.org/gcc-4.7/ April 11,
 2013

 Also, clang does not error on the implicit this, but crashes hard earlier
 than gcc :)

 $ clang --version
 Debian clang version 3.0-6.2 (tags/RELEASE_30/final) (based on LLVM 3.0)
 Target: i386-pc-linux-gnu
 Thread model: posix

 $ CC=clang CXX=clang++ make
 make `./build-support/factor.sh make-target`
 [...snip...]
 1.  vm/free_list_allocator.hpp:124:57: current parser token ';'
 2.  vm/free_list_allocator.hpp:1:1: parsing namespace 'factor'
 3.  vm/free_list_allocator.hpp:123:68: parsing function body 'sweep'
 4.  vm/free_list_allocator.hpp:123:68: in compound statement ('{}')
 clang: error: unable to execute command: Segmentation fault
 https://lists.sourceforge.net/lists/listinfo/factor-talk


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk



 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] gcc versions

2015-08-14 Thread Doug Coleman
Cool. Here's an issue for it:
https://github.com/slavapestov/factor/issues/1440

On Fri, Aug 14, 2015 at 1:31 PM, Jon Harper jon.harpe...@gmail.com wrote:

 I started this discussion because I thought that not everybody was aware
 of the impact of the recent c++11 changes. We now have stronger
 requirements than most projects, but this also means we have cleaner c++
 code :) I think that's worth it.

 I'll test with different gcc and clang versions so we can add a check in
 factor.sh.

 Note: Wheezy is now oldstable, so has been obsolete for 4 months (it
 still gets security fixes until february 2016, and after that debian's LTS
 until 2018).

 Jon

 On Fri, Aug 14, 2015 at 7:54 PM, John Benediktsson mrj...@gmail.com
 wrote:

 Are we using too-bleeding-edge C++ features?

 Is the suggestion maybe we scale down to some subset compilers have had
 working for 3-4 years?


 On Aug 14, 2015, at 10:51 AM, Jon Harper jon.harpe...@gmail.com wrote:

 Well that's GCC 4.7.2 https://gcc.gnu.org/gcc-4.7/ September 20, 2012
 Gcc did fix this in GCC 4.7.3 https://gcc.gnu.org/gcc-4.7/ April 11,
 2013

 Also, clang does not error on the implicit this, but crashes hard earlier
 than gcc :)

 $ clang --version
 Debian clang version 3.0-6.2 (tags/RELEASE_30/final) (based on LLVM 3.0)
 Target: i386-pc-linux-gnu
 Thread model: posix

 $ CC=clang CXX=clang++ make
 make `./build-support/factor.sh make-target`
 [...snip...]
 1.  vm/free_list_allocator.hpp:124:57: current parser token ';'
 2.  vm/free_list_allocator.hpp:1:1: parsing namespace 'factor'
 3.  vm/free_list_allocator.hpp:123:68: parsing function body 'sweep'
 4.  vm/free_list_allocator.hpp:123:68: in compound statement ('{}')
 clang: error: unable to execute command: Segmentation fault
 https://lists.sourceforge.net/lists/listinfo/factor-talk


 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk



 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk




 --

 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk


--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk