Hello Chris,<br><br>I have survey the efi specification and ask some question to efi engineer.<br>Difference between EFI C and ANSI C is as following:<br>1. void*<br>    In EFI C, the void* is 4-byte for 32-bit processor and 8-byte for 64-bit processor.<br>
    And it can appears in any where like ANSI C.<br>    So the main problem is that struct layout like<br>    struct S{<br>        void* X;<br>    };<br>    is not static.<br>2. no floating support in EFI C<br>3. no C++ support in EFI C<br>
4. no assembly support in EFI C, all assembly must convert to C<br><br>I am wondering that does LLVM support model which structure layout is determined at run time??<br>If not, do I need to modify the parser in clang to support this feature??<br>
<br>thanks<br><br>ching<br>