summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac38
-rw-r--r--test/ragel.d/gotocallret1.rl2
-rw-r--r--test/ragel.d/julia1.rl3
-rw-r--r--test/ragel.d/trans-julia.lm11
4 files changed, 35 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index fdb99f5f..e9ff3652 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,13 +264,6 @@ if test "x$D_BIN" = x; then
fi
AC_PATH_PROG([JAVAC_BIN], [javac])
-AC_PATH_PROG([RUBY_BIN], [ruby])
-AC_PATH_PROG([CSHARP_BIN], [mcs])
-AC_PATH_PROG([GO_BIN], [go])
-AC_PATH_PROG([OCAML_BIN], [ocaml])
-AC_PATH_PROG([RUST_BIN], [rustc])
-AC_PATH_PROG([JULIA_BIN], [julia])
-AC_PATH_PROG([GNUSTEP_CONFIG], [gnustep-config])
dnl
dnl Java test cases are now requring a large virtual address space. On systems
@@ -289,6 +282,12 @@ if test "x$JAVAC_BIN" != x; then
rm -f conftest.java conftest.class
fi
+AC_PATH_PROG([RUBY_BIN], [ruby])
+AC_PATH_PROG([CSHARP_BIN], [mcs])
+AC_PATH_PROG([GO_BIN], [go])
+AC_PATH_PROG([OCAML_BIN], [ocaml])
+AC_PATH_PROG([RUST_BIN], [rustc])
+AC_PATH_PROG([JULIA_BIN], [julia])
dnl
dnl Julia requires a large virtual address space. On systems where this is
@@ -307,11 +306,26 @@ if test "x$JULIA_BIN" != x; then
rm -f conftest.jl
fi
-dnl
-dnl Disable julia tests until we can sort out how to adapt to the changes to
-dnl the language that are in more recent distros.
-dnl
-JULIA_BIN=""
+dnl We can run julia, now make sure we have 1.0
+if test "x$JULIA_BIN" != x; then
+ echo -n "checking if julia is version 1.0 or later ... "
+
+ dnl We assume the form "julia version X.X.X"
+ dnl 1. everything before the version number.
+ dnl 2. Remove trailing version.
+ dnl 3. Verify it is plain number greater than 1.
+ dnl Any failure comes out as empty string. Note the sed command is wrapped
+ dnl in [] so autotools do not interpret anything in it.
+ JULIA1="`$JULIA_BIN -v | sed ['s/[A-Za-z ]\+//g; s/\.[0-9\.]*//; /^[1-9][0-9]*/!d;']`"
+ if test "x$JULIA1" != x; then
+ echo "yes"
+ else
+ JULIA_BIN=""
+ echo "no"
+ fi
+fi
+
+AC_PATH_PROG([GNUSTEP_CONFIG], [gnustep-config])
dnl
dnl The ASM tests have been based off of sources that are non-relocatable
diff --git a/test/ragel.d/gotocallret1.rl b/test/ragel.d/gotocallret1.rl
index 869349b6..92ebb983 100644
--- a/test/ragel.d/gotocallret1.rl
+++ b/test/ragel.d/gotocallret1.rl
@@ -44,7 +44,7 @@ int stack[32];
# Choose which to machine to call into based on the command.
action comm_arg {
- if ( comm >= 'a' ) {
+ if ( comm >= 97 ) {
fcall alp_comm;
} else {
fcall dig_comm;
diff --git a/test/ragel.d/julia1.rl b/test/ragel.d/julia1.rl
index df11994f..4b349908 100644
--- a/test/ragel.d/julia1.rl
+++ b/test/ragel.d/julia1.rl
@@ -10,7 +10,8 @@
%% write data;
-function test( data::AbstractString )
+function test( data_string::AbstractString )
+ data = Vector{UInt8}( data_string )
p = 0
pe = length(data)
eof = length(data)
diff --git a/test/ragel.d/trans-julia.lm b/test/ragel.d/trans-julia.lm
index d67635bf..cf153c64 100644
--- a/test/ragel.d/trans-julia.lm
+++ b/test/ragel.d/trans-julia.lm
@@ -175,7 +175,7 @@ int print_stmt( Stmt: indep::print_stmt )
case [`print_token `;]
{
send Out
- "print( data\[(ts+1) : (te)\] );
+ "print( String( data\[(ts+1) : (te)\] ) );
}
case [`print_off `;]
{
@@ -193,7 +193,7 @@ void buf_stmt( BufStmt: indep::buf_stmt )
}
case [`buf_append `( `) `;] {
send Out
- " buffer = buffer * AbstractString(Char\[fc\]);
+ " buffer = buffer * String(Char\[fc\]);
}
}
@@ -284,7 +284,8 @@ void julia( Output: stream )
"
"%% write data;
"
- "function m( data::AbstractString )
+ "function m( data_string::AbstractString )
+ " data = Vector{UInt8}( data_string )
" p = 0
" pe = length(data)
" eof = length(data)
@@ -292,8 +293,8 @@ void julia( Output: stream )
" buffer = \"\"
" nfa_len = 0
" nfa_count = 0
- " nfa_bp_state = Array{Int, 1}(20)
- " nfa_bp_p = Array{Int, 1}(20)
+ " nfa_bp_state = Array{Int, 1}(undef, 20)
+ " nfa_bp_p = Array{Int, 1}(undef, 20)
Init: indep::stmt* = RagelTree.Init
for Stmt: indep::stmt in Init {