diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-11-17 01:41:13 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-11-17 01:41:13 +0000 |
commit | b58a864da35143bcacd42ba99846886213fdf78c (patch) | |
tree | 7c0e97ffefe3d517b2b874e67c81162d82ff1b05 /gcc | |
parent | d82f74d3ab985da4b217a4942a0b4e2e55021fab (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 5 |
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); |