ipa-cp.c (ipcp_cloning_candidate_p): Use opt_for_fn.
[gcc.git] / gcc / context.h
index 2211dc43ee9ebc6a9569cda70f43a9b9d91d5101..689ae5ad1874b4e9d13e7b7b5f5451cbac979993 100644 (file)
@@ -1,5 +1,5 @@
 /* context.h - Holder for global state
-   Copyright (C) 2013 Free Software Foundation, Inc.
+   Copyright (C) 2013-2014 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -23,41 +23,33 @@ along with GCC; see the file COPYING3.  If not see
 namespace gcc {
 
 class pass_manager;
+class dump_manager;
 
 /* GCC's internal state can be divided into zero or more
    "parallel universe" of state; an instance of this class is one such
    context of state.  */
-class GTY((user)) context
+class context
 {
 public:
-  /* Ensure that instances are allocated within the GC-heap.  */
-  void *operator new (std::size_t size);
+  context ();
 
-  context();
+  /* The flag shows if there are symbols to be streamed for offloading.  */
+  bool have_offload;
 
-  /* Garbage-collector integration.
-
-     Each context assumes it has full control of the GC-heap that it
-     is associated with.  It acts as a root for that GC-heap, owning
-     references to within it.
-
-     Note that context instances are allocated within their own GC
-     heap.
-
-     The methods are called the *first time* that the context is reached
-     during a ggc/pch traversal, rather than every time.  */
+  /* Pass-management.  */
 
-  void gt_ggc_mx ();
-  void gt_pch_nx ();
-  void gt_pch_nx (gt_pointer_operator op, void *cookie);
+  pass_manager *get_passes () { gcc_assert (m_passes); return m_passes; }
 
-  /* Pass-management.  */
+  /* Handling dump files.  */
 
-  pass_manager *get_passes () { gcc_assert (passes_); return passes_; }
+  dump_manager *get_dumps () {gcc_assert (m_dumps); return m_dumps; }
 
 private:
   /* Pass-management.  */
-  pass_manager *passes_;
+  pass_manager *m_passes;
+
+  /* Dump files.  */
+  dump_manager *m_dumps;
 
 }; // class context
 
@@ -65,42 +57,6 @@ private:
 
 /* The global singleton context aka "g".
    (the name is chosen to be easy to type in a debugger).  */
-extern GTY(()) gcc::context *g;
-
-/* Global hooks for ggc/pch.
-
-   The gcc::context class is marked with GTY((user)), which leads to
-   gengtype creating autogenerated functions for handling context within
-   gtype-desc.c:
-
-     void gt_ggc_mx_context (void *x_p);
-     void gt_pch_nx_context (void *x_p)
-     void gt_pch_p_7context (void *this_obj,
-                            void *x_p,
-                            gt_pointer_operator op,
-                            void *cookie);
-
-   Those functions call the following global functions the first time
-   that the context is reached during a traversal, and the following
-   global functions in turn simply call the corresponding  methods of the
-   context (so that they can access private fields of the context).  */
-
-inline void
-gt_ggc_mx (gcc::context *ctxt)
-{
-  ctxt->gt_ggc_mx ();
-}
-
-inline void
-gt_pch_nx (gcc::context *ctxt)
-{
-  ctxt->gt_pch_nx ();
-}
-
-inline void
-gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op, void *cookie)
-{
-  ctxt->gt_pch_nx (op, cookie);
-}
+extern gcc::context *g;
 
 #endif /* ! GCC_CONTEXT_H */