From 48347769a17adb6e8fc67eafb36da3a06ca311e2 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 22 Feb 2011 03:01:29 +0000 Subject: Don't crash on erroneous type switch. From-SVN: r170386 --- gcc/go/gofrontend/parse.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gcc') diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc index fc8771c..abd75fb 100644 --- a/gcc/go/gofrontend/parse.cc +++ b/gcc/go/gofrontend/parse.cc @@ -3799,11 +3799,14 @@ Parse::switch_stat(const Label* label) // This must be a TypeSwitchGuard. switch_val = this->simple_stat(false, true, NULL, &type_switch); - if (!type_switch.found - && !switch_val->is_error_expression()) + if (!type_switch.found) { - error_at(id_loc, "expected type switch assignment"); - switch_val = Expression::make_error(id_loc); + if (switch_val == NULL + || !switch_val->is_error_expression()) + { + error_at(id_loc, "expected type switch assignment"); + switch_val = Expression::make_error(id_loc); + } } } } -- cgit v1.1