Bob Friesenhahn <[EMAIL PROTECTED]> writes:
> The main Autoconf issue is that each feature test program includes all
> the #defines generated from any previous test.  This means that if
> AC_C_INLINE has been executed previously, then a define like
> 
> #define inline __inline
> 
> may be automatically generated as part of conftest.c, which causes C++
> tests which include C++ headers or otherwise use inline to fail.

The patch below seems to make it work correctly for me (for inline and
C++).  The autoheader tricks is use is kind of evil, and doing this
right would require going through all the macros and see which of them
apply for C++.  And this would be a backwards-incompatible change, but
that should not be a problem since I cannot see how it could have
worked usefully for people.

--- c.m4.~1.179.~       Wed May 28 17:30:26 2003
+++ c.m4        Sat Jun  7 13:42:23 2003
@@ -1010,6 +1010,12 @@
                    [ac_cv_c_inline=$ac_kw; break])
 done
 ])
+AH_VERBATIM([inlind], [
+#ifndef __cplusplus
+])
+cat >>confdefs.h <<\_ACEOF
+#ifndef __cplusplus
+_ACEOF
 case $ac_cv_c_inline in
   inline | yes) ;;
   no) AC_DEFINE(inline,,
@@ -1017,6 +1023,12 @@
                 or to nothing if it is not supported.]) ;;
   *)  AC_DEFINE_UNQUOTED(inline, $ac_cv_c_inline) ;;
 esac
+cat >>confdefs.h <<\_ACEOF
+#endif /* __cplusplus */
+_ACEOF
+AH_VERBATIM([inlinf], [
+#endif /* __cplusplus */
+])
 ])# AC_C_INLINE
 
 

Reply via email to