From 58b62eaab2044b7f51d389738698a10ecd1322b9 Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Wed, 15 Jul 2015 17:15:37 +0000 Subject: [PATCH] re PR libgcc/66854 (libgcc2.c:1846:9: internal compiler error: Segmentation fault) 2015-07-14 Michael Meissner PR target/66854 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for null before IEEE 128-bit floating point support patch. From-SVN: r225843 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index babf07f4901..beea890e672 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-07-14 Michael Meissner + + PR target/66854 + * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for + null before IEEE 128-bit floating point support patch. + 2015-07-15 Bill Schmidt * simplify-rtx.c (simplify_ternary_operation): Add simplification diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ed2dd84e81e..e4d3959596e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -10832,6 +10832,9 @@ rs6000_pass_by_reference (cumulative_args_t cum ATTRIBUTE_UNUSED, machine_mode mode, const_tree type, bool named ATTRIBUTE_UNUSED) { + if (!type) + return 0; + if (DEFAULT_ABI == ABI_V4 && TARGET_IEEEQUAD && FLOAT128_IEEE_P (TYPE_MODE (type))) { @@ -10840,9 +10843,6 @@ rs6000_pass_by_reference (cumulative_args_t cum ATTRIBUTE_UNUSED, return 1; } - if (!type) - return 0; - if (DEFAULT_ABI == ABI_V4 && AGGREGATE_TYPE_P (type)) { if (TARGET_DEBUG_ARG)