#!/bin/bash
#
# This file was generated by create_test_cases.py.
#
# Test that do_lower_jumps respects the lower_sub_return flag
# in deciding whether to lower returns in subroutines.
../../glsl_test optpass --quiet --input-ir 'do_lower_jumps(0, 0, 0, 0, 0)' <<EOF
((declare (in) float a) (declare (in) float b)
 (function sub
  (signature void (parameters)
   ((if (expression bool > (var_ref a) (constant float (0.000000)))
     ((if (expression bool > (var_ref b) (constant float (0.000000)))
       ((return))
       ()))
     ())))))
EOF
