Update to 0.53.2
This commit is contained in:
parent
7a6519430e
commit
2994b6073d
1
.gitignore
vendored
1
.gitignore
vendored
@ -116,3 +116,4 @@
|
||||
/vala-0.52.4.tar.xz
|
||||
/vala-0.52.5.tar.xz
|
||||
/vala-0.53.1.tar.xz
|
||||
/vala-0.53.2.tar.xz
|
||||
|
||||
@ -1,137 +0,0 @@
|
||||
From c0121583cee85656862516e689f8b63555a0ff20 Mon Sep 17 00:00:00 2001
|
||||
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Date: Tue, 31 Aug 2021 16:28:05 +0200
|
||||
Subject: [PATCH] codegen: Add missing cast to access base-class members in
|
||||
class/static ctor
|
||||
|
||||
Regression of 9cbd53b8d79aa4c394ddf49e766f2c15fc476906
|
||||
|
||||
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1221
|
||||
---
|
||||
codegen/valaccodebasemodule.vala | 8 +++++++-
|
||||
tests/objects/fields.c-expected | 16 ++++++++++++++++
|
||||
tests/objects/fields.vala | 20 ++++++++++++++++++++
|
||||
3 files changed, 43 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
|
||||
index 54fc3e184..f7321b72a 100644
|
||||
--- a/codegen/valaccodebasemodule.vala
|
||||
+++ b/codegen/valaccodebasemodule.vala
|
||||
@@ -2622,7 +2622,13 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
|
||||
cast = call;
|
||||
} else {
|
||||
// Accessing the member from a static or class constructor
|
||||
- cast = new CCodeIdentifier ("klass");
|
||||
+ if (current_class == cl) {
|
||||
+ cast = new CCodeIdentifier ("klass");
|
||||
+ } else {
|
||||
+ call = new CCodeFunctionCall (new CCodeIdentifier (get_ccode_class_type_function (cl)));
|
||||
+ call.add_argument (new CCodeIdentifier ("klass"));
|
||||
+ cast = call;
|
||||
+ }
|
||||
}
|
||||
return cast;
|
||||
}
|
||||
diff --git a/tests/objects/fields.c-expected b/tests/objects/fields.c-expected
|
||||
index 6d7391968..03828580c 100644
|
||||
--- a/tests/objects/fields.c-expected
|
||||
+++ b/tests/objects/fields.c-expected
|
||||
@@ -701,6 +701,10 @@ faz_base_init (FazClass * klass)
|
||||
_vala_assert (FAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 42, "private_class_field == 42");
|
||||
FAZ_GET_CLASS_PRIVATE (klass)->private_class_field = 24;
|
||||
_vala_assert (FAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 24, "private_class_field == 24");
|
||||
+ _vala_assert (FOO_CLASS (klass)->public_base_class_field == 42, "public_base_class_field == 42");
|
||||
+ FOO_CLASS (klass)->public_base_class_field = 24;
|
||||
+ _vala_assert (FOO_CLASS (klass)->public_base_class_field == 24, "public_base_class_field == 24");
|
||||
+ FOO_CLASS (klass)->public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -722,6 +726,10 @@ faz_class_init (FazClass * klass,
|
||||
_vala_assert (FAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 42, "private_class_field == 42");
|
||||
FAZ_GET_CLASS_PRIVATE (klass)->private_class_field = 24;
|
||||
_vala_assert (FAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 24, "private_class_field == 24");
|
||||
+ _vala_assert (FOO_CLASS (klass)->public_base_class_field == 42, "public_base_class_field == 42");
|
||||
+ FOO_CLASS (klass)->public_base_class_field = 24;
|
||||
+ _vala_assert (FOO_CLASS (klass)->public_base_class_field == 24, "public_base_class_field == 24");
|
||||
+ FOO_CLASS (klass)->public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1000,6 +1008,10 @@ baz_base_init (BazClass * klass)
|
||||
_vala_assert (BAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 42, "private_class_field == 42");
|
||||
BAZ_GET_CLASS_PRIVATE (klass)->private_class_field = 24;
|
||||
_vala_assert (BAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 24, "private_class_field == 24");
|
||||
+ _vala_assert (BAR_CLASS (klass)->public_base_class_field == 42, "public_base_class_field == 42");
|
||||
+ BAR_CLASS (klass)->public_base_class_field = 24;
|
||||
+ _vala_assert (BAR_CLASS (klass)->public_base_class_field == 24, "public_base_class_field == 24");
|
||||
+ BAR_CLASS (klass)->public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1021,6 +1033,10 @@ baz_class_init (BazClass * klass,
|
||||
_vala_assert (BAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 42, "private_class_field == 42");
|
||||
BAZ_GET_CLASS_PRIVATE (klass)->private_class_field = 24;
|
||||
_vala_assert (BAZ_GET_CLASS_PRIVATE (klass)->private_class_field == 24, "private_class_field == 24");
|
||||
+ _vala_assert (BAR_CLASS (klass)->public_base_class_field == 42, "public_base_class_field == 42");
|
||||
+ BAR_CLASS (klass)->public_base_class_field = 24;
|
||||
+ _vala_assert (BAR_CLASS (klass)->public_base_class_field == 24, "public_base_class_field == 24");
|
||||
+ BAR_CLASS (klass)->public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static void
|
||||
diff --git a/tests/objects/fields.vala b/tests/objects/fields.vala
|
||||
index 0872045bb..e14572bd9 100644
|
||||
--- a/tests/objects/fields.vala
|
||||
+++ b/tests/objects/fields.vala
|
||||
@@ -32,6 +32,11 @@ class Faz : Foo {
|
||||
assert (private_class_field == 42);
|
||||
private_class_field = 24;
|
||||
assert (private_class_field == 24);
|
||||
+
|
||||
+ assert (public_base_class_field == 42);
|
||||
+ public_base_class_field = 24;
|
||||
+ assert (public_base_class_field == 24);
|
||||
+ public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static construct {
|
||||
@@ -42,6 +47,11 @@ class Faz : Foo {
|
||||
assert (private_class_field == 42);
|
||||
private_class_field = 24;
|
||||
assert (private_class_field == 24);
|
||||
+
|
||||
+ assert (public_base_class_field == 42);
|
||||
+ public_base_class_field = 24;
|
||||
+ assert (public_base_class_field == 24);
|
||||
+ public_base_class_field = 42;
|
||||
}
|
||||
|
||||
public void action () {
|
||||
@@ -132,6 +142,11 @@ class Baz : Bar {
|
||||
assert (private_class_field == 42);
|
||||
private_class_field = 24;
|
||||
assert (private_class_field == 24);
|
||||
+
|
||||
+ assert (public_base_class_field == 42);
|
||||
+ public_base_class_field = 24;
|
||||
+ assert (public_base_class_field == 24);
|
||||
+ public_base_class_field = 42;
|
||||
}
|
||||
|
||||
static construct {
|
||||
@@ -142,6 +157,11 @@ class Baz : Bar {
|
||||
assert (private_class_field == 42);
|
||||
private_class_field = 24;
|
||||
assert (private_class_field == 24);
|
||||
+
|
||||
+ assert (public_base_class_field == 42);
|
||||
+ public_base_class_field = 24;
|
||||
+ assert (public_base_class_field == 24);
|
||||
+ public_base_class_field = 42;
|
||||
}
|
||||
|
||||
public void action () {
|
||||
--
|
||||
2.33.0.113.g6c40894d24
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (vala-0.53.1.tar.xz) = 0bd9406de473b5448d109309babb228e4af142a9fa2f7a76b4a971dd3802a598adf5e794d08e18cf91c6abd41b113c0c7ac0a737e4667b6c351de46e4462df04
|
||||
SHA512 (vala-0.53.2.tar.xz) = 1250ef39769a408a255967f9422dc28b35865d6cf4bdc2d961e471fa20aeda7e47352835f3f544dad45192cc9d7011d736eced3aaece20f3ed689b7c65c264f0
|
||||
|
||||
10
vala.spec
10
vala.spec
@ -2,15 +2,14 @@
|
||||
%global priority 90
|
||||
|
||||
Name: vala
|
||||
Version: 0.53.1
|
||||
Release: 2%{?dist}
|
||||
Version: 0.53.2
|
||||
Release: 1%{?dist}
|
||||
Summary: A modern programming language for GNOME
|
||||
|
||||
# Most files are LGPLv2.1+, curses.vapi is 2-clause BSD
|
||||
License: LGPLv2+ and BSD
|
||||
URL: https://wiki.gnome.org/Projects/Vala
|
||||
Source0: https://download.gnome.org/sources/vala/0.53/vala-%{version}.tar.xz
|
||||
Patch0001: 0001-codegen-Add-missing-cast-to-access-base-class-member.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
@ -20,7 +19,7 @@ BuildRequires: graphviz-devel
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: make
|
||||
# only if Vala source files are patched
|
||||
BuildRequires: vala
|
||||
#BuildRequires: vala
|
||||
|
||||
# for tests
|
||||
BuildRequires: dbus-x11
|
||||
@ -192,6 +191,9 @@ make check
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Sep 08 2021 Kalev Lember <klember@redhat.com> - 0.53.2-1
|
||||
- Update to 0.53.2
|
||||
|
||||
* Tue Aug 31 2021 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.53.1-2
|
||||
- Fix regression with class members access. Resolves: rhbz#1999471
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user