On Thu, Jun 15, 2017 at 11:31 PM, Jason Merrill <ja...@redhat.com> wrote: > On Thu, Jun 15, 2017 at 12:26 PM, Martin Sebor <mse...@gmail.com> wrote: >> On 06/12/2017 03:36 PM, Jason Merrill wrote: >>> >>> On 06/08/2017 01:25 PM, Martin Sebor wrote: >>>> >>>> + if (TREE_CHAIN (DECL_ARGUMENTS (f))) >>>> + { >>>> + /* Skip constructors that aren't copy or move ctors. */ >>>> + if (!copy_fn_p (f)) >>>> + continue; >>>> + >>>> + cpy_or_move_ctor_p = true; >>>> + } >>>> + else >>>> + { >>>> + /* Constructor is a default ctor. */ >>>> + cpy_or_move_ctor_p = false; >>>> + } >>> >>> A default constructor can have parameters, so long as they have default >>> arguments. You can use default_ctor_p to test for a default constructor. >> >> Thank you for the suggestion. Attached is an incremental diff >> with this tweak plus a test for it. >> >> The code above has been there in the last three revisions of >> the patch > > Yeah, I don't always notice everything :) > >> are there any other changes you'd like me to make? > > No, the patch is OK with this change.
This broke build with GCC 4.8 as host compiler: g++ -fno-PIE -c -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/space/rguenther/src/svn/early-lto-debug/gcc -I/space/rguenther/src/svn/early-lto-debug/gcc/. -I/space/rguenther/src/svn/early-lto-debug/gcc/../include -I/space/rguenther/src/svn/early-lto-debug/gcc/../libcpp/include -I/space/rguenther/src/svn/early-lto-debug/gcc/../libdecnumber -I/space/rguenther/src/svn/early-lto-debug/gcc/../libdecnumber/bid -I../libdecnumber -I/space/rguenther/src/svn/early-lto-debug/gcc/../libbacktrace -o tree-switch-conversion.o -MT tree-switch-conversion.o -MMD -MP -MF ./.deps/tree-switch-conversion.TPo /space/rguenther/src/svn/early-lto-debug/gcc/tree-switch-conversion.c /space/rguenther/src/svn/early-lto-debug/gcc/tree-switch-conversion.c: In function ‘void emit_case_bit_tests(gswitch*, tree, tree, tree, tree)’: /space/rguenther/src/svn/early-lto-debug/gcc/tree-switch-conversion.c:271:53: warning: missing initializer for member ‘case_bit_test::mask’ [-Wmissing-field-initializers] struct case_bit_test test[MAX_CASE_BIT_TESTS] = { }; ^ ... /space/rguenther/src/svn/early-lto-debug/gcc/tree-switch-conversion.c:271:53: internal compiler error: in gimplify_init_constructor, at gimplify.c:4271 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugs.opensuse.org/> for instructions. Makefile:1102: recipe for target 'tree-switch-conversion.o' failed make: *** [tree-switch-conversion.o] Error 1 Please fix. Richard. > Jason