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: [RFC Patch]: Implement remainder() as built-in function [PR fortran/24518]


On Wed, 25 Oct 2006, Joseph S. Myers wrote:

> I haven't reread the whole previous discussion - why did we reject your
> previous __builtin_initialize_stdout or RTH's proposal of an inline
> __builtin_stdout
> <http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00859.html>?  There were
> problems with wrapping the headers, but I am sure those can be solved.
> Joseph S. Myers


I tried out RTH's inline proposal at the time back in Sept 2000:
http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00899.html

It worked great when we had the RTL inliner, because inlining happened
*after* builtin expansion.  With the tree inliner running early, builtin
expansion (or folding) happens too late to successfully introduce an
inline call and have it expand to the body of the inline function.

I smacked into this when I tested the code with C++ programs.  At the time
we were half converted, C inlined at RTL whereas C++ inlined trees.  Now
everybody does it at the tree level I believe. I think I mentioned this in
PRs 21988 and 24729.

Regarding __builtin_initialize_stdout, I haven't given it much thought
since then, but in hindsight it seems somewhat like a gross hack. :-)

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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