On Wed, 6 Mar 2024 at 05:01, Akihiko Odaki <akihiko.od...@daynix.com> wrote: > > On 2024/03/05 22:28, Peter Maydell wrote: > > On Tue, 5 Mar 2024 at 07:36, Akihiko Odaki <akihiko.od...@daynix.com> wrote: > >> @@ -206,7 +206,7 @@ static int fix_dtb(struct va_space *vs, QEMU_Elf *qe) > >> va_space_set_dtb(vs, s->cr[3]); > >> printf("DTB 0x%016"PRIx64" has been found from CPU #%zu" > >> " as system task CR3\n", vs->dtb, i); > >> - return !(va_space_resolve(vs, SharedUserData)); > >> + return !!(va_space_resolve(vs, SharedUserData)); > > > > If the function returns bool type, we don't need the !! idiom > > to coerce the value to bool. > > va_space_resolve() returns void *.
Yes, and so when we return that value, because the function return type is 'bool' it gets correctly turned into a true/false value. You only need !! if you want to get a 0-or-1 value in an int return type. Or does the compiler otherwise issue a warning here? thanks -- PMM