diff src/configure.ac @ 13716:30f9ebe3e602 v8.0.1730

patch 8.0.1730: no configure check for the used C99 features commit https://github.com/vim/vim/commit/561f8a5a4612751c2a4ebd6bf918cbc3be867350 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 17 22:02:45 2018 +0200 patch 8.0.1730: no configure check for the used C99 features Problem: No configure check for the used C99 features. Solution: Add a compilation check. Tentatively document C99 features.
author Christian Brabandt <cb@256bit.org>
date Tue, 17 Apr 2018 22:15:07 +0200
parents 7152032191d7
children d35b1702a1da
line wrap: on
line diff
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -29,6 +29,29 @@ dnl in autoconf needs it, where it uses 
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 
+dnl Check that the C99 features that Vim uses are supported:
+dnl - // commands
+dnl - comma after last enum item
+dnl - "long long int" and "long long unsigned"
+dnl - flexible array member
+AC_MSG_CHECKING(if the compiler can handle Vim code)
+AC_TRY_COMPILE([#include <stdio.h>], [
+  struct with_flexible_member {
+    int count;  // comment
+    char text[]; // another comment
+  };
+  enum {
+    one,
+    two,
+    three,
+  };
+  long long int a = 1;
+  long long unsigned b = 2;
+  printf("a %lld and a %llu", a, b);
+  ],
+AC_MSG_RESULT(yes),
+AC_MSG_ERROR([compiler does not work properly - see auto/config.log]))
+
 dnl Check for the flag that fails if stuff are missing.
 
 AC_MSG_CHECKING(--enable-fail-if-missing argument)