#!/bin/bash
#
# This file was generated by create_test_cases.py.
#
# If a loop contains a conditional break at the bottom of it,
# it should not be lowered if it is in the then-clause, even if
# there are statements preceding the break.
../../glsl_test optpass --quiet --input-ir 'do_lower_jumps(0, 0, 0, 0, 1)' <<EOF
((declare (in) float b) (declare (out) float a) (declare (out) float c)
 (function main
  (signature void (parameters)
   ((loop () () () ()
     ((assign (x) (var_ref a) (constant float (1.000000)))
      (if (expression bool > (var_ref b) (constant float (0.000000)))
       ((assign (x) (var_ref c) (constant float (1.000000))) break)
       ())))))))
EOF
