diff --git a/gcc.spec b/gcc.spec index ca14258..ab4e98d 100644 --- a/gcc.spec +++ b/gcc.spec @@ -256,6 +256,7 @@ Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch Patch12: gcc9-pr89014.patch Patch13: gcc9-pr89093.patch +Patch14: gcc9-pr89368.patch Patch1000: nvptx-tools-no-ptxas.patch Patch1001: nvptx-tools-build.patch @@ -768,6 +769,7 @@ to NVidia PTX capable devices if available. %patch11 -p0 -b .d-shared-libphobos~ %patch12 -p0 -b .pr89014~ %patch13 -p0 -b .pr89093~ +%patch14 -p0 -b .pr89368~ cd nvptx-tools-%{nvptx_tools_gitrev} %patch1000 -p1 -b .nvptx-tools-no-ptxas~ diff --git a/gcc9-pr89368.patch b/gcc9-pr89368.patch new file mode 100644 index 0000000..7fbd421 --- /dev/null +++ b/gcc9-pr89368.patch @@ -0,0 +1,20 @@ +--- gcc/go/gofrontend/wb.cc (revision 268947) ++++ gcc/go/gofrontend/wb.cc (revision 268948) +@@ -904,7 +904,8 @@ Gogo::check_write_barrier(Block* enclosi + ref = Expression::make_unary(OPERATOR_AND, ref, loc); + ref = Expression::make_cast(unsafe_pointer_type, ref, loc); + ref = Expression::make_cast(puint32_type, ref, loc); +- ref = Expression::make_unary(OPERATOR_MULT, ref, loc); ++ ref = Expression::make_dereference(ref, ++ Expression::NIL_CHECK_NOT_NEEDED, loc); + Expression* zero = Expression::make_integer_ul(0, ref->type(), loc); + Expression* cond = Expression::make_binary(OPERATOR_EQEQ, ref, zero, loc); + +--- gcc/go/gofrontend/MERGE (revision 268947) ++++ gcc/go/gofrontend/MERGE (revision 268948) +@@ -1,4 +1,4 @@ +-0563f2d018cdb2cd685c254bac5ceb38396d0a27 ++1a74b8a22b2ff7f430729aa87ecb8cea7b5cdd70 + + The first line of this file holds the git revision number of the last + merge done from the gofrontend repository.