aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-11-17 01:41:13 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-11-17 01:41:13 +0000
commitb58a864da35143bcacd42ba99846886213fdf78c (patch)
tree7c0e97ffefe3d517b2b874e67c81162d82ff1b05 /gcc
parentd82f74d3ab985da4b217a4942a0b4e2e55021fab (diff)
downloadgcc-b58a864da35143bcacd42ba99846886213fdf78c.zip
gcc-b58a864da35143bcacd42ba99846886213fdf78c.tar.gz
gcc-b58a864da35143bcacd42ba99846886213fdf78c.tar.bz2
re PR target/46512 (crtstuff.c:563:1: internal compiler error: Segmentation fault)
PR target/46512 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses under check for type. From-SVN: r166849
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2f5a5a3..4b8c9a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR target/46512
+ * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
+ under check for type.
+
2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
* ifcvt.c (dead_or_predicable): Fix typo.
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 366ce01..57858a7 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -9608,10 +9608,9 @@ pa_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
static unsigned int
pa_function_arg_boundary (enum machine_mode mode, const_tree type)
{
- tree size = TYPE_SIZE (type);
bool singleword = (type
- ? (integer_zerop (size)
- || !TREE_CONSTANT (size)
+ ? (integer_zerop (TYPE_SIZE (type))
+ || !TREE_CONSTANT (TYPE_SIZE (type))
|| int_size_in_bytes (type) <= UNITS_PER_WORD)
: GET_MODE_SIZE (mode) <= UNITS_PER_WORD);