Author: mdiep
Date: Fri Dec 30 12:49:42 2005
New Revision: 10803

Modified:
   trunk/languages/tcl/lib/tclbinaryops.pir
   trunk/languages/tcl/t/cmd_expr.t
Log:
tcl: Add support for [expr {"abc"<="abb"}] and other comparison ops (#38063)

Modified: trunk/languages/tcl/lib/tclbinaryops.pir
==============================================================================
--- trunk/languages/tcl/lib/tclbinaryops.pir    (original)
+++ trunk/languages/tcl/lib/tclbinaryops.pir    Fri Dec 30 12:49:42 2005
@@ -200,7 +200,7 @@ $P%i=new .TclInt
 $P%i= $I%i
 END_PIR
 
-  .binary_op2num ($S0)
+  .binary_op2($S0)
 op_gt:
 
   $S0 = <<"END_PIR"
@@ -209,7 +209,7 @@ $P%i=new .TclInt
 $P%i= $I%i
 END_PIR
 
-  .binary_op2num ($S0)
+  .binary_op2($S0)
 op_lte:
 
   $S0 = <<"END_PIR"
@@ -218,7 +218,7 @@ $P%i=new .TclInt
 $P%i= $I%i
 END_PIR
 
-  .binary_op2num ($S0)
+  .binary_op2($S0)
 op_gte:
 
   $S0 = <<"END_PIR"
@@ -227,7 +227,7 @@ $P%i=new .TclInt
 $P%i= $I%i
 END_PIR
 
-  .binary_op2num ($S0)
+  .binary_op2($S0)
 op_equal:
 
   $S0 = <<"END_PIR"

Modified: trunk/languages/tcl/t/cmd_expr.t
==============================================================================
--- trunk/languages/tcl/t/cmd_expr.t    (original)
+++ trunk/languages/tcl/t/cmd_expr.t    Fri Dec 30 12:49:42 2005
@@ -2,7 +2,7 @@
 
 use strict;
 use lib qw(tcl/t t . ../lib ../../lib ../../../lib);
-use Parrot::Test tests => 61;
+use Parrot::Test tests => 73;
 use Test::More;
 
 language_output_is("tcl",<<TCL,<<OUT,"int");
@@ -390,4 +390,76 @@ language_output_is("tcl",<<'TCL',<<'OUT'
 TCL
 0
 OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string <= (less)");
+  puts [expr {"abb"<="abc"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string <= (greater)");
+  puts [expr {"abc"<="abb"}]
+TCL
+0
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string <= (equal)");
+  puts [expr {"abc"<="abc"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string >= (less)");
+  puts [expr {"abb" >= "abc"}]
+TCL
+0
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string >= (greater)");
+  puts [expr {"abc" >= "abb"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string >= (equal)");
+  puts [expr {"abc" >= "abc"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string < (less)");
+  puts [expr {"abb" < "abc"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string < (greater)");
+  puts [expr {"abc" < "abb"}]
+TCL
+0
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string < (equal)");
+  puts [expr {"abc" < "abc"}]
+TCL
+0
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string > (less)");
+  puts [expr {"abb" > "abc"}]
+TCL
+0
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string > (greater)");
+  puts [expr {"abc" > "abb"}]
+TCL
+1
+OUT
+
+language_output_is("tcl",<<'TCL',<<'OUT',"string > (equal)");
+  puts [expr {"abc" > "abc"}]
+TCL
+0
+OUT
 

Reply via email to