[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: jitter generates GCC-only code in pvm-vm2.c
From: |
Mohammad-Reza Nabipoor |
Subject: |
Re: jitter generates GCC-only code in pvm-vm2.c |
Date: |
Sun, 21 Feb 2021 17:39:08 +0330 |
Hi, Bruno.
On Sun, Feb 21, 2021 at 02:54:29PM +0100, Bruno Haible wrote:
>
> Looking at the errors in line 2322, 2323: They come from this code in
> pvm-vm2.c:
>
> volatile typeof (&& jitter_exit_vm_label) restrict
> jitter_saved_exit_non_replicated_code_pointer = &&jitter_exit_vm_label;
>
> This is a GCC extension, see
> <https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Labels-as-Values.html>.
> (By the way, why the 'typeof'? Label addresses are of type 'void *'.)
>
> How are we supposed to compile this with an ISO C compliant compiler?
>
I think only the `switch` dispatch can be compiled by an ISO C compliant
compiler. The other two dispatches (`direct-threading` and `minimal-threading`)
are relying on gcc extensions.
Regards,
Mohammad-Reza