justification for AC_LANG_ASSERT?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In a discussion about the AC_FC_FREEFORM macro (which figures out how to enable freeform-source support for Fortran, if possible), Akim wrote:

Akim Demaille wrote:
I saw that you have wrapped many macros with AC_LANG_PUSH/POP. I
don't think this is the right thing to do. Rather, you should require
from the user to call these macros with the right current language. I
have appended some notes about this in the documentation.
[...] Index: ChangeLog
from Akim Demaille <akim@xxxxxxxx>


	* tests/fortran.at (GNU Fortran 77): Don't run FC macros.
	(GNU Fortran): New.
	* doc/autoconf.texi (Language Choice): Document.
	* lib/autoconf/fortran.m4 (AC_FC_SRCEXT, AC_FC_FREEFORM): Assert
	the current language is Fortran.

I just got an email from a user complaining about this, that


AC_PROG_FC(f90)
AC_FC_SRCEXT(f90)

no longer works in his configure.ac, and on reflection I'm questioning the decision to use AC_LANG_ASSERT, and indeed its raison d'etre.

What is the point of this macro? Why would someone ever *not* want AC_FC_* to push Fortran itself? Haven't they effectively declared that they want to use Fortran simply by calling the macro...why force them to call two additional macros to say that they really mean it?

Can we revert to the previous behavior? (It won't break backwards compatibility, since people still *can* call AC_LANG_PUSH/POP.)

Moreover, why should any macro ever use AC_LANG_ASSERT rather than calling push/pop itself? I don't understand the philosophy here.

Steven




[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux