re PR target/38781 (PR38151: valgrind finds problem)

2008-03-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/38781
	* config/i386/i386.c (classify_argument): Check total size of
	structure.

From-SVN: r145292
This commit is contained in:
H.J. Lu 2009-03-30 14:29:10 +00:00 committed by H.J. Lu
parent 133f9369c3
commit 680e8a004a
2 changed files with 12 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2008-03-30 H.J. Lu <hongjiu.lu@intel.com>
PR target/38781
* config/i386/i386.c (classify_argument): Check total size of
structure.
2009-03-30 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,

View File

@ -4942,6 +4942,8 @@ classify_argument (enum machine_mode mode, const_tree type,
}
else
{
int pos;
type = TREE_TYPE (field);
/* Flexible array member is ignored. */
@ -4970,13 +4972,10 @@ classify_argument (enum machine_mode mode, const_tree type,
+ bit_offset) % 256);
if (!num)
return 0;
for (i = 0; i < num; i++)
{
int pos =
(int_bit_position (field) + (bit_offset % 64)) / 8 / 8;
classes[i + pos] =
merge_classes (subclasses[i], classes[i + pos]);
}
pos = (int_bit_position (field) + (bit_offset % 64)) / 8 / 8;
for (i = 0; i < num && (i + pos) < words; i++)
classes[i + pos] =
merge_classes (subclasses[i], classes[i + pos]);
}
}
}