attribute_plugin.c: Include gcc-plugin.h first.
authorRafael Avila de Espindola <espindola@google.com>
Wed, 27 May 2009 12:57:59 +0000 (12:57 +0000)
committerRafael Espindola <espindola@gcc.gnu.org>
Wed, 27 May 2009 12:57:59 +0000 (12:57 +0000)
2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

       * g++.dg/plugin/attribute_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/dumb_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/selfassign.c: Include gcc-plugin.h first.
       * gcc.dg/plugin/selfassign.c: Include gcc-plugin.h first.

2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

* Makefile.in (GCC_PLUGIN_H): New. Replace all uses of gcc-plugin.h with
it.
* doc/plugins.texi: Document that gcc-plugin.h must be the first to be
included.
* gcc-plugin.h: Include config.h and system.h.
(IN_GCC): Define if not defined.

From-SVN: r147908

gcc/ChangeLog
gcc/Makefile.in
gcc/doc/plugins.texi
gcc/gcc-plugin.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/plugin/attribute_plugin.c
gcc/testsuite/g++.dg/plugin/dumb_plugin.c
gcc/testsuite/g++.dg/plugin/selfassign.c
gcc/testsuite/gcc.dg/plugin/selfassign.c

index 28cbc28..7b7258f 100644 (file)
@@ -1,3 +1,12 @@
+2009-05-27  Rafael Avila de Espindola  <espindola@google.com>
+
+       * Makefile.in (GCC_PLUGIN_H): New. Replace all uses of gcc-plugin.h with
+       it.
+       * doc/plugins.texi: Document that gcc-plugin.h must be the first to be
+       included.
+       * gcc-plugin.h: Include config.h and system.h.
+       (IN_GCC): Define if not defined.
+
 2009-05-27  Hans-Peter Nilsson  <hp@axis.com>
 
        PR middle-end/40249
index b140688..872f5b7 100644 (file)
@@ -893,7 +893,8 @@ EBIMAP_H = ebitmap.h sbitmap.h
 IPA_PROP_H = ipa-prop.h $(TREE_H) vec.h $(CGRAPH_H)
 GSTAB_H = gstab.h stab.def
 BITMAP_H = bitmap.h $(HASHTAB_H) statistics.h
-PLUGIN_H = plugin.h gcc-plugin.h
+GCC_PLUGIN_H = gcc-plugin.h $(CONFIG_H) $(SYSTEM_H)
+PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
 PLUGIN_VERSION_H = plugin-version.h configargs.h
 
 #\f
@@ -4035,8 +4036,8 @@ installdirs:
        $(mkinstalldirs) $(DESTDIR)$(man7dir)
 
 PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-  $(TOPLEV_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_PASS_H) gcc-plugin.h intl.h \
-  $(PLUGIN_VERSION_H)
+  $(TOPLEV_H) $(BASIC_BLOCK_H) $(GIMPLE_H) $(TREE_PASS_H) $(GCC_PLUGIN_H) \
+  intl.h $(PLUGIN_VERSION_H)
 
 # Install the headers needed to build a plugin.
 install-plugin: installdirs
index 7f2f5a5..287619c 100644 (file)
@@ -30,6 +30,8 @@ Plugins are activated by the compiler at specific events as defined in
 call @code{register_callback} specifying the name of the event and
 address of the callback function that will handle that event.
 
+The header @file{gcc-plugin.h} must be the first gcc header to be included.
+
 @subsection Plugin initialization
 
 Every plugin should export a function called @code{plugin_init} that
index 2567bf7..1588bca 100644 (file)
@@ -20,6 +20,13 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_PLUGIN_H
 #define GCC_PLUGIN_H
 
+#ifndef IN_GCC
+#define IN_GCC
+#endif
+
+#include "config.h"
+#include "system.h"
+
 /* Event names.  Keep in sync with plugin_event_name[].  */
 enum plugin_event
 {
index b8ca82c..f54f138 100644 (file)
@@ -1,3 +1,10 @@
+2009-05-27  Rafael Avila de Espindola  <espindola@google.com>
+
+       * g++.dg/plugin/attribute_plugin.c: Include gcc-plugin.h first.
+       * g++.dg/plugin/dumb_plugin.c: Include gcc-plugin.h first.
+       * g++.dg/plugin/selfassign.c: Include gcc-plugin.h first.
+       * gcc.dg/plugin/selfassign.c: Include gcc-plugin.h first.
+
 2009-05-27  Kai TIetz  <kai.tietz@onevision.com>
 
         * g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
index 2624ea2..16b3496 100644 (file)
@@ -1,5 +1,6 @@
 /* Demonstrates how to add custom attributes */
 
+#include "gcc-plugin.h"
 #include <stdlib.h>
 #include "config.h"
 #include "system.h"
@@ -7,7 +8,6 @@
 #include "tree.h"
 #include "tree-pass.h"
 #include "intl.h"
-#include "gcc-plugin.h"
 
 /* Attribute handler callback */
 
index 81e68eb..24da544 100644 (file)
@@ -1,6 +1,7 @@
 /* A trivial (dumb) plugin example that shows how to use the GCC plugin
    mechanism.  */
 
+#include "gcc-plugin.h"
 #include <stdlib.h>
 #include "config.h"
 #include "system.h"
@@ -8,7 +9,6 @@
 #include "tree.h"
 #include "tree-pass.h"
 #include "intl.h"
-#include "gcc-plugin.h"
 
 
 /* Callback function to invoke after GCC finishes parsing a struct.  */
index 9e7e84c..2bc1d86 100644 (file)
@@ -2,6 +2,7 @@
    self-assignment statements.  */
 /* { dg-options "-O" } */
 
+#include "gcc-plugin.h"
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
@@ -12,7 +13,6 @@
 #include "tree.h"
 #include "tree-pass.h"
 #include "intl.h"
-#include "gcc-plugin.h"
 
 
 /* Indicate whether to check overloaded operator '=', which is performed by
index 9e7e84c..2bc1d86 100644 (file)
@@ -2,6 +2,7 @@
    self-assignment statements.  */
 /* { dg-options "-O" } */
 
+#include "gcc-plugin.h"
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
@@ -12,7 +13,6 @@
 #include "tree.h"
 #include "tree-pass.h"
 #include "intl.h"
-#include "gcc-plugin.h"
 
 
 /* Indicate whether to check overloaded operator '=', which is performed by