sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and data-streamer.h
authorJan Hubicka <hubicka@ucw.cz>
Wed, 26 Apr 2017 09:57:38 +0000 (11:57 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 26 Apr 2017 09:57:38 +0000 (09:57 +0000)
* sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and
data-streamer.h
(sreal::stream_out, sreal::stream_in): New.
* sreal.h (sreal::stream_out, sreal::stream_in): Declare.

From-SVN: r247276

gcc/ChangeLog
gcc/sreal.c
gcc/sreal.h

index 91f81aaec4cf66dace61e40838485761b90eef7b..41df066dae784fce6333fef1478baa7c3741f2fa 100644 (file)
@@ -1,3 +1,10 @@
+2017-04-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and
+       data-streamer.h
+       (sreal::stream_out, sreal::stream_in): New.
+       * sreal.h (sreal::stream_out, sreal::stream_in): Declare.
+
 2017-04-25  Jakub Jelinek  <jakub@redhat.com>
 
        * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
index 72d5891b6d126c9b6184509f94f64017335631f5..3993e27e6bfd801f5d9109a1d959db17f7c239a0 100644 (file)
@@ -53,6 +53,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "sreal.h"
 #include "selftest.h"
+#include "backend.h"
+#include "tree.h"
+#include "gimple.h"
+#include "cgraph.h"
+#include "data-streamer.h"
 
 /* Print the content of struct sreal.  */
 
@@ -236,6 +241,26 @@ sreal::operator/ (const sreal &other) const
   return r;
 }
 
+/* Stream sreal value to OB.  */
+
+void
+sreal::stream_out (struct output_block *ob)
+{
+  streamer_write_hwi (ob, m_sig);
+  streamer_write_hwi (ob, m_exp);
+}
+
+/* Read sreal value from IB.  */
+
+sreal
+sreal::stream_in (struct lto_input_block *ib)
+{
+  sreal val;
+  val.m_sig = streamer_read_hwi (ib);
+  val.m_exp = streamer_read_hwi (ib);
+  return val;
+}
+
 #if CHECKING_P
 
 namespace selftest {
index 917ce3ebac9297f5f345a9b075acdc16009eff92..18a454c501793248bfd6056ab2b67c4424cc2c2d 100644 (file)
@@ -34,6 +34,9 @@ along with GCC; see the file COPYING3.  If not see
 #define SREAL_SIGN(v) (v < 0 ? -1: 1)
 #define SREAL_ABS(v) (v < 0 ? -v: v)
 
+struct output_block;
+struct lto_input_block;
+
 /* Structure for holding a simple real number.  */
 class sreal
 {
@@ -50,6 +53,8 @@ public:
   void dump (FILE *) const;
   int64_t to_int () const;
   double to_double () const;
+  void stream_out (struct output_block *);
+  static sreal stream_in (struct lto_input_block *);
   sreal operator+ (const sreal &other) const;
   sreal operator- (const sreal &other) const;
   sreal operator* (const sreal &other) const;