Closed
Description
CBMC version: 5.29
Operating system: Fedora 34
Exact command line resulting in the issue: ctest -L CORE
What behaviour did you expect: all tests pass
What happened instead:
Failed test: regression/cpp/virtual1/
/usr/include/assert.h:69:1: error: parse error before '( true ) __attribute__'
__THROW __attribute__ ((__noreturn__));
/usr/include/stdio.h:146:1: error: parse error before '( true ) ;'
extern int remove (const char *__filename) __THROW;
PARSING ERROR
Failed test: regression/cpp/Method_qualifier1
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h:2434:1: error: parse error before '; } namespace std'
typedef decltype(nullptr) nullptr_t;
/usr/include/assert.h:69:1: error: parse error before '( true ) __attribute__'
__THROW __attribute__ ((__noreturn__));
PARSING ERROR
The problem is with parsing the noexcept
and decltype
expressions.
The reason of this problem is GCC 11 uses c++17 by default. If I specify goto-cc -std=c++14/11/03
, then the mentioned tests pass.
Metadata
Metadata
Assignees
Labels
No labels