From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Cc: Jakub Narebski <jnareb@gmail.com>
Subject: [PATCH 2/4] autoconf: Check for ll hh j z t size specifiers introduced by C99
Date: Fri, 4 Aug 2006 17:55:57 +0200 [thread overview]
Message-ID: <11547069591228-git-send-email-jnareb@gmail.com> (raw)
In-Reply-To: <7v7j1on71n.fsf@assigned-by-dhcp.cox.net>
Add custom test for checking whether formatted IO functions
(printf/scanf et.al.) support 'size specifiers' introduced by C99,
namely ll, hh, j, z, t. (representing long long int, char, intmax_t,
size_t, ptrdiff_t).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
configure.ac | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/configure.ac b/configure.ac
index 178220f..1796cf4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -189,6 +189,27 @@ # sockaddr_storage.
AC_CHECK_TYPE(struct sockaddr_storage,[],
[GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease)],
[#include <netinet/in.h>])
+#
+# Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)
+# do not support the 'size specifiers' introduced by C99, namely ll, hh,
+# j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).
+# some C compilers supported these specifiers prior to C99 as an extension.
+AC_CACHE_CHECK(whether IO functions support %ll %hh %j %z %t size specifiers,
+ ac_cv_c_c99_format,
+[# Actually git uses only %z (%zu) in alloc.c, and %t (%td) in mktag.c
+AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+ [[char buf[64];
+ if (sprintf(buf, "%lld%hhd%jd%zd%td", (long long int)1, (char)2, (intmax_t)3, (size_t)4, (ptrdiff_t)5) != 5)
+ exit(1);
+ else if (strcmp(buf, "12345"))
+ exit(2);]])],
+ [ac_cv_c_c99_format=yes],
+ [ac_cv_c_c99_format=no])
+])
+if test $ac_cv_c_c99_format = no; then
+ GIT_CONF_APPEND_LINE(NO_C99_FORMAT=YesPlease)
+fi
## Checks for library functions.
--
1.4.1.1
next prev parent reply other threads:[~2006-08-04 15:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-04 10:12 What's in git.git Junio C Hamano
2006-08-04 10:27 ` Jakub Narebski
2006-08-04 15:55 ` [PATCH 1/4] autoconf: Check for working mmap Jakub Narebski
2006-08-04 18:56 ` Junio C Hamano
2006-08-04 19:02 ` Jakub Narebski
2006-08-04 15:55 ` Jakub Narebski [this message]
2006-08-04 15:55 ` [PATCH 3/4] autoconf: Typo cleanup, reordering etc Jakub Narebski
2006-08-04 15:55 ` [PATCH 4/4] Copy description of new build configuration variables to configure.ac Jakub Narebski
2006-08-04 18:40 ` What's in git.git Johannes Schindelin
2006-08-04 18:55 ` Jakub Narebski
2006-08-04 19:09 ` Junio C Hamano
2006-08-04 19:50 ` Junio C Hamano
2006-08-04 20:06 ` Junio C Hamano
2006-08-04 20:27 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11547069591228-git-send-email-jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).