Home | History | Annotate | Download | only in include
      1 /* Header file for internal GCC plugin mechanism.
      2    Copyright (C) 2009 Free Software Foundation, Inc.
      3 
      4 This file is part of GCC.
      5 
      6 GCC is free software; you can redistribute it and/or modify
      7 it under the terms of the GNU General Public License as published by
      8 the Free Software Foundation; either version 3, or (at your option)
      9 any later version.
     10 
     11 GCC is distributed in the hope that it will be useful,
     12 but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 GNU General Public License for more details.
     15 
     16 You should have received a copy of the GNU General Public License
     17 along with GCC; see the file COPYING3.  If not see
     18 <http://www.gnu.org/licenses/>.  */
     19 
     20 #ifndef PLUGIN_H
     21 #define PLUGIN_H
     22 
     23 #include "gcc-plugin.h"
     24 
     25 struct attribute_spec;
     26 
     27 extern void add_new_plugin (const char *);
     28 extern void parse_plugin_arg_opt (const char *);
     29 extern void invoke_plugin_callbacks (enum plugin_event, void *);
     30 extern void initialize_plugins (void);
     31 extern bool plugins_active_p (void);
     32 extern void dump_active_plugins (FILE *);
     33 extern void debug_active_plugins (void);
     34 extern void print_plugins_versions (FILE *file, const char *indent);
     35 extern void print_plugins_help (FILE *file, const char *indent);
     36 extern void finalize_plugins (void);
     37 
     38 /* In attribs.c.  */
     39 
     40 extern void register_attribute (const struct attribute_spec *attr);
     41 
     42 #endif /* PLUGIN_H */
     43