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 to libiberty: Move to the intersection of C90 an C++


Jakub Jelinek <jakub@redhat.com> writes:

| On Tue, May 24, 2005 at 07:15:40PM +0200, Gabriel Dos Reis wrote:
| > Ian Lance Taylor <ian@airs.com> writes:
| > 
| > | Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
| > | 
| > | > But, that is indeed poor.  So, let me try again.
| > | > Currently (i.e. without my patch), they are defined as
| > | > 
| > | >    inline size_t
| > | >    htab_size (htab_t htab)
| > | >    {
| > | >      return htab->size;
| > | >    }
| > | > 
| > | >    inline size_t
| > | >    htab_elements (htab_t htab)
| > | >    {
| > | >      return htab->n_elements - htab->n_deleted;
| > | >    }
| > | 
| > | Yes, but, as you know, that is in hashtab.c, not hashtab.h.  I don't
| > | see any reason they need to be in hashtab.h at all.
| > | 
| > | > I supposed that it was for performance reason why they were
| > | > defined inline in hashtab.c, which is why I moved them to hashtab.h
| > | > with the "static inline" marker.  They won't pose any problem with a
| > | > C90 compiler that does not understand inline, and they won't cause any
| > | > problem with a C90 compiler that does.  I'm also willing to turn them
| > | > into macros if you prefer.
| > | 
| > | If we want them in hashtab.h, then I think they should be macros.  But
| > | upon further reflection, I'm pretty sure we don't want them in
| > | hashtab.h at all, and I think we should just remove "inline" in
| > | hashtab.c.
| > 
| > I'll implement that (which is also what Jakub says).  Thanks,
| 
| Well, if we really can't use inline keyword just in hashtab.c,
| I think best would be to use a macro.
| 
| #define htab_size(htab) ((htab)->size)
| 
| size_t
| (htab_size) (htab_t htab)
| {
|   return htab_size (htab);
| }
| 
| and similarly for htab_elements.

Ian, I guess that suggestion is OK with you?

-- Gaby


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