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

Reply via email to