vle-forge / vle

Virtual Laboratory Environment
http://www.vle-project.org
GNU General Public License v3.0
21 stars 22 forks source link

vle test template error with gcc 4.9 #269

Closed rtrepos closed 6 years ago

rtrepos commented 7 years ago

Vle test utils/test_template does not work whith gcc 4.9.2 (on douar1 machine). Maybe this is due to lack of implementation of std::regex with gcc 4.9 ? The exception that occurs:

-- terminate called after throwing an instance of 'std::regex_error' what(): regex_error

--bactrace

(gdb) bt

0 0x00007ffff7027dbd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

1 0x00007ffff707e285 in std::__throw_regex_error(std::regex_constants::error_type) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

2 0x00007ffff7ae5cfe in std::__detail::_Compiler<std::regex_traits >::_Compiler (this=0x7fffffffdad0, b=, e=, traits=..., flags=)

at /usr/include/c++/4.9/bits/regex_compiler.tcc:84

3 0x00007ffff7b093ed in std::detail::compile_nfa<std::regex_traits > (first=, last=, traits=..., flags=)

at /usr/include/c++/4.9/bits/regex_compiler.h:155

4 0x00007ffff7b0f4ac in basic_regex<char const> (f=, last=0x7ffff7b975c9 "", _first=0x7ffff7b975b5 "{{if [[:alnum:]]}}", this=0x7fffffffdda0) at /usr/include/c++/4.9/bits/regex.h:536

5 std::basic_regex<char, std::regex_traits >::basic_regex (this=0x7fffffffdda0, _p=0x7ffff7b975b5 "{{if [[:alnum:]]*}}", __f=) at /usr/include/c++/4.9/bits/regex.h:452

6 0x00007ffff7b0b201 in vle::utils::Template::processIf (this=this@entry=0x7fffffffe070,

buffer="@@tag test1@package.name-ext1_ext2 @@azertyuiop qsdfghjklm wxcvbn,;:!@@end tag@@a) My name is {{name}} and I am {{year}} old\nb) My name is {{name}} and I am {{year}} old\nc) My name is {{name}} and I a"...) at /home/rtrepos/src/vle2.0/vle/src/vle/utils/Template.cpp:205

7 0x00007ffff7b0dbbe in vle::utils::Template::process (this=this@entry=0x7fffffffe070, result=...) at /home/rtrepos/src/vle2.0/vle/src/vle/utils/Template.cpp:170

8 0x000000000040461b in test_template_simple () at /home/rtrepos/src/vle2.0/vle/src/vle/utils/test/test_template.cpp:136

9 0x00000000004021d4 in main () at /home/rtrepos/src/vle2.0/vle/src/vle/utils/test/test_template.cpp:330

rtrepos commented 7 years ago

The same error occurs with clang

[douar1:build] clang --version Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0) Target: x86_64-pc-linux-gnu Thread model: posix

quesnel commented 7 years ago

With clang-libc++ (clang-3.5 -std=libc++) it works. I update the documentation.