From fdbda43d03daa9e91ce1f88540c163fee8c0eab4 Mon Sep 17 00:00:00 2001 From: Chris Manghane Date: Fri, 23 Sep 2016 17:55:53 +0000 Subject: [PATCH] re PR go/77701 (suspicious code in go/go-gcc.cc) PR go/77701 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type to pass arguments in the correct order. From-SVN: r240451 --- gcc/go/ChangeLog | 6 ++++++ gcc/go/go-gcc.cc | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 16bc2b7466f..25e52745bf7 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,9 @@ +2016-09-23 Chris Manghane + + PR go/77701 + * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type + to pass arguments in the correct order. + 2016-09-22 Ian Lance Taylor * go-gcc.cc (Gcc_backend::Gcc_backend): Declare diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc index f9ba9d59c1b..57c2bee7a58 100644 --- a/gcc/go/go-gcc.cc +++ b/gcc/go/go-gcc.cc @@ -651,25 +651,25 @@ Gcc_backend::Gcc_backend() { /* We need to define the fetch_and_add functions, since we use them for ++ and --. */ - tree t = this->integer_type(BITS_PER_UNIT, 1)->get_tree(); + tree t = this->integer_type(true, BITS_PER_UNIT)->get_tree(); tree p = build_pointer_type(build_qualified_type(t, TYPE_QUAL_VOLATILE)); this->define_builtin(BUILT_IN_SYNC_ADD_AND_FETCH_1, "__sync_fetch_and_add_1", NULL, build_function_type_list(t, p, t, NULL_TREE), false, false); - t = this->integer_type(BITS_PER_UNIT * 2, 1)->get_tree(); + t = this->integer_type(true, BITS_PER_UNIT * 2)->get_tree(); p = build_pointer_type(build_qualified_type(t, TYPE_QUAL_VOLATILE)); this->define_builtin(BUILT_IN_SYNC_ADD_AND_FETCH_2, "__sync_fetch_and_add_2", NULL, build_function_type_list(t, p, t, NULL_TREE), false, false); - t = this->integer_type(BITS_PER_UNIT * 4, 1)->get_tree(); + t = this->integer_type(true, BITS_PER_UNIT * 4)->get_tree(); p = build_pointer_type(build_qualified_type(t, TYPE_QUAL_VOLATILE)); this->define_builtin(BUILT_IN_SYNC_ADD_AND_FETCH_4, "__sync_fetch_and_add_4", NULL, build_function_type_list(t, p, t, NULL_TREE), false, false); - t = this->integer_type(BITS_PER_UNIT * 8, 1)->get_tree(); + t = this->integer_type(true, BITS_PER_UNIT * 8)->get_tree(); p = build_pointer_type(build_qualified_type(t, TYPE_QUAL_VOLATILE)); this->define_builtin(BUILT_IN_SYNC_ADD_AND_FETCH_8, "__sync_fetch_and_add_8", NULL, build_function_type_list(t, p, t, NULL_TREE),