+2014-04-04 Jakub Jelinek <jakub@redhat.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR debug/60655
+ * dwarf2out.c (const_ok_for_output_1): Reject expressions
+ containing a NOT.
+
2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR bootstrap/60743
return 1;
}
+ /* FIXME: Refer to PR60655. It is possible for simplification
+ of rtl expressions in var tracking to produce such expressions.
+ We should really identify / validate expressions
+ enclosed in CONST that can be handled by assemblers on various
+ targets and only handle legitimate cases here. */
if (GET_CODE (rtl) != SYMBOL_REF)
- return 0;
+ {
+ if (GET_CODE (rtl) == NOT)
+ return 1;
+
+ return 0;
+ }
if (CONSTANT_POOL_ADDRESS_P (rtl))
{
+2014-04-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR debug/60655
+ * gcc.c-torture/compile/pr60655-1.c: New test.
+
2014-04-04 Martin Jambor <mjambor@suse.cz>
PR ipa/60640
--- /dev/null
+/* { dg-options "-fdata-sections" } */
+
+typedef unsigned char unit;
+typedef unit *unitptr;
+extern short global_precision;
+typedef unsigned int size_t;
+extern void *memcpy (void *dest, const void *src, size_t n);
+
+short mp_compare(const unit* r1, const unit* r2)
+{
+ register short precision;
+ precision = global_precision;
+ (r1) = ((r1)+(precision)-1);
+ (r2) = ((r2)+(precision)-1);
+ do
+ { if (*r1 < *r2)
+ return(-1);
+ if (*((r1)--) > *((r2)--))
+ return(1);
+ } while (--precision);
+}
+
+static unit modulus[((1280+(2*8))/8)];
+static unit d_data[((1280+(2*8))/8)*2];
+
+int upton_modmult (unitptr prod, unitptr multiplicand, unitptr multiplier)
+{
+ unitptr d = d_data;
+ while (mp_compare(d,modulus) > 0)
+ memcpy((void*)(prod), (const void*)(d), (global_precision));
+}