diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/analyzer/region-model-manager.cc | 2 | ||||
-rw-r--r-- | gcc/analyzer/region-model.cc | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/analyzer/region-model-manager.cc b/gcc/analyzer/region-model-manager.cc index 4feb349..f155eeb 100644 --- a/gcc/analyzer/region-model-manager.cc +++ b/gcc/analyzer/region-model-manager.cc @@ -616,6 +616,8 @@ maybe_undo_optimize_bit_field_compare (tree type, tree cst, const svalue *arg1) { + if (!type) + return nullptr; if (!INTEGRAL_TYPE_P (type)) return NULL; diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc index 902b887..98f2871 100644 --- a/gcc/analyzer/region-model.cc +++ b/gcc/analyzer/region-model.cc @@ -5781,7 +5781,8 @@ apply_constraints_for_gswitch (const switch_cfg_superedge &edge, && is_a <const initial_svalue *> (unaryop->get_arg ())) if (const initial_svalue *initvalop = (as_a <const initial_svalue *> (unaryop->get_arg ()))) - if (TREE_CODE (initvalop->get_type ()) == ENUMERAL_TYPE) + if (initvalop->get_type () + && TREE_CODE (initvalop->get_type ()) == ENUMERAL_TYPE) { index_sval = initvalop; check_index_type = false; |