Hi.

In order to make GCC 4.1 happy and build current tip, we need to define
static constants out of a class definition.

Ready for trunk?
Thanks,
Martin

gcc/ChangeLog:

2018-07-03  Martin Liska  <mli...@suse.cz>

        * tree-switch-conversion.h (struct jump_table_cluster): Define
        constant values outside of class declaration.
---
 gcc/tree-switch-conversion.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)


diff --git a/gcc/tree-switch-conversion.h b/gcc/tree-switch-conversion.h
index 4beac785f05..8efb125aff1 100644
--- a/gcc/tree-switch-conversion.h
+++ b/gcc/tree-switch-conversion.h
@@ -259,12 +259,17 @@ struct jump_table_cluster: public group_cluster
   static bool is_enabled (void);
 
   /* Max growth ratio for code that is optimized for size.  */
-  static const unsigned HOST_WIDE_INT max_ratio_for_size = 3;
+  static const unsigned HOST_WIDE_INT max_ratio_for_size;
 
   /* Max growth ratio for code that is optimized for speed.  */
-  static const unsigned HOST_WIDE_INT max_ratio_for_speed = 8;
+  static const unsigned HOST_WIDE_INT max_ratio_for_speed;
 };
 
+const unsigned HOST_WIDE_INT jump_table_cluster::max_ratio_for_size = 3;
+
+const unsigned HOST_WIDE_INT jump_table_cluster::max_ratio_for_speed = 8;
+
+
 /* A GIMPLE switch statement can be expanded to a short sequence of bit-wise
 comparisons.  "switch(x)" is converted into "if ((1 << (x-MINVAL)) & CST)"
 where CST and MINVAL are integer constants.  This is better than a series

Reply via email to