Re: Making MSVC/clang-cl succeed AC_PROG_CC C11 discovery

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

 



Antonin Décimo <antonin@xxxxxxxxxxx> writes:

> Le mar. 30 avr. 2024 à 15:01, Sam James <sam@xxxxxxxxxx> a écrit :
>>
>> Paul Eggert <eggert@xxxxxxxxxxx> writes:
>>
>> > On 2024-04-26 08:10, Zack Weinberg wrote:
>> >
>> >> I think what we should do here is fold AC_C_VARARRAYS into AC_PROG_CC.
>> >> Take the test for VLAs completely out of _AC_C_C99_TEST_MAIN, but
>> >> unconditionally *run* a test for VLAs as part of AC_PROG_CC.  If that
>> >> test fails, and __STDC_NO_VLA__ was not defined by the compiler,
>> >> then AC_DEFINE([__STDC_NO_VLA__], 1)
>> >
>> > Although the basic strategy sounds reasonable, AC_PROG_CC is
>> > documented to operate by setting compiler options not via AC_DEFINE,
>> > so presumably this should put -D__STDC_NO_VLA__ into $CC rather than
>> > use AC_DEFINE.
>> >
>> > I installed the attached patch, which is less ambitious but should
>> > address the original problem report. The attached patch doesn't
>> > preclude your suggestion, which can be done later as needed.
>> >
>> > [2. text/x-patch; 0001-Port-better-to-MSVC.patch]...
>>
>> Note that "or later" isn't right -- C23 makes VLAs mandatory again.
>
> I don't think that's true… Wikipedia links to the paper modifying the
> standard:
>
>> For these reasons, we propose to make variably-modified types
>> mandatory in C23. VLAs with automatic storage duration remain an
>> optional language feature due to their higher implementation
>> overhead and security concerns on some implementations (i.e. when
>> allocated on the stack and not using stack probing).
>
> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2778.pdf

You're right - I confused VLAs with VMTs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896#c13.

Thanks!

>
> Best regards,
> Antonin

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux