diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-03-15 13:58:56 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-03-15 13:59:45 -0700 |
commit | b48197d8eda0d4fe221a128d862807d804e2ebf0 (patch) | |
tree | 0d40e008b0caed411cc4dc0f2c17d5963a83561e /m4 | |
parent | d5427e71da28856c5e43396a37ffd0c906947499 (diff) |
Merge from gnulib
This incorporates:
2016-03-15 std-gnu11: improve clang support
* m4/std-gnu11.m4: Copy from gnulib.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/std-gnu11.m4 | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/m4/std-gnu11.m4 b/m4/std-gnu11.m4 index a687cdbba1..e8d3ebcf2f 100644 --- a/m4/std-gnu11.m4 +++ b/m4/std-gnu11.m4 @@ -1,8 +1,8 @@ # Prefer GNU C11 and C++11 to earlier versions. -*- coding: utf-8 -*- # This implementation is taken from GNU Autoconf lib/autoconf/c.m4 -# commit 5ad3567c3cbd90b4faa6539c35bc4a8c6500f535 -# dated 2015-10-08 10:12:41 2015 +0200. +# commit 739cdc82b5325402231f3f5e1a38f681fcbd1db2 +# dated Tue Mar 15 09:34:11 2016 -0700. # This implementation will be obsolete once we can assume Autoconf 2.70 # or later is installed everywhere a Gnulib program might be developed. @@ -58,6 +58,9 @@ fi if test -z "$CC"; then AC_CHECK_TOOLS(CC, cl.exe) fi +if test -z "$CC"; then + AC_CHECK_TOOL(CC, clang) +fi ]) test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH]) @@ -123,7 +126,7 @@ if test -z "$CXX"; then else AC_CHECK_TOOLS(CXX, [m4_default([$1], - [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC])], + [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])], g++) fi fi @@ -198,6 +201,7 @@ AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6]) AC_DEFUN([_AC_C_C99_TEST_HEADER], [[#include <stdarg.h> #include <stdbool.h> +#include <stddef.h> #include <stdlib.h> #include <wchar.h> #include <stdio.h> @@ -432,7 +436,9 @@ struct anonymous [_AC_C_C99_TEST_BODY[ v1.i = 2; v1.w.k = 5; - _Static_assert (&v1.i == &v1.w.k, "Anonymous union alignment botch"); + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); ]], dnl Try dnl GCC -std=gnu11 (unused restrictive mode: -std=c11) @@ -754,9 +760,9 @@ AC_DEFUN([_AC_CXX_CXX11_TEST_BODY], } { // Unicode literals - char *utf8 = u8"UTF-8 string \u2500"; - char16_t *utf16 = u"UTF-8 string \u2500"; - char32_t *utf32 = U"UTF-32 string \u2500"; + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; } ]]) |