On 27/03/19 16:54 +0100, J. Scheurich wrote:
g++ -DHAVE_CONFIG_H -DUSE_OPENSSL -DPCAPPLAY -DRTP_STREAM -DUSE_SCTP
-DHAVE_EPOLL -I. -I./include -D__LINUX -I./include -Wall -pedantic
-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-c -o src/sipp-sipp.o `test -f 'src/sipp.cpp' || echo
'./'`src/sipp.cpp
In file included from ./include/strings.hpp:24,
from ./include/sipp.hpp:484,
from src/sipp.cpp:41:
/usr/include/c++/9/cstddef:52:8: error: expected unqualified-id before
string constant
52 | extern "C++"
| ^~~~~
make[1]: *** [Makefile:1768: src/sipp-sipp.o] Error 1
https://en.cppreference.com/w/cpp/language/language_linkage
...
| Only two language linkages are guaranteed to be supported:
| 1) "C++", the default language linkage.
| 2) "C", which makes it possible to link with functions written in the
| C programming language, and to define, in a C++ program, functions
| that can be called from the modules written in C.
Cause 'extern "C++"' is the default for C++ and the compiler is g++,
you should be able to simply delete 'extern "C++"', is should have no
effect.
That's not true at all:
extern "C" {
extern "C++" void f();
}
extern "C++" {
void g();
}
If you remove the first occurrence of extern "C++" then you change the
language linkage of f() and if you remove the second occurrence then
you have just { at namespace scope, which is ill-formed.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx