This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran] PR32980 - Add GAMMA and LGAMMA intrinsics


Steve Kargl wrote:
On Tue, Aug 21, 2007 at 10:32:05PM +0200, Tobias Schl?ter wrote:
Ok, since you and Steve agree on this, I have a suggestion that I think we all could live with: if the user defines a function that has the same name as an intrinsic available with the selected standard, issue a warning, perhaps only with -Wall. Bonus points for a command line option that allows disabling intrinsics by name.


Harald and I had a long bugzilla exchange about INTRINSIC/EXTERNAL and etime (or iargc?). This is a similar problem. Ah, here it is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20248

This was interesting, showing the different pitfalls one may run into.


I'd have to go review the name mangling code. AFAIK, gfortran assumes
any procedure that is not specifically listed in an INTRINSIC/EXTERNAL
statement is an intrinsic procedure, so the name is mangled and _gfortran_XXXX_ is looked up. If it exists, gfortran keeps going. If
it does not exist, then gfortran will mangle the name to XXXX_ and assume the user will supply the XXXX_ routine. It seems that you
are proposing the opposite.

I don't think this is at all related to what I'm suggesting. This is interesting information nonetheless, as I never quite made my way through the intrinsic resolution code.


BTW, there is -Wnonstd-intrinsics.

This option addresses yet another way of being surprised by non-standard intrinsic. In the case of -std=gnu it will not be at all helpful, of course.


Thanks,
- Tobi


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]