Fix: Check C++ designated initializers support before compiling 'hello.cxx' test
[lttng-ust.git] / configure.ac
index 802ccaa5ffe49566740e0e39fdcf46674924f12b..716f22d6527c2afee7778737cea6913575fad61f 100644 (file)
@@ -83,8 +83,21 @@ AC_CACHE_CHECK([whether the C++ compiler works],
                [rw_cv_prog_cxx_works],
                [AC_LANG_PUSH([C++])
                AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                               [rw_cv_prog_cxx_works=yes],
+                               [check_cxx_designated_initializers=yes],
                                [rw_cv_prog_cxx_works=no])
+               if test "$check_cxx_designated_initializers" = "yes"; then
+                       AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+                               struct foo { int a; int b; };
+                               void fct(void)
+                               {
+                                       struct foo f = { .a = 0, .b = 1 };
+                               }
+                       ]])],[
+                               rw_cv_prog_cxx_works=yes
+                       ],[
+                               rw_cv_prog_cxx_works=no
+                       ])
+               fi
                AC_LANG_POP([C++])])
 
 AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
This page took 0.023532 seconds and 4 git commands to generate.