qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Separate function types from opaque types in in


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] Separate function types from opaque types in include/qemu/typedefs.h
Date: Fri, 23 Jun 2017 09:04:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Peter Maydell <address@hidden> writes:

> On 22 June 2017 at 18:03, Juan Quintela <address@hidden> wrote:
>> Greg Kurz <address@hidden> wrote:
>>> On Thu, 22 Jun 2017 17:14:08 +0100
>>> Peter Maydell <address@hidden> wrote:
>>>
>>>> On 22 June 2017 at 17:06, Greg Kurz <address@hidden> wrote:
>>>> > Function types cannot reside in the same sorted list as opaque types 
>>>> > since
>>>> > they may depend on a type which would be defined later.
>>>> >
>>>> > Of course, the same problem could arise if a function type depends on
>>>> > another function type with greater alphabetical order. Hopefully we
>>>> > don't have that at this time.
>>>>
>>>> The other approach would be to put function types somewhere
>>>> else and leave typedefs.h for the simple 'opaque types
>>>> for structures' that it was started as.
>>>>
>>>> For instance we have include/qemu/fprintf-fn.h as a precedent.
>>>>
>>>
>>> Indeed, and I'm not quite sure why Juan decided to put these types into
>>> typedefs.h instead of a dedicated header file in include/migration... is
>>> it only because it was the quickest fix ?
>>
>> All other typedefs were defined there.  I can create a different include
>> file, but I think that is "overengineering", no?  They are typedefs,
>> just not of structs.  But I agree that they are the only ones.
>
> Well, the comment in the file says "opaque types so that device init
> declarations don't have to pull in all the real definitions", whereas
> the ones you've added aren't opaque types, they are the real
> definitions.

The comment is out of date.  The header declares many opaque types that
have nothing to do with "device init declarations".  Suggest to simply
delete the comment.  The technique to declare opaque types in one place
and define them elsewhere is common enough not to require justification.

>              They're also only used by a very small subset of .c
> files, whereas typedefs.h goes everywhere.

Yes.  Can we find a suitable migration header for them?

I don't like tiny header files such as qemu/fnprintf-fn.h.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]