Post by John Malmberg
On VMS, the config.h file is generated to "#define intmax_t long long".
The csharpexec.c module includes config.h and then includes some header
files that redefine intmax_t.
After it does that, it #includes "classpath.c" which then includes
This causes the original definition to be restored, and the VMS C
compiler issues a diagnostic about it.
#define intmax_t long long
%CC-W-MACROREDEF, The redefinition of the macro "intmax_t" conflicts
with a current definition because the replacement lists differ. The
redefinition is now in effect.
This is only a warning, and you can ignore it. Better compilers produce
a diagnostic only for redefinitions with a _different_ expansion.
But anyway, it's easy to make sure config.h is only included once, in
2017-06-19 Bruno Haible <***@clisp.org>
classpath: Avoid including config.h twice, as it produces warnings.
Reported by John E. Malmberg <***@gmail.com>.
* lib/classpath.h: Conditionalize the include of config.h.
diff --git a/lib/classpath.c b/lib/classpath.c
index e56f23f..c7868f6 100644
@@ -15,7 +15,11 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/* If CLASSPATHVAR is defined, this file is being #included, and config.h is
+ therefore already included. */
+#if !defined CLASSPATHVAR
+# include <config.h>
/* Specification. */