Updated ClamAV to 0.92

Added patch for gcc bug pr28045



git-svn-id: http://svn.ipfire.org/svn/ipfire/branches/2.1/trunk@1202 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
arne_f
2008-02-11 22:33:41 +00:00
parent 5362088b3e
commit a092753f23
5 changed files with 54 additions and 6 deletions

View File

@@ -0,0 +1,41 @@
Index: fold-const.c
===================================================================
*** gcc4.0.3/gcc/fold-const.c (revision 114755)
--- gcc4.0.3/fold-const.c (working copy)
*************** operand_equal_p (tree arg0, tree arg1, u
*** 2497,2502 ****
--- 2497,2507 ----
if (TYPE_UNSIGNED (TREE_TYPE (arg0)) != TYPE_UNSIGNED (TREE_TYPE (arg1)))
return 0;
+ /* If both types don't have the same precision, then it is not safe
+ to strip NOPs. */
+ if (TYPE_PRECISION (TREE_TYPE (arg0)) != TYPE_PRECISION (TREE_TYPE (arg1)))
+ return 0;
+
STRIP_NOPS (arg0);
STRIP_NOPS (arg1);
/* { dg-do run } */
extern void abort(void);
struct a
{
unsigned int bits : 1;
signed long val : ((sizeof(long) * 8) - 1);
};
int Fnegate (struct a b)
{
if ((-((long)b.val)) <= ((long) ((1UL << ((sizeof(long) * 8) - 2)) -1UL))
&& (-((long)b.val)) >= (-(((long) ((1UL << ((sizeof(long) * 8) - 2)) -1UL))) - 1))
return 0 ;
abort ();
}
int main ()
{
struct a b = {1, 1};
Fnegate (b);
return 0;
}