GNOME Bugzilla – Bug 608548
Regression: not able to call multiple struct constructors in constructor
Last modified: 2010-02-01 11:22:02 UTC
This snippet public class Foo : Object { private Foo() { var tv1 = TimeVal(); var tv2 = TimeVal(); } } results in error: Multiple constructor calls in the same constructor are not permitted var tv2 = TimeVal();
Looks like this is the culprit: http://git.gnome.org/browse/vala/commit/?id=e42d65d7856ab1f9ab048daf5749951f7d1c9f20
This commit broke gnome-dvb-daemon build, too. ** CRITICAL **: vala_ccode_fragment_append: assertion `node != NULL' failed aborting... Program received signal SIGABRT, Aborted. 0x00007ffff71444b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. ---Type <return> to continue, or q <return> to quit--- in ../nptl/sysdeps/unix/sysv/linux/raise.c (gdb) bt
+ Trace 220318
Finally, gcc complains, too (not sure if that's related or not): src/RecordingsStore.c: In function 'dvb_recordings_store_restore_from_dir': src/RecordingsStore.c:899: error: duplicate label '__catch45_g_error' src/RecordingsStore.c:830: note: previous definition of '__catch45_g_error' was here src/RecordingsStore.c:909: error: duplicate label '__finally45' src/RecordingsStore.c:840: note: previous definition of '__finally45' was here src/RecordingsStore.c:965: error: duplicate label '__catch45_g_error' src/RecordingsStore.c:830: note: previous definition of '__catch45_g_error' was here src/RecordingsStore.c:975: error: duplicate label '__finally45' src/RecordingsStore.c:840: note: previous definition of '__finally45' was here src/RecordingsStore.c:1048: error: duplicate label '__catch45_g_error' src/RecordingsStore.c:830: note: previous definition of '__catch45_g_error' was here src/RecordingsStore.c:1058: error: duplicate label '__finally45' src/RecordingsStore.c:840: note: previous definition of '__finally45' was here make[2]: *** [src/gnome_dvb_daemon-RecordingsStore.o] Error 1
Created attachment 152645 [details] [review] Bug 608548 - Regression: not able to call multiple struct constructors
Turns out my issue is not related, I filed a separate bug 608553. Sorry, for the noise.
Confirming, breaks fsogsmd as well.
The patch doesn't look right. Unless I'm missing something, this would break chaining up for structs again.
commit 6f42cc9b284f1258698c9f64222df407457a3395 Author: Jürg Billeter <j@bitron.ch> Date: Mon Feb 1 12:18:31 2010 +0100 Do not consider struct creation as chain-up Fixes bug 608548.