* Go patch committed: Fix calls to integer_type
@ 2016-09-23 18:00 Ian Lance Taylor
0 siblings, 0 replies; only message in thread
From: Ian Lance Taylor @ 2016-09-23 18:00 UTC (permalink / raw)
To: gcc-patches, gofrontend-dev
[-- Attachment #1: Type: text/plain, Size: 543 bytes --]
The code in the Gcc_backend constructor in the Go frontend incorrectly
calls integer_type with a size argument followed by a sign flag, but
the signature of integer_type is reversed: a sign flag followed by the
size. This patch by Chris Manghane fixes the problem. This is GCC PR
77701. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.
Committed to mainline.
Ian
2016-09-23 Chris Manghane <cmang@google.com>
PR go/77701
* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
to pass arguments in the correct order.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 1763 bytes --]
Index: gcc/go/go-gcc.cc
===================================================================
--- gcc/go/go-gcc.cc (revision 240382)
+++ gcc/go/go-gcc.cc (working copy)
@@ -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),
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-09-23 17:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-23 18:00 Go patch committed: Fix calls to integer_type Ian Lance Taylor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).