2008-02-04 Richard Guenther <rguenther@suse.de>
PR middle-end/33631
* expr.c (count_type_elements): Give for unions instead of
guessing.
* gcc.c-torture/execute/pr33631.c: New testcase.
From-SVN: r132101
+2008-02-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33631
+ * expr.c (count_type_elements): Give for unions instead of
+ guessing.
+
2008-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Backport:
case UNION_TYPE:
case QUAL_UNION_TYPE:
- {
- /* Ho hum. How in the world do we guess here? Clearly it isn't
- right to count the fields. Guess based on the number of words. */
- HOST_WIDE_INT n = int_size_in_bytes (type);
- if (n < 0)
- return -1;
- return n / UNITS_PER_WORD;
- }
+ return -1;
case COMPLEX_TYPE:
return 2;
+2008-02-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/33631
+ * gcc.c-torture/execute/pr33631.c: New testcase.
+
2008-01-31 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/tf_to_di-1.c: New testcase.
--- /dev/null
+typedef union
+{
+ int __lock;
+} pthread_mutex_t;
+
+extern void abort (void);
+
+int main()
+{
+ struct { int c; pthread_mutex_t m; } r = { .m = 0 };
+ if (r.c != 0)
+ abort ();
+ return 0;
+}