Language
C++
Compiler
clang HEAD 12.0.0 (https://github.com/llvm/llvm-project.git 344a3d0bc0fb0868b519c3342b4982d6121eece3)
Options
Warnings
Boost 1.73.0
C++2a
no pedantic
Raw compiler options
-Weverything
$ clang++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/clang-head/include -std=c++2a -WeverythingIn file included from prog.cc:3:
/opt/wandbox/clang-head/include/c++/v1/wchar.h:19:9: warning: macro name is a reserved identifier [-Wreserved-id-macro]
#define _LIBCPP_WCHAR_H
^
In file included from prog.cc:3:
In file included from /opt/wandbox/clang-head/include/c++/v1/wchar.h:108:
/opt/wandbox/clang-head/include/c++/v1/__config:10:9: warning: macro name is a reserved identifier [-Wreserved-id-macro]
#define _LIBCPP_CONFIG_SITE
^
/opt/wandbox/clang-head/include/c++/v1/__config:49:9: warning: macro name is a reserved identifier [-Wreserved-id-macro]
#define _LIBCPP_CONFIG
^
In file included from prog.cc:3:
In file included from /opt/wandbox/clang-head/include/c++/v1/wchar.h:109:
/opt/wandbox/clang-head/include/c++/v1/stddef.h:20:9: warning: macro name is a reserved identifier [-Wreserved-id-macro]
#define _LIBCPP_STDDEF_H
^
prog.cc:8:52: warning: extra ';' after member function definition [-Wextra-semi]
CBase(CDerived *derived): m_pDerived(derived) {};
^
prog.cc:9:4: warning: 'CBase' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
~CBase();
^
prog.cc:17:31: warning: extra ';' after member function definition [-Wextra-semi]
CDerived() : CBase(this) {}; // C4355 "this" used in derived c'tor
^~
prog.cc:18:30: warning: extra ';' after member function definition [-Wextra-semi]
virtual void function() {};
^
prog.cc:15:7: warning: 'CDerived' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
class CDerived : public CBase {
^
prog.cc:18:17: warning: 'function' overrides a member function but is not marked 'override' [-Wsuggest-override]
virtual void function() {};
^
prog.cc:10:17: note: overridden virtual function is here
virtual void function() = 0;
^
prog.cc:27:2: warning: C++98 requires newline at end of file [-Wc++98-compat-pedantic]
}
^
prog.cc:6:7: warning: 'CBase' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit [-Wweak-vtables]
class CBase {
^
prog.cc:15:7: warning: 'CDerived' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit [-Wweak-vtables]
class CDerived : public CBase {
^
13 warnings generated.
libc++abi: Pure virtual function called!
Signal:
Aborted