stage3/stage3.cc
changeset 677 740da3255d9d
parent 656 45a796bce487
child 738 e47cc8c954db
equal deleted inserted replaced
676:ca4f17211251 677:740da3255d9d
    35 #include "stage3.hh"
    35 #include "stage3.hh"
    36 
    36 
    37 #include "flow_control_analysis.hh"
    37 #include "flow_control_analysis.hh"
    38 #include "fill_candidate_datatypes.hh"
    38 #include "fill_candidate_datatypes.hh"
    39 #include "narrow_candidate_datatypes.hh"
    39 #include "narrow_candidate_datatypes.hh"
       
    40 #include "forced_narrow_candidate_datatypes.hh"
    40 #include "print_datatypes_error.hh"
    41 #include "print_datatypes_error.hh"
    41 #include "lvalue_check.hh"
    42 #include "lvalue_check.hh"
    42 #include "array_range_check.hh"
    43 #include "array_range_check.hh"
    43 #include "constant_folding.hh"
    44 #include "constant_folding.hh"
    44 #include "declaration_check.hh"
    45 #include "declaration_check.hh"
    77 	tree_root->accept(fill_candidate_datatypes);
    78 	tree_root->accept(fill_candidate_datatypes);
    78 	narrow_candidate_datatypes_c narrow_candidate_datatypes(tree_root);
    79 	narrow_candidate_datatypes_c narrow_candidate_datatypes(tree_root);
    79 	tree_root->accept(narrow_candidate_datatypes);
    80 	tree_root->accept(narrow_candidate_datatypes);
    80 	print_datatypes_error_c print_datatypes_error(tree_root);
    81 	print_datatypes_error_c print_datatypes_error(tree_root);
    81 	tree_root->accept(print_datatypes_error);
    82 	tree_root->accept(print_datatypes_error);
       
    83 	forced_narrow_candidate_datatypes_c forced_narrow_candidate_datatypes(tree_root);
       
    84 	tree_root->accept(forced_narrow_candidate_datatypes);
    82 	return print_datatypes_error.get_error_count();
    85 	return print_datatypes_error.get_error_count();
    83 }
    86 }
    84 
    87 
    85 
    88 
    86 /* Left value checking assumes that data type analysis has already been completed,
    89 /* Left value checking assumes that data type analysis has already been completed,