Preprocessor: fix crash in DataTree::operator=() with model local variables

Also add a regression test.

Closes: #1782
time-shift
Sébastien Villemot 2021-04-16 17:36:08 +02:00
parent 8ac65cbd35
commit caef9e266b
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
2 changed files with 8 additions and 2 deletions

@ -1 +1 @@
Subproject commit e3c716faba552bb59146b3b83d6c2fef5e650299
Subproject commit 7b3df21f11b81c83938abd982575260ab61c993a

View File

@ -16,8 +16,14 @@ theta = 2.95;
phi = 0.1;
/* The following statement is a regression test for #1782.
Here the foo variable definition depends on bar, but the symbol ID of
foo will be smaller than the symbol ID of bar. */
model_local_variable foo $\text{foo}$;
model;
#foo = (exp(b)*c)/(exp(b(+1))*c(+1));
#bar = exp(b)*c;
#foo = bar/(exp(b(+1))*c(+1));
c*theta*h^(1+psi)=(1-alpha)*y;
k = beta*(foo
*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));