Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

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 -Weverything
In 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