diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-02-05 16:05:07 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-02-05 16:05:07 +0100 |
commit | 27510903a3be8bccee4466b56808b23c149e6f0b (patch) | |
tree | 6265644689b30a9b85c0e0fdbdfa3655c45274a1 | |
parent | 8983406e5dfa37df9a5371830168b3bf70f095ad (diff) | |
download | vala-27510903a3be8bccee4466b56808b23c149e6f0b.tar.gz |
codegen: Properly handle PointerType/VoidType in get_ccode_lower_case_name()
-rw-r--r-- | codegen/valaccodebasemodule.vala | 5 | ||||
-rw-r--r-- | tests/basic-types/arrays.vala | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index ae18ce5fe..2d2632ab7 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -6069,8 +6069,13 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } else if (node is DelegateType) { var type = (DelegateType) node; return get_ccode_lower_case_name (type.delegate_symbol, infix); + } else if (node is PointerType) { + var type = (PointerType) node; + return get_ccode_lower_case_name (type.base_type, infix); } else if (node is GenericType) { return "valageneric"; + } else if (node is VoidType) { + return "valavoid"; } else { var type = (DataType) node; return get_ccode_lower_case_name (type.data_type, infix); diff --git a/tests/basic-types/arrays.vala b/tests/basic-types/arrays.vala index b3a7bafc0..fece74999 100644 --- a/tests/basic-types/arrays.vala +++ b/tests/basic-types/arrays.vala @@ -183,6 +183,14 @@ void test_generics_array () { assert (b.length == 3); } +void test_void_array () { + void*[] a = {}; + a += (void*) null; + a += (void*) null; + assert (a.length == 2); + assert ((void*) null in a); +} + void main () { test_integer_array (); test_string_array (); @@ -193,4 +201,5 @@ void main () { test_inline_array (); test_delegate_array (); test_generics_array (); + test_void_array (); } |