summaryrefslogtreecommitdiffstats
path: root/scilab/modules/core
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre.ledru@scilab.org>2010-03-29 16:38:32 +0200
committerSylvestre Ledru <sylvestre.ledru@scilab.org>2010-03-29 16:38:32 +0200
commitdce3a63201aa419b6b97f2745326e99bb03b31b7 (patch)
tree8117438b1571fd6c5f7b3e32f99ce7b821d4c31c /scilab/modules/core
parent185131e9ce50511e26614c91e871d716402ae31b (diff)
parent0e502ef788f02fdadf9fadf031b22816adb0108f (diff)
downloadscilab-dce3a63201aa419b6b97f2745326e99bb03b31b7.zip
scilab-dce3a63201aa419b6b97f2745326e99bb03b31b7.tar.gz
Merge remote branch 'origin/5.2'
Diffstat (limited to 'scilab/modules/core')
-rw-r--r--scilab/modules/core/src/fortran/allops.f4
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_6816.dia.ref29
-rw-r--r--scilab/modules/core/tests/nonreg_tests/bug_6816.tst37
3 files changed, 69 insertions, 1 deletions
diff --git a/scilab/modules/core/src/fortran/allops.f b/scilab/modules/core/src/fortran/allops.f
index 910ef97..328a58e 100644
--- a/scilab/modules/core/src/fortran/allops.f
+++ b/scilab/modules/core/src/fortran/allops.f
@@ -66,8 +66,10 @@ c . every thing can be inserted in a list
66 elseif(fin.eq.3) then 66 elseif(fin.eq.3) then
67c . extraction 67c . extraction
68 if(icall.ne.4) then 68 if(icall.ne.4) then
69 if(rhs.eq.1) then 69 if(rhs.le.1) then
70c . a() -->a 70c . a() -->a
71 if (rhs.eq.0) rhs=rhs+1
72 call ref2val
71 goto 81 73 goto 81
72 endif 74 endif
73 nt=1 75 nt=1
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_6816.dia.ref b/scilab/modules/core/tests/nonreg_tests/bug_6816.dia.ref
new file mode 100644
index 0000000..3ede5bb
--- /dev/null
+++ b/scilab/modules/core/tests/nonreg_tests/bug_6816.dia.ref
@@ -0,0 +1,29 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2005-2010 - INRIA - Serge.Steer@inria.fr
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7// <-- Non-regression test for bug6816 -->
8//
9// <-- Bugzilla URL -->
10// http://bugzilla.scilab.org/show_bug.cgi?id=6816
11//
12// <-- Short Description -->
13//incoherent extraction when there is no index M()
14M=33;l=list(M);
15if or(M()<>M) then bugmes();quit;end
16if or(l(1)()<>M) then bugmes();quit;end
17M='xxx';l=list(M);
18if or(M()<>M) then bugmes();quit;end
19if or(l(1)()<>M) then bugmes();quit;end
20M=%s+1;l=list(M);
21if or(M()<>M) then bugmes();quit;end
22if or(l(1)()<>M) then bugmes();quit;end
23M=tlist('foo');l=list(M);
24if or(M()<>M) then bugmes();quit;end
25if or(l(1)()<>M) then bugmes();quit;end
26clear M
27M.a=33;;l=list(M);
28if or(M()<>M) then bugmes();quit;end
29if or(l(1)()<>M) then bugmes();quit;end
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_6816.tst b/scilab/modules/core/tests/nonreg_tests/bug_6816.tst
new file mode 100644
index 0000000..4430ee8
--- /dev/null
+++ b/scilab/modules/core/tests/nonreg_tests/bug_6816.tst
@@ -0,0 +1,37 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2005-2010 - INRIA - Serge.Steer@inria.fr
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- Non-regression test for bug6816 -->
9//
10// <-- Bugzilla URL -->
11// http://bugzilla.scilab.org/show_bug.cgi?id=6816
12//
13// <-- Short Description -->
14//incoherent extraction when there is no index M()
15M=33;l=list(M);
16if or(M()<>M) then pause,end
17if or(l(1)()<>M) then pause,end
18
19M='xxx';l=list(M);
20if or(M()<>M) then pause,end
21if or(l(1)()<>M) then pause,end
22
23M=%s+1;l=list(M);
24if or(M()<>M) then pause,end
25if or(l(1)()<>M) then pause,end
26
27
28M=tlist('foo');l=list(M);
29if or(M()<>M) then pause,end
30if or(l(1)()<>M) then pause,end
31
32
33clear M
34M.a=33;;l=list(M);
35if or(M()<>M) then pause,end
36if or(l(1)()<>M) then pause,end
37