LLVM API Documentation

GCs.h

Go to the documentation of this file.
00001 //===-- GCs.h - Garbage collector linkage hacks ---------------------------===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file contains hack functions to force linking in the GC components.
00011 //
00012 //===----------------------------------------------------------------------===//
00013 
00014 #ifndef LLVM_CODEGEN_GCS_H
00015 #define LLVM_CODEGEN_GCS_H
00016 
00017 namespace llvm {
00018   class GCStrategy;
00019   class GCMetadataPrinter;
00020   
00021   /// FIXME: Collector instances are not useful on their own. These no longer
00022   ///        serve any purpose except to link in the plugins.
00023   
00024   /// Creates an ocaml-compatible garbage collector.
00025   void linkOcamlGC();
00026   
00027   /// Creates an ocaml-compatible metadata printer.
00028   void linkOcamlGCPrinter();
00029   
00030   /// Creates a shadow stack garbage collector. This collector requires no code
00031   /// generator support.
00032   void linkShadowStackGC();
00033 }
00034 
00035 #endif