@@ -388,46 +388,61 @@ Base.unsafe_trunc(::Type{Int}, x::CleverType) = unsafe_trunc(Int, x.x)
388388end
389389
390390@testset " invalid LLVM IR" begin
391- foobar (i) = println (i)
391+ mod = @eval module $ (gensym ())
392+ export foobar
393+ foobar (i) = println (i)
394+ end
392395
393396 @test_throws_message (InvalidIRError,
394- Native. code_execution (foobar, Tuple{Int})) do msg
397+ Native. code_execution (mod . foobar, Tuple{Int})) do msg
395398 occursin (" invalid LLVM IR" , msg) &&
396399 (occursin (GPUCompiler. RUNTIME_FUNCTION, msg) ||
397400 occursin (GPUCompiler. UNKNOWN_FUNCTION, msg) ||
398401 occursin (GPUCompiler. DYNAMIC_CALL, msg)) &&
399402 occursin (" [1] println" , msg) &&
400- occursin (r" \[ 2 \] .* foobar" , msg)
403+ occursin (" [2] foobar" , msg)
401404 end
402405end
403406
404407@testset " invalid LLVM IR (ccall)" begin
405- foobar (p) = (unsafe_store! (p, ccall (:time , Cint, ())); nothing )
408+ mod = @eval module $ (gensym ())
409+ export foobar
410+ function foobar (p)
411+ unsafe_store! (p, ccall (:time , Cint, ()))
412+ return
413+ end
414+ end
406415
407416 @test_throws_message (InvalidIRError,
408- Native. code_execution (foobar, Tuple{Ptr{Int}})) do msg
417+ Native. code_execution (mod . foobar, Tuple{Ptr{Int}})) do msg
409418 if VERSION >= v " 1.11-"
410419 occursin (" invalid LLVM IR" , msg) &&
411420 occursin (GPUCompiler. LAZY_FUNCTION, msg) &&
412421 occursin (" call to time" , msg) &&
413- occursin (r" \[ 1 \] .* foobar" , msg)
422+ occursin (" [1] foobar" , msg)
414423 else
415424 occursin (" invalid LLVM IR" , msg) &&
416425 occursin (GPUCompiler. POINTER_FUNCTION, msg) &&
417- occursin (r" \[ 1 \] .* foobar" , msg)
426+ occursin (" [1] foobar" , msg)
418427 end
419428 end
420429end
421430
422431@testset " delayed bindings" begin
423- kernel () = (undefined; return )
432+ mod = @eval module $ (gensym ())
433+ export kernel
434+ function kernel ()
435+ undefined
436+ return
437+ end
438+ end
424439
425440 @test_throws_message (InvalidIRError,
426- Native. code_execution (kernel, Tuple{})) do msg
441+ Native. code_execution (mod . kernel, Tuple{})) do msg
427442 occursin (" invalid LLVM IR" , msg) &&
428443 occursin (GPUCompiler. DELAYED_BINDING, msg) &&
429- occursin (" use of 'undefined'" , msg) &&
430- occursin (r" \[ 1 \] .* kernel" , msg)
444+ occursin (r " use of '.* undefined'" , msg) &&
445+ occursin (" [1] kernel" , msg)
431446 end
432447end
433448
@@ -442,15 +457,18 @@ end
442457 occursin (" invalid LLVM IR" , msg) &&
443458 occursin (GPUCompiler. DYNAMIC_CALL, msg) &&
444459 occursin (" call to nospecialize_child" , msg) &&
445- occursin (r" \[ 1 \ ] kernel" , msg)
460+ occursin (" [1 ] kernel" , msg)
446461 end
447462end
448463
449464@testset " dynamic call (apply)" begin
450- func () = println (1 )
465+ mod = @eval module $ (gensym ())
466+ export func
467+ func () = println (1 )
468+ end
451469
452470 @test_throws_message (InvalidIRError,
453- Native. code_execution (func, Tuple{})) do msg
471+ Native. code_execution (mod . func, Tuple{})) do msg
454472 occursin (" invalid LLVM IR" , msg) &&
455473 occursin (GPUCompiler. DYNAMIC_CALL, msg) &&
456474 occursin (" call to println" , msg) &&
0 commit comments