From 88f6998b1235a9c7c51ddb5c3868331a6d128711 Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Thu, 9 Apr 2015 11:03:42 -0700 Subject: [PATCH] Improve support for C++ functions within structs/classes --- modules/compiler_vm/languages/_c_base.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/compiler_vm/languages/_c_base.pm b/modules/compiler_vm/languages/_c_base.pm index 0372baa3..edd91556 100755 --- a/modules/compiler_vm/languages/_c_base.pm +++ b/modules/compiler_vm/languages/_c_base.pm @@ -312,6 +312,10 @@ sub preprocess_code { $precode =~ s/^{(.*)}$/$1/s; if(not $has_main and not exists $self->{options}->{'-nomain'}) { + if ($precode =~ s/^(};?)//) { + $self->{code} .= $1; + } + $self->{code} = "$prelude\n$self->{code}\n" . "int main(void) {\n$precode\n;\nreturn 0;\n}\n"; } else { $self->{code} = "$prelude\n$self->{code}\n";