From: Jürg Billeter Date: Thu, 9 Sep 2010 15:58:10 +0000 (+0200) Subject: codegen: Report error on unsupported use of array concatenation X-Git-Tag: 0.11.0~74 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fkeep-around%2F89c0afc73b3d0d9aa34403f831361610c1bddf45;p=thirdparty%2Fvala.git codegen: Report error on unsupported use of array concatenation --- diff --git a/codegen/valaccodearraymodule.vala b/codegen/valaccodearraymodule.vala index 6db8f301f..b75502aab 100644 --- a/codegen/valaccodearraymodule.vala +++ b/codegen/valaccodearraymodule.vala @@ -961,6 +961,15 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule { ccall.add_argument (handle_struct_argument (value_param, element, (CCodeExpression) element.ccodenode)); assignment.ccodenode = ccall; + + var array_var = assignment.left.symbol_reference; + var array_local = array_var as LocalVariable; + if (array_type.rank == 1 && array_var != null && array_var.is_internal_symbol () + && ((array_var is LocalVariable && !array_local.captured) || array_var is Field)) { + // valid array add + } else { + Report.error (assignment.source_reference, "Array concatenation not supported for public array variables"); + } } public override void generate_parameter (FormalParameter param, CCodeFile decl_space, Map cparam_map, Map? carg_map) {