On Wed, 2015-07-15 at 21:37 +0200, Basile Starynkevitch wrote:
> On 07/15/2015 20:52, David Malcolm wrote:
> > On Wed, 2015-07-15 at 20:19 +0200, Basile Starynkevitch wrote:
> >> Hello All and David Malcolm
> >>
> >> The attached patch (relative to trunk r224842) is adding
> >> gcc_jit_context_new_rvalue_from_long_long and similar functions to
> >> GCCJIT.
> 
> > * dump_to_reproducer support (most testcases attempt to dump their 
> > contexts to a .c file and then sanity-check the generated c by 
> > compiling them, though not running them; see jit.exp). A new API 
> > entrypoint needs to "know" how to write itself back out to C (by 
> > implementing gcc::jit::recording::memento::write_reproducer for the 
> > appropriate memento subclass).
> 
> 
> I'm sorry, but I can't understand the above comment. Where is the 
> "Implementation of recording::memento::write_reproducer for longs." I 
> can't find such comment in jit-recording.c!

See approx line 4069 of jit-recording.c onwards:

/* The implementation of the various const-handling classes:
   gcc::jit::recording::memento_of_new_rvalue_from_const <HOST_TYPE>.  */

The specific code you refer to is here (approx line 4176 of
jit-recording.c):

/* The write_reproducer specialization for <long>.  */

template <>
void
recording::memento_of_new_rvalue_from_const <long>::write_reproducer 
(reproducer &r)
{
   /* etc */



> BTW, it is really a pity that even a brand new subtree like gcc/jit/, 
> coded mostly in C++, uses *.c
> as the file extension for newly introduced C++ files. There is no legacy 
> reason to use *.c extensions for new C++ files (as we had for source 
> files of twenty years of age). I really find that confusing. And no 
> comment mention that it is C++ not C!
> It makes me almost cry :-)

Sorry.  I went with *.c for consistency with the rest of the source tree
(and it's somewhat easier to grep that way).  I agree that this is
confusing, and merits at least a mention in docs/internals/index.rst.

Dave

Reply via email to