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