There are a number of global variables that are commonly used for plugins. By switching the GCC build language to C++, we introduce name mangling, which means that we loose plugin dynamic link compatibility to previous versions of gcc. Also, the interface becomes subject to change when mangling changes, and will not be compatible if the build compiler uses a different mangling scheme. Moreover, it forces to compile plugins with C++.
Global variables that are commonly used for plugins should have C linkage, and this should be reflected in the plugin header files, so that the implementation language of the compiler and the plugins becomes decoupled. -- Summary: plugin interface depends on name mangling Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: plugins AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44459