1 /* Plugin-side interface to global compiler state for GCC plugins.
2 Copyright (C) 2009 Free Software Foundation, Inc.
6 Authors: Grigori Fursin <grigori.fursin@inria.fr>, Cupertino Miranda
7 <cupertinomiranda@gmail.com>, Zbigniew Chamski <zbigniew.chamski@gmail.com>.
9 This file is part of GCC.
11 GCC is free software; you can redistribute it and/or modify it under
12 the terms of the GNU General Public License as published by the Free
13 Software Foundation; either version 3, or (at your option) any later
16 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
17 WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with GCC; see the file COPYING3. If not see
23 <http://www.gnu.org/licenses/>. */
28 /* Access to values of either features or elements of feature sets */
29 extern const void *get_feature (const char *feature_name
);
30 extern const void *get_subfeature (const char *feature_name
,
31 const char *subfeat_name
);
32 extern void *set_subfeature (const char *feature_name
,
33 const char *subfeat_name
, void *value
);
35 /* Extract the size of features and feature sets */
36 extern int get_feature_size (const char *feature_name
);
37 extern int get_num_features (int type
); /* not implemented */
38 extern int get_num_subfeatures (const char *feat_name
, int type
); /* not implemented */
40 /* List of all known features, or all known elements of a feature set */
41 extern const char **list_features (void);
42 extern const char **list_subfeatures (const char *feat_name
, int type
); /* not implemented */
44 #endif /* FEATURE_H */