stage3/array_range_check.cc
changeset 614 31bda4cde875
parent 612 c062ff18d04f
child 620 aef32856eeb5
equal deleted inserted replaced
613:65a2e5ac2576 614:31bda4cde875
    31  *
    31  *
    32  */
    32  */
    33 
    33 
    34 
    34 
    35 /*
    35 /*
    36  * TODO:
    36  * Array Range Checking:
    37  *   - Check subscript values fall within allowed range.
    37  *   - Check whether array subscript values fall within the allowed range.
    38  *     For the checking of subscript values to work correctly, we would need to have constant folding working too:
    38  *     Note that for the checking of subscript values to work correctly, we need to have constant folding working too:
    39  *     array_var[8 + 99] can not be checked without constant folding.
    39  *     array_var[8 + 99] can not be checked without constant folding.
    40  *     However, even without constant folding range check may be usefull,
       
    41  *     and later changing it to use the values coming out of constant folding should not be very difficult.
       
    42  *
       
    43  */
    40  */
    44 
    41 
    45 
    42 
    46 #include "array_range_check.hh"
    43 #include "array_range_check.hh"
    47 #include <limits>  // required for std::numeric_limits<XXX>
    44 #include <limits>  // required for std::numeric_limits<XXX>