Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: Microsoft Will now support C11 and C17 standard!!!!!!!!!! Date: Fri, 18 Sep 2020 23:43:57 -0700 Organization: A noiseless patient Spider Lines: 41 Message-ID: <864knu1d1u.fsf@linuxsc.com> References: <87o8m4o0vv.fsf@bsb.me.uk> <878sd8m0ew.fsf@bsb.me.uk> <7d838b58-49a1-43ca-a579-a54ff0d7f0e7o@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="6359d394b198f332ce01894f26394bb7"; logging-data="26433"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX192ZiMYW3cv8LmanRRfLfomCENYL2OQlpg=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:GIJ8X2xm9qqAvinv13DMewjoElg= sha1:m1MuMakmeyzssBjxMIQyWgkQopQ= Xref: csiph.com comp.lang.c:155146 Bart writes: > On 18/09/2020 23:53, BGB wrote: > >> On 9/18/2020 9:31 AM, already5chosen@yahoo.com wrote: >> >>> On Friday, September 18, 2020 at 2:47:03 AM UTC+3, Ben Bacarisse wrote: >>> >>>> I don't know if MS has any opinion about _Complex in C, but its >>>> opposition to VLAs was well known. >>>> >>>> -- >>> Ben. >>> >>> I would think that Microsoft doesn't like C features that can't be >>> easily expressed in C++. Especially those of them that are not >>> "just parser", but require non-trivial support by code generator or >>> language runtime. >> >> VLAs, at least to support them "well", could add a particular evil >> at the ABI level: variable length stack frames. > > That would be the least of the problems. Others complications include > VLAs inside block scopes (as they must be deallocated at block end_, > loops that redeclare a VLA with a different size each time, and gotos > into and out of blocks that contain VLAs. Bart displays his willful ignorance. > Plus the fact that a VLA is the simplest example of what is really a > variable /type/ specifier: > > void fn(int m,n) { > typedef int (*T)[m][n]; > .... > T A; > ++m; --n; > {T B; ...} > Does changing m and n here change the value sizeof returns from the > array parts of A? Bart again displays his willful ignorance.