* expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 29 Nov 2004 00:49:14 +0000 (00:49 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 29 Nov 2004 00:49:14 +0000 (19:49 -0500)
From-SVN: r91445

gcc/ChangeLog
gcc/expr.c

index 73e6ad9f1d91ecf2e62f760610aa8ba8412fbb3d..9d39724775482f428c4cf7666df4350f114e6829 100644 (file)
@@ -1,3 +1,7 @@
+2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
+
 2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
 
        PR diagnostic/17594
index 5819a9865fef472dc0b0ce9eb012e00e4fd3924f..a9ff0eb0d18da0cdf3565a6aaad7c2de6767feb8 100644 (file)
@@ -4152,12 +4152,18 @@ categorize_ctor_elements_1 (tree ctor, HOST_WIDE_INT *p_nz_elts,
          if (!initializer_zerop (value))
            nz_elts += mult;
          break;
+
+       case STRING_CST:
+         nz_elts += mult * TREE_STRING_LENGTH (value);
+         break;
+
        case COMPLEX_CST:
          if (!initializer_zerop (TREE_REALPART (value)))
            nz_elts += mult;
          if (!initializer_zerop (TREE_IMAGPART (value)))
            nz_elts += mult;
          break;
+
        case VECTOR_CST:
          {
            tree v;