summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2022-01-24 10:17:46 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2022-01-24 10:20:18 +0100
commitca3da69b2bda18b8b081c2dae48f2ccff93f165a (patch)
tree4a5d98fd5a04e3a23d1fde2b11c345094dd11f07 /codegen
parent8105d9e3fa7e89187de1083a7b7ec3bf4c60c002 (diff)
downloadvala-ca3da69b2bda18b8b081c2dae48f2ccff93f165a.tar.gz
codegen: Access of stack allocated struct is guaranteed to be non null
Found by -Werror=address with GCC 12 See https://gitlab.gnome.org/GNOME/vala/issues/1282
Diffstat (limited to 'codegen')
-rw-r--r--codegen/valaccodebasemodule.vala2
1 files changed, 2 insertions, 0 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 9ebcfbac6..2e34003f1 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -5593,6 +5593,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
innercexpr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, innercexpr);
}
set_cvalue (expr, new CCodeCastExpression (innercexpr, get_ccode_name (expr.type_reference)));
+ //TODO Use get_non_null (expr.inner.target_value)
+ ((GLibValue) expr.target_value).non_null = expr.is_non_null ();
if (expr.type_reference is DelegateType) {
var target = get_delegate_target (expr.inner);