From: Ian Lance Taylor Date: Sat, 23 Apr 2011 00:04:44 +0000 (+0000) Subject: Define go_unreachable to replace gcc_unreachable. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8c0d18659be4271377c1114c0cb7e225811ac914;p=gcc.git Define go_unreachable to replace gcc_unreachable. From Evan Shaw. From-SVN: r172882 --- diff --git a/gcc/go/gofrontend/README b/gcc/go/gofrontend/README index c2c9e76fd70..6d4d0b0a847 100644 --- a/gcc/go/gofrontend/README +++ b/gcc/go/gofrontend/README @@ -24,8 +24,6 @@ Issues to be faced in this transition: features such as %<%> for appropriate quoting. + Localization may be an issue. -* Use of gcc_unreachable. - This compiler works, but the code is a work in progress. Notably, the support for garbage collection is ineffective and needs a complete rethinking. The frontend pays little attention to its memory usage diff --git a/gcc/go/gofrontend/dataflow.cc b/gcc/go/gofrontend/dataflow.cc index 94f26286b50..a4661b73cbc 100644 --- a/gcc/go/gofrontend/dataflow.cc +++ b/gcc/go/gofrontend/dataflow.cc @@ -201,7 +201,7 @@ Dataflow::Compare_vars::operator()(const Named_object* no1, // We can't have two variables with the same name in the same // location. - gcc_unreachable(); + go_unreachable(); } // Class Dataflow. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index ee065bfefab..2c330ef2e46 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -148,7 +148,7 @@ Expression::do_discarding_value() void Expression::do_export(Export*) const { - gcc_unreachable(); + go_unreachable(); } // Warn that the value of the expression is not used. @@ -665,7 +665,7 @@ Expression::integer_constant_tree(mpz_t val, tree type) return build_complex(type, real, imag); } else - gcc_unreachable(); + go_unreachable(); } // Return a tree for VAL in TYPE. @@ -703,7 +703,7 @@ Expression::float_constant_tree(mpfr_t val, tree type) return build_complex(type, build_real(TREE_TYPE(type), r2), imag); } else - gcc_unreachable(); + go_unreachable(); } // Return a tree for REAL/IMAG in TYPE. @@ -731,7 +731,7 @@ Expression::complex_constant_tree(mpfr_t real, mpfr_t imag, tree type) build_real(TREE_TYPE(type), r4)); } else - gcc_unreachable(); + go_unreachable(); } // Return a tree which evaluates to true if VAL, of arbitrary integer @@ -880,7 +880,7 @@ Type_expression : public Expression tree do_get_tree(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The type which we are representing as an expression. @@ -939,7 +939,7 @@ Var_expression::do_type() else if (this->variable_->is_result_variable()) return this->variable_->result_var_value()->type(); else - gcc_unreachable(); + go_unreachable(); } // Determine the type of a reference to a variable. @@ -964,7 +964,7 @@ Var_expression::do_address_taken(bool escapes) else if (this->variable_->is_result_variable()) this->variable_->result_var_value()->set_address_taken(); else - gcc_unreachable(); + go_unreachable(); } // Get the tree for a reference to a variable. @@ -983,7 +983,7 @@ Var_expression::do_get_tree(Translate_context* context) else if (this->variable_->is_result_variable()) is_in_heap = this->variable_->result_var_value()->is_in_heap(); else - gcc_unreachable(); + go_unreachable(); if (is_in_heap) { ret = build_fold_indirect_ref_loc(this->location(), ret); @@ -1160,7 +1160,7 @@ Func_expression::do_type() else if (this->function_->is_function_declaration()) return this->function_->func_declaration_value()->type(); else - gcc_unreachable(); + go_unreachable(); } // Get the tree for a function expression without evaluating the @@ -1175,7 +1175,7 @@ Func_expression::get_tree_without_closure(Gogo* gogo) else if (this->function_->is_function_declaration()) fntype = this->function_->func_declaration_value()->type(); else - gcc_unreachable(); + go_unreachable(); // Builtin functions are handled specially by Call_expression. We // can't take their address. @@ -1198,7 +1198,7 @@ Func_expression::get_tree_without_closure(Gogo* gogo) else if (no->is_function_declaration()) fndecl = no->func_declaration_value()->get_or_make_decl(gogo, no, id); else - gcc_unreachable(); + go_unreachable(); if (fndecl == error_mark_node) return error_mark_node; @@ -1321,7 +1321,7 @@ Unknown_expression::do_lower(Gogo*, Named_object*, int) error_at(location, "unexpected reference to package"); return Expression::make_error(location); default: - gcc_unreachable(); + go_unreachable(); } } @@ -1980,7 +1980,7 @@ Float_expression::check_constant(mpfr_t val, Type* type, max_exp = 1024; break; default: - gcc_unreachable(); + go_unreachable(); } if (exp > max_exp) { @@ -2220,7 +2220,7 @@ Complex_expression::check_constant(mpfr_t real, mpfr_t imag, Type* type, max_exp = 1024; break; default: - gcc_unreachable(); + go_unreachable(); } // A NaN or Infinity always fits in the range of the type. @@ -2780,7 +2780,7 @@ Const_expression::do_get_tree(Translate_context* context) else if (TREE_CODE(type_tree) == COMPLEX_TYPE) ret = fold(convert_to_complex(type_tree, const_tree)); else - gcc_unreachable(); + go_unreachable(); return ret; } @@ -2899,12 +2899,12 @@ class Iota_expression : public Parser_expression protected: Expression* do_lower(Gogo*, Named_object*, int) - { gcc_unreachable(); } + { go_unreachable(); } // There should only ever be one of these. Expression* do_copy() - { gcc_unreachable(); } + { go_unreachable(); } }; // Make an iota expression. This is only called for one case: the @@ -3368,7 +3368,7 @@ Type_conversion_expression::do_get_tree(Translate_context* context) || expr_type->is_unsafe_pointer_type()) ret = fold(convert_to_integer(type_tree, expr_tree)); else - gcc_unreachable(); + go_unreachable(); } else if (type->float_type() != NULL) { @@ -3376,14 +3376,14 @@ Type_conversion_expression::do_get_tree(Translate_context* context) || expr_type->float_type() != NULL) ret = fold(convert_to_real(type_tree, expr_tree)); else - gcc_unreachable(); + go_unreachable(); } else if (type->complex_type() != NULL) { if (expr_type->complex_type() != NULL) ret = fold(convert_to_complex(type_tree, expr_tree)); else - gcc_unreachable(); + go_unreachable(); } else if (type->is_string_type() && expr_type->integer_type() != NULL) @@ -3649,7 +3649,7 @@ Unsafe_type_conversion_expression::do_get_tree(Translate_context* context) return convert_to_integer(type_tree, expr_tree); } else - gcc_unreachable(); + go_unreachable(); if (use_view_convert) return fold_build1_loc(loc, VIEW_CONVERT_EXPR, type_tree, expr_tree); @@ -3977,7 +3977,7 @@ Unary_expression::eval_integer(Operator op, Type* utype, mpz_t uval, mpz_t val, case OPERATOR_MULT: return false; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4001,7 +4001,7 @@ Unary_expression::eval_float(Operator op, mpfr_t uval, mpfr_t val) case OPERATOR_MULT: return false; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4028,7 +4028,7 @@ Unary_expression::eval_complex(Operator op, mpfr_t rval, mpfr_t ival, case OPERATOR_MULT: return false; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4114,7 +4114,7 @@ Unary_expression::do_type() } default: - gcc_unreachable(); + go_unreachable(); } } @@ -4155,7 +4155,7 @@ Unary_expression::do_determine_type(const Type_context* context) break; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4202,7 +4202,7 @@ Unary_expression::do_check_types(Gogo*) break; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4312,7 +4312,7 @@ Unary_expression::do_get_tree(Translate_context* context) } default: - gcc_unreachable(); + go_unreachable(); } } @@ -4338,7 +4338,7 @@ Unary_expression::do_export(Export* exp) const case OPERATOR_AND: case OPERATOR_MULT: default: - gcc_unreachable(); + go_unreachable(); } this->expr_->export_expression(exp); } @@ -4364,7 +4364,7 @@ Unary_expression::do_import(Import* imp) op = OPERATOR_XOR; break; default: - gcc_unreachable(); + go_unreachable(); } imp->require_c_string(" "); Expression* expr = Expression::import_expression(imp); @@ -4429,7 +4429,7 @@ Binary_expression::compare_integer(Operator op, mpz_t left_val, case OPERATOR_GE: return i >= 0; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4469,7 +4469,7 @@ Binary_expression::compare_float(Operator op, Type* type, mpfr_t left_val, case OPERATOR_GE: return i >= 0; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4510,7 +4510,7 @@ Binary_expression::compare_complex(Operator op, Type* type, case OPERATOR_NOTEQ: return !is_equal; default: - gcc_unreachable(); + go_unreachable(); } } @@ -4617,7 +4617,7 @@ Binary_expression::eval_integer(Operator op, Type* left_type, mpz_t left_val, } break; default: - gcc_unreachable(); + go_unreachable(); } Type* type = left_type; @@ -4702,7 +4702,7 @@ Binary_expression::eval_float(Operator op, Type* left_type, mpfr_t left_val, case OPERATOR_RSHIFT: return false; default: - gcc_unreachable(); + go_unreachable(); } Type* type = left_type; @@ -5061,7 +5061,7 @@ Binary_expression::eval_complex(Operator op, Type* left_type, case OPERATOR_RSHIFT: return false; default: - gcc_unreachable(); + go_unreachable(); } Type* type = left_type; @@ -5619,7 +5619,7 @@ Binary_expression::do_type() return this->left_->type(); default: - gcc_unreachable(); + go_unreachable(); } } @@ -5810,7 +5810,7 @@ Binary_expression::check_operator_type(Operator op, Type* type, break; default: - gcc_unreachable(); + go_unreachable(); } return true; @@ -5976,7 +5976,7 @@ Binary_expression::do_get_tree(Translate_context* context) code = BIT_AND_EXPR; break; default: - gcc_unreachable(); + go_unreachable(); } tree type = use_left_type ? TREE_TYPE(left) : TREE_TYPE(right); @@ -6145,7 +6145,7 @@ Binary_expression::do_export(Export* exp) const exp->write_c_string(" &^ "); break; default: - gcc_unreachable(); + go_unreachable(); } this->right_->export_expression(exp); exp->write_c_string(")"); @@ -6308,7 +6308,7 @@ Expression::comparison_tree(Translate_context* context, Operator op, code = GE_EXPR; break; default: - gcc_unreachable(); + go_unreachable(); } if (left_type->is_string_type() && right_type->is_string_type()) @@ -6760,7 +6760,7 @@ Builtin_call_expression::Builtin_call_expression(Gogo* gogo, else if (name == "Sizeof") this->code_ = BUILTIN_SIZEOF; else - gcc_unreachable(); + go_unreachable(); } // Return whether this is a call to recover. This is a virtual @@ -7178,7 +7178,7 @@ Builtin_call_expression::do_integer_constant_value(bool iota_is_constant, } } else - gcc_unreachable(); + go_unreachable(); mpz_set_ui(val, val_long); *ptype = NULL; return true; @@ -7307,7 +7307,7 @@ Builtin_call_expression::do_type() { case BUILTIN_INVALID: default: - gcc_unreachable(); + go_unreachable(); case BUILTIN_NEW: case BUILTIN_MAKE: @@ -7470,7 +7470,7 @@ Builtin_call_expression::do_determine_type(const Type_context* context) else if (atype->is_abstract_boolean_type()) want_type = Type::lookup_bool_type(); else - gcc_unreachable(); + go_unreachable(); subcontext.type = want_type; } } @@ -7725,7 +7725,7 @@ Builtin_call_expression::do_check_types(Gogo*) break; default: - gcc_unreachable(); + go_unreachable(); } } @@ -7741,7 +7741,7 @@ Builtin_call_expression::do_get_tree(Translate_context* context) case BUILTIN_INVALID: case BUILTIN_NEW: case BUILTIN_MAKE: - gcc_unreachable(); + go_unreachable(); case BUILTIN_LEN: case BUILTIN_CAP: @@ -7813,7 +7813,7 @@ Builtin_call_expression::do_get_tree(Translate_context* context) arg_tree); } else - gcc_unreachable(); + go_unreachable(); } else { @@ -7841,7 +7841,7 @@ Builtin_call_expression::do_get_tree(Translate_context* context) arg_tree); } else - gcc_unreachable(); + go_unreachable(); } if (val_tree == error_mark_node) @@ -7966,7 +7966,7 @@ Builtin_call_expression::do_get_tree(Translate_context* context) fnname = "__go_print_slice"; } else - gcc_unreachable(); + go_unreachable(); tree call = Gogo::call_builtin(pfndecl, location, @@ -8288,7 +8288,7 @@ Builtin_call_expression::do_get_tree(Translate_context* context) } default: - gcc_unreachable(); + go_unreachable(); } } @@ -8570,7 +8570,7 @@ Call_expression::do_is_recover_call() const void Call_expression::do_set_recover_arg(Expression*) { - gcc_unreachable(); + go_unreachable(); } // Get the type. @@ -8927,7 +8927,7 @@ Call_expression::do_get_tree(Translate_context* context) else if (interface_method != NULL) fn = this->interface_method_function(context, interface_method, &args[0]); else - gcc_unreachable(); + go_unreachable(); if (fn == error_mark_node || TREE_TYPE(fn) == error_mark_node) { @@ -10318,7 +10318,7 @@ Interface_field_reference_expression::do_check_types(Gogo*) tree Interface_field_reference_expression::do_get_tree(Translate_context*) { - gcc_unreachable(); + go_unreachable(); } // Make a reference to a field in an interface. @@ -12409,7 +12409,7 @@ class Heap_composite_expression : public Expression // this in global scope. void do_export(Export*) const - { gcc_unreachable(); } + { go_unreachable(); } private: // The composite literal which is being put on the heap. @@ -12604,7 +12604,7 @@ Type_info_expression::do_type() case TYPE_INFO_FIELD_ALIGNMENT: return Type::lookup_integer_type("uint8"); default: - gcc_unreachable(); + go_unreachable(); } } diff --git a/gcc/go/gofrontend/expressions.h b/gcc/go/gofrontend/expressions.h index a09d09a41ba..13f4fb419f8 100644 --- a/gcc/go/gofrontend/expressions.h +++ b/gcc/go/gofrontend/expressions.h @@ -877,15 +877,15 @@ class Parser_expression : public Expression void do_determine_type(const Type_context*) - { gcc_unreachable(); } + { go_unreachable(); } void do_check_types(Gogo*) - { gcc_unreachable(); } + { go_unreachable(); } tree do_get_tree(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } }; // An expression which is simply a variable. diff --git a/gcc/go/gofrontend/gogo-tree.cc b/gcc/go/gofrontend/gogo-tree.cc index 608f1665d83..c24ff98fbd4 100644 --- a/gcc/go/gofrontend/gogo-tree.cc +++ b/gcc/go/gofrontend/gogo-tree.cc @@ -972,7 +972,7 @@ Named_object::get_tree(Gogo* gogo, Named_object* function) case NAMED_OBJECT_VAR: case NAMED_OBJECT_RESULT_VAR: case NAMED_OBJECT_SINK: - gcc_unreachable(); + go_unreachable(); case NAMED_OBJECT_FUNC: { @@ -1005,7 +1005,7 @@ Named_object::get_tree(Gogo* gogo, Named_object* function) break; default: - gcc_unreachable(); + go_unreachable(); } if (TREE_TYPE(decl) == error_mark_node) @@ -2424,7 +2424,7 @@ Gogo::interface_method_table_for_type(const Interface_type* interface, fndecl = no->func_declaration_value()->get_or_make_decl(this, no, fnid); else - gcc_unreachable(); + go_unreachable(); fndecl = build_fold_addr_expr(fndecl); elt = VEC_quick_push(constructor_elt, pointers, NULL); diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 2ea6c5cf967..d9f604a5f22 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -748,7 +748,7 @@ Gogo::start_function(const std::string& name, Function_type* type, function); } else - gcc_unreachable(); + go_unreachable(); } this->package_->bindings()->add_method(ret); } @@ -849,7 +849,7 @@ Gogo::declare_function(const std::string& name, Function_type* type, return ftype->add_method_declaration(name, type, location); } else - gcc_unreachable(); + go_unreachable(); } } @@ -3211,7 +3211,7 @@ Block::traverse(Traverse* traverse) case Named_object::NAMED_OBJECT_FUNC: case Named_object::NAMED_OBJECT_FUNC_DECLARATION: // FIXME: Where will nested functions be found? - gcc_unreachable(); + go_unreachable(); case Named_object::NAMED_OBJECT_TYPE: if ((traverse_mask & Traverse::traverse_types) != 0 @@ -3229,10 +3229,10 @@ Block::traverse(Traverse* traverse) case Named_object::NAMED_OBJECT_PACKAGE: case Named_object::NAMED_OBJECT_SINK: - gcc_unreachable(); + go_unreachable(); default: - gcc_unreachable(); + go_unreachable(); } } } @@ -4109,7 +4109,7 @@ Named_object::location() const { default: case NAMED_OBJECT_UNINITIALIZED: - gcc_unreachable(); + go_unreachable(); case NAMED_OBJECT_UNKNOWN: return this->unknown_value()->location(); @@ -4130,7 +4130,7 @@ Named_object::location() const return this->result_var_value()->location(); case NAMED_OBJECT_SINK: - gcc_unreachable(); + go_unreachable(); case NAMED_OBJECT_FUNC: return this->func_value()->location(); @@ -4153,7 +4153,7 @@ Named_object::export_named_object(Export* exp) const default: case NAMED_OBJECT_UNINITIALIZED: case NAMED_OBJECT_UNKNOWN: - gcc_unreachable(); + go_unreachable(); case NAMED_OBJECT_CONST: this->const_value()->export_const(exp, this->name_); @@ -4179,7 +4179,7 @@ Named_object::export_named_object(Export* exp) const case NAMED_OBJECT_RESULT_VAR: case NAMED_OBJECT_SINK: - gcc_unreachable(); + go_unreachable(); case NAMED_OBJECT_FUNC: this->func_value()->export_func(exp, this->name_); @@ -4199,7 +4199,7 @@ Named_object::get_backend_variable(Gogo* gogo, Named_object* function) return this->result_var_value()->get_backend_variable(gogo, function, this->name_); else - gcc_unreachable(); + go_unreachable(); } // Class Bindings. @@ -4280,7 +4280,7 @@ Bindings::remove_binding(Named_object* no) return; } } - gcc_unreachable(); + go_unreachable(); } // Add a method to the list of objects. This is not added to the @@ -4346,7 +4346,7 @@ Bindings::new_definition(Named_object* old_object, Named_object* new_object) { default: case Named_object::NAMED_OBJECT_UNINITIALIZED: - gcc_unreachable(); + go_unreachable(); case Named_object::NAMED_OBJECT_UNKNOWN: { @@ -4386,7 +4386,7 @@ Bindings::new_definition(Named_object* old_object, Named_object* new_object) break; case Named_object::NAMED_OBJECT_SINK: - gcc_unreachable(); + go_unreachable(); case Named_object::NAMED_OBJECT_FUNC: if (new_object->is_function_declaration()) @@ -4595,7 +4595,7 @@ Bindings::traverse(Traverse* traverse, bool is_global) case Named_object::NAMED_OBJECT_SINK: default: - gcc_unreachable(); + go_unreachable(); } } @@ -4756,41 +4756,41 @@ Traverse::remember_expression(const Expression* expression) int Traverse::variable(Named_object*) { - gcc_unreachable(); + go_unreachable(); } int Traverse::constant(Named_object*, bool) { - gcc_unreachable(); + go_unreachable(); } int Traverse::function(Named_object*) { - gcc_unreachable(); + go_unreachable(); } int Traverse::block(Block*) { - gcc_unreachable(); + go_unreachable(); } int Traverse::statement(Block*, size_t*, Statement*) { - gcc_unreachable(); + go_unreachable(); } int Traverse::expression(Expression**) { - gcc_unreachable(); + go_unreachable(); } int Traverse::type(Type*) { - gcc_unreachable(); + go_unreachable(); } diff --git a/gcc/go/gofrontend/lex.cc b/gcc/go/gofrontend/lex.cc index ce68582f945..9f26911a16c 100644 --- a/gcc/go/gofrontend/lex.cc +++ b/gcc/go/gofrontend/lex.cc @@ -198,7 +198,7 @@ Token::Token(const Token& tok) mpfr_init_set(this->u_.float_value, tok.u_.float_value, GMP_RNDN); break; default: - gcc_unreachable(); + go_unreachable(); } } @@ -237,7 +237,7 @@ Token::operator=(const Token& tok) mpfr_init_set(this->u_.float_value, tok.u_.float_value, GMP_RNDN); break; default: - gcc_unreachable(); + go_unreachable(); } return *this; } @@ -422,11 +422,11 @@ Token::print(FILE* file) const fprintf(file, "]"); break; default: - gcc_unreachable(); + go_unreachable(); } break; default: - gcc_unreachable(); + go_unreachable(); } } diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc index b2a1715660f..eeb4f5da347 100644 --- a/gcc/go/gofrontend/parse.cc +++ b/gcc/go/gofrontend/parse.cc @@ -35,7 +35,7 @@ Parse::Enclosing_var_comparison::operator()(const Enclosing_var& v1, // If we get here it means that a single nested function refers to // two different variables defined in enclosing functions, and both // variables have the same name. I think this is impossible. - gcc_unreachable(); + go_unreachable(); } // Class Parse. @@ -362,7 +362,7 @@ Parse::type_name(bool issue_error) else if (named_object->is_unknown() || named_object->is_type_declaration()) return Type::make_forward_declaration(named_object); else - gcc_unreachable(); + go_unreachable(); } // ArrayType = "[" [ ArrayLength ] "]" ElementType . @@ -2323,10 +2323,10 @@ Parse::operand(bool may_be_sink) case Named_object::NAMED_OBJECT_UNKNOWN: return Expression::make_unknown_reference(named_object, location); default: - gcc_unreachable(); + go_unreachable(); } } - gcc_unreachable(); + go_unreachable(); case Token::TOKEN_STRING: ret = Expression::make_string(token->string_value(), token->location()); @@ -3068,7 +3068,7 @@ Parse::expression_may_start_here() case Token::TOKEN_IMAGINARY: return true; default: - gcc_unreachable(); + go_unreachable(); } } @@ -3493,7 +3493,7 @@ Parse::inc_dec_stat(Expression* exp) else if (token->is_op(OPERATOR_MINUSMINUS)) this->gogo_->add_statement(Statement::make_dec_statement(exp)); else - gcc_unreachable(); + go_unreachable(); this->advance_token(); } @@ -4858,7 +4858,7 @@ Parse::break_stat() else if (enclosing->classification() == Statement::STATEMENT_SELECT) label = enclosing->select_statement()->break_label(); else - gcc_unreachable(); + go_unreachable(); this->gogo_->add_statement(Statement::make_break_statement(label, location)); @@ -4907,7 +4907,7 @@ Parse::continue_stat() else if (enclosing->classification() == Statement::STATEMENT_FOR_RANGE) label = enclosing->for_range_statement()->continue_label(); else - gcc_unreachable(); + go_unreachable(); this->gogo_->add_statement(Statement::make_continue_statement(label, location)); diff --git a/gcc/go/gofrontend/runtime.cc b/gcc/go/gofrontend/runtime.cc index fe9b099eeaa..204f14751b5 100644 --- a/gcc/go/gofrontend/runtime.cc +++ b/gcc/go/gofrontend/runtime.cc @@ -86,7 +86,7 @@ runtime_function_type(Runtime_function_type bft) { default: case RFT_VOID: - gcc_unreachable(); + go_unreachable(); case RFT_BOOL: t = Type::lookup_bool_type(); @@ -193,7 +193,7 @@ convert_to_runtime_function_type(Runtime_function_type bft, Expression* e, { default: case RFT_VOID: - gcc_unreachable(); + go_unreachable(); case RFT_BOOL: case RFT_BOOLPTR: diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc index 2fe02780aeb..7e422fc94b7 100644 --- a/gcc/go/gofrontend/statements.cc +++ b/gcc/go/gofrontend/statements.cc @@ -177,7 +177,7 @@ class Error_statement : public Statement Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } }; // Make an error statement. @@ -595,14 +595,14 @@ class Assignment_operation_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The operator (OPERATOR_PLUSEQ, etc.). @@ -677,7 +677,7 @@ Assignment_operation_statement::do_lower(Gogo*, Named_object*, op = OPERATOR_BITCLEAR; break; default: - gcc_unreachable(); + go_unreachable(); } Expression* binop = Expression::make_binary(op, lval, this->rhs_, loc); @@ -722,14 +722,14 @@ class Tuple_assignment_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // Left hand side--a list of lvalues. @@ -849,14 +849,14 @@ public: bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // Lvalue which receives the value from the map. @@ -976,14 +976,14 @@ class Map_assignment_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // A reference to the map index which should be set or deleted. @@ -1090,14 +1090,14 @@ class Tuple_receive_assignment_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // Lvalue which receives the value from the channel. @@ -1214,14 +1214,14 @@ class Tuple_type_guard_assignment_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: Call_expression* @@ -1510,14 +1510,14 @@ class Inc_dec_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The l-value to increment or decrement. @@ -1830,7 +1830,7 @@ Thunk_statement::simplify_statement(Gogo* gogo, Named_object* function, vals->push_back(first_arg); } else - gcc_unreachable(); + go_unreachable(); if (ce->args() != NULL) { @@ -1866,7 +1866,7 @@ Thunk_statement::simplify_statement(Gogo* gogo, Named_object* function, else if (this->classification() == STATEMENT_DEFER) s = Statement::make_defer_statement(call, location); else - gcc_unreachable(); + go_unreachable(); // The current block should end with the go statement. go_assert(block->statements()->size() >= 1); @@ -2750,7 +2750,7 @@ Case_clauses::Hash_integer_value::operator()(Expression* pe) const mpz_t ival; mpz_init(ival); if (!pe->integer_constant_value(true, ival, &itype)) - gcc_unreachable(); + go_unreachable(); size_t ret = mpz_get_ui(ival); mpz_clear(ival); return ret; @@ -2776,7 +2776,7 @@ Case_clauses::Eq_integer_value::operator()(Expression* a, Expression* b) const mpz_init(bval); if (!a->integer_constant_value(true, aval, &atype) || !b->integer_constant_value(true, bval, &btype)) - gcc_unreachable(); + go_unreachable(); bool ret = mpz_cmp(aval, bval) == 0; mpz_clear(aval); mpz_clear(bval); @@ -4597,7 +4597,7 @@ For_range_statement::do_lower(Gogo* gogo, Named_object*, Block* enclosing) index_temp, value_temp, &init, &cond, &iter_init, &post); else - gcc_unreachable(); + go_unreachable(); if (iter_init != NULL) body->add_statement(Statement::make_block_statement(iter_init, loc)); diff --git a/gcc/go/gofrontend/statements.h b/gcc/go/gofrontend/statements.h index 7f6401b0313..5c27c117967 100644 --- a/gcc/go/gofrontend/statements.h +++ b/gcc/go/gofrontend/statements.h @@ -990,14 +990,14 @@ class For_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The initialization statements. This may be NULL. @@ -1048,14 +1048,14 @@ class For_range_statement : public Statement bool do_traverse_assignments(Traverse_assignments*) - { gcc_unreachable(); } + { go_unreachable(); } Statement* do_lower(Gogo*, Named_object*, Block*); Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: Expression* @@ -1284,7 +1284,7 @@ class Switch_statement : public Statement Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The value to switch on. This may be NULL. @@ -1430,7 +1430,7 @@ class Type_switch_statement : public Statement Bstatement* do_get_backend(Translate_context*) - { gcc_unreachable(); } + { go_unreachable(); } private: // The variable holding the value we are switching on. diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index 0107c15bf8d..86d65c1a048 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -157,7 +157,7 @@ Type::is_basic_type() const return this->base()->is_basic_type(); default: - gcc_unreachable(); + go_unreachable(); } } @@ -202,7 +202,7 @@ Type::make_non_abstract_type() case TYPE_BOOLEAN: return Type::lookup_bool_type(); default: - gcc_unreachable(); + go_unreachable(); } } @@ -407,7 +407,7 @@ Type::are_identical(const Type* t1, const Type* t2, bool errors_are_identical, return false; default: - gcc_unreachable(); + go_unreachable(); } } @@ -774,7 +774,7 @@ Type::hash_string(const std::string& s, unsigned int h) bool Type::do_check_make_expression(Expression_list*, source_location) { - gcc_unreachable(); + go_unreachable(); } // Return whether an expression has an integer value. Report an error @@ -929,7 +929,7 @@ tree Type::do_make_expression_tree(Translate_context*, Expression_list*, source_location) { - gcc_unreachable(); + go_unreachable(); } // Return a pointer to the type descriptor for this type. @@ -1194,10 +1194,10 @@ Type::type_functions(const char** hash_fn, const char** equal_fn) const case Type::TYPE_NAMED: case Type::TYPE_FORWARD: - gcc_unreachable(); + go_unreachable(); default: - gcc_unreachable(); + go_unreachable(); } } @@ -1543,7 +1543,7 @@ Type::mangled_name(Gogo* gogo) const void Type::do_export(Export*) const { - gcc_unreachable(); + go_unreachable(); } // Import a type. @@ -1627,11 +1627,11 @@ class Void_type : public Type tree do_get_init_tree(Gogo*, tree, bool) - { gcc_unreachable(); } + { go_unreachable(); } Expression* do_type_descriptor(Gogo*, Named_type*) - { gcc_unreachable(); } + { go_unreachable(); } void do_reflection(Gogo*, std::string*) const @@ -2363,23 +2363,23 @@ class Sink_type : public Type protected: tree do_get_tree(Gogo*) - { gcc_unreachable(); } + { go_unreachable(); } tree do_get_init_tree(Gogo*, tree, bool) - { gcc_unreachable(); } + { go_unreachable(); } Expression* do_type_descriptor(Gogo*, Named_type*) - { gcc_unreachable(); } + { go_unreachable(); } void do_reflection(Gogo*, std::string*) const - { gcc_unreachable(); } + { go_unreachable(); } void do_mangled_name(Gogo*, std::string*) const - { gcc_unreachable(); } + { go_unreachable(); } }; // Make the sink type. @@ -3298,11 +3298,11 @@ class Nil_type : public Type Expression* do_type_descriptor(Gogo*, Named_type*) - { gcc_unreachable(); } + { go_unreachable(); } void do_reflection(Gogo*, std::string*) const - { gcc_unreachable(); } + { go_unreachable(); } void do_mangled_name(Gogo*, std::string* ret) const @@ -3434,7 +3434,7 @@ Struct_field::field_name() const else if (t->named_type() != NULL) return t->named_type()->name(); else - gcc_unreachable(); + go_unreachable(); } } } @@ -5837,7 +5837,7 @@ Interface_type::method_index(const std::string& name) const ++p, ++ret) if (p->name() == name) return ret; - gcc_unreachable(); + go_unreachable(); } // Return whether NAME is an unexported method, for better error @@ -6621,7 +6621,7 @@ Named_method::do_type() const else if (this->named_object_->is_function_declaration()) return this->named_object_->func_declaration_value()->type(); else - gcc_unreachable(); + go_unreachable(); } // Return the location of the method receiver. @@ -7024,7 +7024,7 @@ Find_type_use::type(Type* type) case Type::TYPE_NAMED: case Type::TYPE_FORWARD: default: - gcc_unreachable(); + go_unreachable(); } } @@ -7190,7 +7190,7 @@ Named_type::convert(Gogo* gogo) case TYPE_CALL_MULTIPLE_RESULT: case TYPE_NAMED: case TYPE_FORWARD: - gcc_unreachable(); + go_unreachable(); } this->named_tree_ = t; @@ -7294,7 +7294,7 @@ Named_type::create_placeholder(Gogo* gogo) case TYPE_CALL_MULTIPLE_RESULT: case TYPE_NAMED: case TYPE_FORWARD: - gcc_unreachable(); + go_unreachable(); } // Create the named type. @@ -7424,10 +7424,10 @@ Named_type::do_get_tree(Gogo* gogo) case TYPE_CALL_MULTIPLE_RESULT: case TYPE_NAMED: case TYPE_FORWARD: - gcc_unreachable(); + go_unreachable(); } - gcc_unreachable(); + go_unreachable(); } // Build a type descriptor for a named type. @@ -7964,7 +7964,7 @@ Type::method_expects_pointer(const Named_object* no) else if (no->is_function_declaration()) fntype = no->func_declaration_value()->type(); else - gcc_unreachable(); + go_unreachable(); return fntype->receiver()->type()->points_to() != NULL; } @@ -8061,7 +8061,7 @@ Type::bind_field_or_method(Gogo* gogo, const Type* type, Expression* expr, else if (st != NULL) m = st->method_function(name, NULL); else - gcc_unreachable(); + go_unreachable(); go_assert(m != NULL); if (!m->is_value_method() && expr->type()->points_to() == NULL) expr = Expression::make_unary(OPERATOR_AND, expr, location); diff --git a/gcc/go/gofrontend/types.h b/gcc/go/gofrontend/types.h index 80593793802..cf8b409e923 100644 --- a/gcc/go/gofrontend/types.h +++ b/gcc/go/gofrontend/types.h @@ -272,7 +272,7 @@ class Interface_method : public Method // called, as we always create a stub. Named_object* do_named_object() const - { gcc_unreachable(); } + { go_unreachable(); } // The type of the method. Function_type*