#!/bin/bash
#
# This file was generated by create_test_cases.py.
#
# Test that do_lower_jumps respects the lower_main_return
# flag in deciding whether to lower returns in the main
# function.
../../glsl_test optpass --quiet --input-ir 'do_lower_jumps(0, 0, 1, 0, 0)' <<EOF
((declare (in) float a) (declare (in) float b)
 (function main
  (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
