https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63531
Bug ID: 63531 Summary: gcc segfaults on some sourcefiles when using '-Weffc++' and '-fsanitize=undefined' together Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: allizgubccg at reallysoft dot de gcc version: can reproduce segfault with gcc 4.9.0 and 4.9.1. System: ubuntu Only happens when using '-Weffc++' and '-fsanitize=undefined' together, removing any of them removes the problem. Does only crash for 3 out of several hundred source files (all build with similar switches). command line: /opt/gcc-4.9.1/bin/g++ -v -save-temps -DDEBUG -DARB_MOTIF -Weffc++ -fsanitize=undefined -std=gnu++11 -c MG_preserves.cxx -I. -I/home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE -I/usr/X11R6/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include gcc output: Using built-in specs. COLLECT_GCC=/opt/gcc-4.9.1/bin/g++ Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.9.1/configure --prefix=/opt/gcc-4.9.1 --disable-nls Thread model: posix gcc version 4.9.1 (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'DEBUG' '-D' 'ARB_MOTIF' '-Weffc++' '-fsanitize=undefined' '-std=gnu++11' '-c' '-I' '.' '-I' '/home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE' '-I' '/usr/X11R6/include' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/gcc-4.9.1/libexec/gcc/x86_64-unknown-linux-gnu/4.9.1/cc1plus -E -quiet -v -I . -I /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE -I /usr/X11R6/include -I /usr/include/glib-2.0 -I /usr/lib/glib-2.0/include -D_GNU_SOURCE -D DEBUG -D ARB_MOTIF MG_preserves.cxx -mtune=generic -march=x86-64 -std=gnu++11 -Weffc++ -fsanitize=undefined -fpch-preprocess -o MG_preserves.ii ignoring nonexistent directory "/opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../x86_64-unknown-linux-gnu/include" ignoring nonexistent directory "/usr/X11R6/include" #include "..." search starts here: #include <...> search starts here: . /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE /usr/include/glib-2.0 /usr/lib/glib-2.0/include /opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1 /opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/x86_64-unknown-linux-gnu /opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/backward /opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include /usr/local/include /opt/gcc-4.9.1/include /opt/gcc-4.9.1/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'DEBUG' '-D' 'ARB_MOTIF' '-Weffc++' '-fsanitize=undefined' '-std=gnu++11' '-c' '-I' '.' '-I' '/home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE' '-I' '/usr/X11R6/include' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/gcc-4.9.1/libexec/gcc/x86_64-unknown-linux-gnu/4.9.1/cc1plus -fpreprocessed MG_preserves.ii -quiet -dumpbase MG_preserves.cxx -mtune=generic -march=x86-64 -auxbase MG_preserves -Weffc++ -std=gnu++11 -version -fsanitize=undefined -o MG_preserves.s GNU C++ (GCC) version 4.9.1 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.9.1, GMP version 4.3.2, MPFR version 2.4.2-p1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++ (GCC) version 4.9.1 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.9.1, GMP version 4.3.2, MPFR version 2.4.2-p1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: db47d1062a26475ee5d0bac184f79f7f In file included from MG_adapt_ali.hxx:18:0, from MG_preserves.cxx:16: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:31:7: warning: 'class CharPtrArray' has pointer data members [-Weffc++] class CharPtrArray : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:31:7: warning: but does not override 'CharPtrArray(const CharPtrArray&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:31:7: warning: or 'operator=(const CharPtrArray&)' [-Weffc++] In file included from MG_adapt_ali.hxx:18:0, from MG_preserves.cxx:16: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:163:7: warning: 'class ConstStrArray' has pointer data members [-Weffc++] class ConstStrArray : public CharPtrArray { // derived from a Noncopyable ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:163:7: warning: but does not override 'ConstStrArray(const ConstStrArray&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_strarray.h:163:7: warning: or 'operator=(const ConstStrArray&)' [-Weffc++] In file included from MG_preserves.cxx:16:0: MG_adapt_ali.hxx:23:8: warning: 'struct MG_remaps' has pointer data members [-Weffc++] struct MG_remaps : virtual Noncopyable { ^ MG_adapt_ali.hxx:23:8: warning: but does not override 'MG_remaps(const MG_remaps&)' [-Weffc++] MG_adapt_ali.hxx:23:8: warning: or 'operator=(const MG_remaps&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'class auto_delete_ptr<CallbackData<long int, long int> >': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:154:8: required from 'class Counted<CallbackData<long int, long int>, auto_delete_ptr<CallbackData<long int, long int> > >' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:172:59: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: 'class auto_delete_ptr<CallbackData<long int, long int> >' has pointer data members [-Weffc++] class auto_delete_ptr : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: but does not override 'auto_delete_ptr<CallbackData<long int, long int> >(const auto_delete_ptr<CallbackData<long int, long int> >&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: or 'operator=(const auto_delete_ptr<CallbackData<long int, long int> >&)' [-Weffc++] In file included from MG_preserves.cxx:18:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:58:7: warning: 'class AW_awar' has pointer data members [-Weffc++] class AW_awar : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:58:7: warning: but does not override 'AW_awar(const AW_awar&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:58:7: warning: or 'operator=(const AW_awar&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_root.hxx:8:0, from MG_preserves.cxx:19: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:54:7: warning: 'class ARB_undropable_error' has pointer data members [-Weffc++] class ARB_undropable_error : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:54:7: warning: but does not override 'ARB_undropable_error(const ARB_undropable_error&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:54:7: warning: or 'operator=(const ARB_undropable_error&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'class auto_delete_ptr<ARB_undropable_error>': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:154:8: required from 'class Counted<ARB_undropable_error, auto_delete_ptr<ARB_undropable_error> >' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:102:41: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: 'class auto_delete_ptr<ARB_undropable_error>' has pointer data members [-Weffc++] class auto_delete_ptr : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: but does not override 'auto_delete_ptr<ARB_undropable_error>(const auto_delete_ptr<ARB_undropable_error>&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: or 'operator=(const auto_delete_ptr<ARB_undropable_error>&)' [-Weffc++] In file included from MG_preserves.cxx:19:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_root.hxx:86:7: warning: 'class AW_root' has pointer data members [-Weffc++] class AW_root : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_root.hxx:86:7: warning: but does not override 'AW_root(const AW_root&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_root.hxx:86:7: warning: or 'operator=(const AW_root&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:16:0, from MG_preserves.cxx:21: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:115:7: warning: 'class AW_cb' has pointer data members [-Weffc++] class AW_cb : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:115:7: warning: but does not override 'AW_cb(const AW_cb&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:115:7: warning: or 'operator=(const AW_cb&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:228:7: warning: 'class AW_window' has pointer data members [-Weffc++] class AW_window : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:228:7: warning: but does not override 'AW_window(const AW_window&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:228:7: warning: or 'operator=(const AW_window&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:16:0, from MG_preserves.cxx:21: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:620:7: warning: 'class AW_window_menu_modes' has pointer data members [-Weffc++] class AW_window_menu_modes : public AW_window { // derived from a Noncopyable ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:620:7: warning: but does not override 'AW_window_menu_modes(const AW_window_menu_modes&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_window.hxx:620:7: warning: or 'operator=(const AW_window_menu_modes&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:19:0, from MG_preserves.cxx:21: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:122:7: warning: 'class GB_transaction' has pointer data members [-Weffc++] class GB_transaction : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:122:7: warning: but does not override 'GB_transaction(const GB_transaction&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:122:7: warning: or 'operator=(const GB_transaction&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h: In constructor 'GB_transaction::GB_transaction(GBDATA*, bool)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:129:5: warning: 'GB_transaction::ta_main' should be initialized in the member initialization list [-Weffc++] GB_transaction(GBDATA *gb_main, bool) { init(gb_main, true); } ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:129:5: warning: 'GB_transaction::ta_open' should be initialized in the member initialization list [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:129:5: warning: 'GB_transaction::ta_err' should be initialized in the member initialization list [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h: In constructor 'GB_transaction::GB_transaction(GBDATA*)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:131:5: warning: 'GB_transaction::ta_main' should be initialized in the member initialization list [-Weffc++] GB_transaction(GBDATA *gb_main) { init(gb_main, false); } ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:131:5: warning: 'GB_transaction::ta_open' should be initialized in the member initialization list [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdb.h:131:5: warning: 'GB_transaction::ta_err' should be initialized in the member initialization list [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:22:0, from MG_preserves.cxx:21: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx: In constructor 'AW_scalar::AW_scalar(int32_t)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx:43:14: warning: 'AW_scalar::value' should be initialized in the member initialization list [-Weffc++] explicit AW_scalar(int32_t I) : type(INT) { value.i = I; } ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx: In constructor 'AW_scalar::AW_scalar(float)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx:44:14: warning: 'AW_scalar::value' should be initialized in the member initialization list [-Weffc++] explicit AW_scalar(float F) : type(FLOAT) { value.f = F; } ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx: In constructor 'AW_scalar::AW_scalar(const char*)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx:45:14: warning: 'AW_scalar::value' should be initialized in the member initialization list [-Weffc++] explicit AW_scalar(const char *S) : type(STR) { value.s = strdup(S); } ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx: In constructor 'AW_scalar::AW_scalar(GBDATA*)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_scalar.hxx:46:14: warning: 'AW_scalar::value' should be initialized in the member initialization list [-Weffc++] explicit AW_scalar(GBDATA *P) : type(PNTR) { value.p = P; } ^ In file included from MG_preserves.cxx:21:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx: At global scope: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:26:7: warning: 'class AW_selection_list_entry' has pointer data members [-Weffc++] class AW_selection_list_entry : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:26:7: warning: but does not override 'AW_selection_list_entry(const AW_selection_list_entry&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:26:7: warning: or 'operator=(const AW_selection_list_entry&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:63:7: warning: 'class AW_selection_list' has pointer data members [-Weffc++] class AW_selection_list : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:63:7: warning: but does not override 'AW_selection_list(const AW_selection_list&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:63:7: warning: or 'operator=(const AW_selection_list&)' [-Weffc++] In file included from MG_preserves.cxx:21:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:174:7: warning: 'class AW_selection' has pointer data members [-Weffc++] class AW_selection : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:174:7: warning: but does not override 'AW_selection(const AW_selection&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:174:7: warning: or 'operator=(const AW_selection&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:201:7: warning: 'class AW_DB_selection' has pointer data members [-Weffc++] class AW_DB_selection : public AW_selection { // derived from a Noncopyable ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:201:7: warning: but does not override 'AW_DB_selection(const AW_DB_selection&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_select.hxx:201:7: warning: or 'operator=(const AW_DB_selection&)' [-Weffc++] In file included from MG_preserves.cxx:22:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:36:7: warning: 'class arb_progress_counter' has pointer data members [-Weffc++] class arb_progress_counter : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:36:7: warning: but does not override 'arb_progress_counter(const arb_progress_counter&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:36:7: warning: or 'operator=(const arb_progress_counter&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:65:7: warning: 'class arb_parent_progress' has pointer data members [-Weffc++] class arb_parent_progress : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:65:7: warning: but does not override 'arb_parent_progress(const arb_parent_progress&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:65:7: warning: or 'operator=(const arb_parent_progress&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h: In constructor 'arb_parent_progress::arb_parent_progress(arb_progress_counter*, bool)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:82:5: warning: 'arb_parent_progress::prev_recent' should be initialized in the member initialization list [-Weffc++] arb_parent_progress(arb_progress_counter *counter_, bool has_title_) ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:82:5: warning: 'arb_parent_progress::accept_invalid_counters' should be initialized in the member initialization list [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'class auto_delete_ptr<arb_parent_progress>': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:154:8: required from 'class Counted<arb_parent_progress, auto_delete_ptr<arb_parent_progress> >' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:148:14: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: 'class auto_delete_ptr<arb_parent_progress>' has pointer data members [-Weffc++] class auto_delete_ptr : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: but does not override 'auto_delete_ptr<arb_parent_progress>(const auto_delete_ptr<arb_parent_progress>&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: or 'operator=(const auto_delete_ptr<arb_parent_progress>&)' [-Weffc++] In file included from MG_preserves.cxx:22:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h: In constructor 'arb_progress::arb_progress(const char*, int)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:162:5: warning: 'arb_progress::used' should be initialized in the member initialization list [-Weffc++] arb_progress(const char *title, int overall_count) { ^ In file included from MG_preserves.cxx:22:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h: In constructor 'arb_progress::arb_progress(const char*)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:176:14: warning: 'arb_progress::used' should be initialized in the member initialization list [-Weffc++] explicit arb_progress(const char *title) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h: In constructor 'arb_progress::arb_progress(int)': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:184:14: warning: 'arb_progress::used' should be initialized in the member initialization list [-Weffc++] explicit arb_progress(int overall_count) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h: In constructor 'arb_progress::arb_progress()': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:191:5: warning: 'arb_progress::used' should be initialized in the member initialization list [-Weffc++] arb_progress() { ^ In file included from MG_preserves.cxx:24:0: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdbt.h: At global scope: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdbt.h:36:8: warning: 'struct GBT_TREE' has pointer data members [-Weffc++] struct GBT_TREE : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdbt.h:36:8: warning: but does not override 'GBT_TREE(const GBT_TREE&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdbt.h:36:8: warning: or 'operator=(const GBT_TREE&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arbdbt.h:36:8: warning: base class 'struct Noncopyable' has accessible non-virtual destructor [-Wnon-virtual-dtor] MG_preserves.cxx: In constructor 'Candidate::Candidate(bool, const char*, GBDATA*, GBDATA*, const CharPtrArray&)': MG_preserves.cxx:113:5: warning: 'Candidate::score' should be initialized in the member initialization list [-Weffc++] Candidate(bool is_species, const char *name_, GBDATA *gb_src, GBDATA *gb_dst, const CharPtrArray& ali_names) ^ MG_preserves.cxx:113:5: warning: 'Candidate::found_alignments' should be initialized in the member initialization list [-Weffc++] MG_preserves.cxx:113:5: warning: 'Candidate::base_count_diff' should be initialized in the member initialization list [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'class auto_delete_ptr<Candidate>': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:154:8: required from 'class Counted<Candidate, auto_delete_ptr<Candidate> >' MG_preserves.cxx:165:14: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: 'class auto_delete_ptr<Candidate>' has pointer data members [-Weffc++] class auto_delete_ptr : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: but does not override 'auto_delete_ptr<Candidate>(const auto_delete_ptr<Candidate>&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: or 'operator=(const auto_delete_ptr<Candidate>&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = CallbackData<long int, long int>; C = Counted<CallbackData<long int, long int>, auto_delete_ptr<CallbackData<long int, long int> > >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:161:8: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:226:5: warning: 'SmartPtr<CallbackData<long int, long int> >::object' should be initialized in the member initialization list [-Weffc++] SmartPtr(const SmartPtr<T, C>& other) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>; C = Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:204:8: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:226:5: warning: 'SmartPtr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > > >::object' should be initialized in the member initialization list [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'class auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> >': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:154:8: required from 'class Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > >' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:229:21: required from 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>; C = Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > >]' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:204:8: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: 'class auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> >' has pointer data members [-Weffc++] class auto_delete_ptr : virtual Noncopyable { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: but does not override 'auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> >(const auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> >&)' [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:115:7: warning: or 'operator=(const auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> >&)' [-Weffc++] In file included from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:25:0, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:57, from /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/aw_awar.hxx:19, from MG_preserves.cxx:18: /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(T*) [with T = ARB_undropable_error; C = Counted<ARB_undropable_error, auto_delete_ptr<ARB_undropable_error> >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:104:66: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:215:5: warning: 'SmartPtr<ARB_undropable_error>::object' should be initialized in the member initialization list [-Weffc++] SmartPtr(T *p) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = ARB_undropable_error; C = Counted<ARB_undropable_error, auto_delete_ptr<ARB_undropable_error> >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_error.h:123:54: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:226:5: warning: 'SmartPtr<ARB_undropable_error>::object' should be initialized in the member initialization list [-Weffc++] SmartPtr(const SmartPtr<T, C>& other) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = arb_parent_progress; C = Counted<arb_parent_progress, auto_delete_ptr<arb_parent_progress> >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/arb_progress.h:264:62: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:226:5: warning: 'SmartPtr<arb_parent_progress>::object' should be initialized in the member initialization list [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(T*) [with T = Candidate; C = Counted<Candidate, auto_delete_ptr<Candidate> >]': MG_preserves.cxx:187:39: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:215:5: warning: 'SmartPtr<Candidate>::object' should be initialized in the member initialization list [-Weffc++] SmartPtr(T *p) { ^ /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(T*) [with T = CallbackData<long int, long int>; C = Counted<CallbackData<long int, long int>, auto_delete_ptr<CallbackData<long int, long int> > >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:169:96: required from 'Callback_FVV<RT, FIXED>::Callback_FVV(Callback_FVV<RT, FIXED>::Signature, AW_CL, AW_CL) [with RT = void; FIXED = AW_root*; Callback_FVV<RT, FIXED>::Signature = StrictlyTypedCallback<void, AW_root*, long int, long int>; AW_CL = long int]' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:62:168: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:215:5: warning: 'SmartPtr<CallbackData<long int, long int> >::object' should be initialized in the member initialization list [-Weffc++] /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(T*) [with T = CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>; C = Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > >]': /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cbtypes.h:219:86: required from 'Callback_FVF<RT, F1, F2>::Callback_FVF(Callback_FVF<RT, F1, F2>::SigP0F12) [with RT = void; F1 = GBDATA*; F2 = GB_CB_TYPE; Callback_FVF<RT, F1, F2>::SigP0F12 = StrictlyTypedCallback<void, GBDATA*, GB_CB_TYPE, void>]' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/cb.h:67:190: required from here /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h:215:5: warning: 'SmartPtr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, Counted<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype>, auto_delete_ptr<CallbackData<long int, Callback_FVF<void, GBDATA*, GB_CB_TYPE>::funtype> > > >::object' should be initialized in the member initialization list [-Weffc++] ' /home/ralf/ARB-bilbo/ARB.sanitize.491.DEBUG/INCLUDE/smartptr.h: In instantiation of 'SmartPtr<T, C>::SmartPtr(const SmartPtr<T, C>&) [with T = Candidate; C = Counted<Candidate, auto_delete_ptr<Candidate> >]': /opt/gcc-4.9.1/include/c++/4.9.1/ext/new_allocator.h:120:4: required from 'void __gnu_cxx::new_allocator< <template-parameter-1-1> >::construct(_Up*, _Args&& ...) [with _Up = SmartPtr<Candidate>; _Args = {SmartPtr<Candidate, Counted<Candidate, auto_delete_ptr<Candidate> > >}; _Tp = std::_Rb_tree_node<SmartPtr<Candidate> >]' /opt/gcc-4.9.1/include/c++/4.9.1/bits/alloc_traits.h:253:4: required from 'static std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> std::allocator_traits<_Alloc>::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = SmartPtr<Candidate>; _Args = {SmartPtr<Candidate, Counted<Candidate, auto_delete_ptr<Candidate> > >}; _Alloc = std::allocator<std::_Rb_tree_node<SmartPtr<Candidate> > >; std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> = void]' /opt/gcc-4.9.1/include/c++/4.9.1/bits/alloc_traits.h:399:57: Segmentation fault SmartPtr(const SmartPtr<T, C>& other) { ^ 0x94f9ff crash_signal ../../gcc-4.9.1/gcc/toplev.c:337 0x965b2e is_ubsan_builtin_p(tree_node*) ../../gcc-4.9.1/gcc/ubsan.c:530 0x597086 dump_expr ../../gcc-4.9.1/gcc/cp/error.c:2026 0x595f30 dump_type ../../gcc-4.9.1/gcc/cp/error.c:552 0x5950f6 dump_type_prefix ../../gcc-4.9.1/gcc/cp/error.c:795 0x59893a dump_function_decl ../../gcc-4.9.1/gcc/cp/error.c:1489 0x59a066 decl_to_string ../../gcc-4.9.1/gcc/cp/error.c:2839 0x59a066 cp_printer ../../gcc-4.9.1/gcc/cp/error.c:3440 0xdf9a31 pp_format(pretty_printer*, text_info*) ../../gcc-4.9.1/gcc/pretty-print.c:616 0xdfa770 pp_format_verbatim(pretty_printer*, text_info*) ../../gcc-4.9.1/gcc/pretty-print.c:675 0xdfa84d pp_verbatim(pretty_printer*, char const*, ...) ../../gcc-4.9.1/gcc/pretty-print.c:871 0x5946e3 print_instantiation_partial_context_line ../../gcc-4.9.1/gcc/cp/error.c:3336 0x5946e3 print_instantiation_partial_context ../../gcc-4.9.1/gcc/cp/error.c:3336 0x599183 cp_diagnostic_starter ../../gcc-4.9.1/gcc/cp/error.c:3037 0xdf7758 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) ../../gcc-4.9.1/gcc/diagnostic.c:798 0xdf7f14 warning_at(unsigned int, int, char const*, ...) ../../gcc-4.9.1/gcc/diagnostic.c:984 0x5ea3ab perform_member_init ../../gcc-4.9.1/gcc/cp/init.c:591 0x5ea3ab emit_mem_initializers(tree_node*) ../../gcc-4.9.1/gcc/cp/init.c:1132 0x5657b6 tsubst_expr ../../gcc-4.9.1/gcc/cp/pt.c:13424 0x564fd4 tsubst_expr ../../gcc-4.9.1/gcc/cp/pt.c:13418 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.