Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vc73bl$28v0v$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vc73bl$28v0v$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Robert Finch <robfi680@gmail.com>
Newsgroups: comp.arch
Subject: Re: Computer architects leaving Intel...
Date: Sun, 15 Sep 2024 12:52:04 -0400
Organization: A noiseless patient Spider
Lines: 75
Message-ID: <vc73bl$28v0v$1@dont-email.me>
References: <vaqgtl$3526$1@dont-email.me>
 <2024Aug30.161204@mips.complang.tuwien.ac.at> <86r09ulqyp.fsf@linuxsc.com>
 <2024Sep8.173639@mips.complang.tuwien.ac.at>
 <p1cvdjpqjg65e6e3rtt4ua6hgm79cdfm2n@4ax.com>
 <2024Sep10.101932@mips.complang.tuwien.ac.at> <ygn8qvztf16.fsf@y.z>
 <2024Sep11.123824@mips.complang.tuwien.ac.at> <vbsoro$3ol1a$1@dont-email.me>
 <867cbhgozo.fsf@linuxsc.com> <20240912142948.00002757@yahoo.com>
 <vbuu5n$9tue$1@dont-email.me> <20240915001153.000029bf@yahoo.com>
 <vc6jbk$5v9f$1@paganini.bofh.team> <20240915154038.0000016e@yahoo.com>
 <vc70sl$285g2$4@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 15 Sep 2024 18:52:06 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="3222acdc67edaf9445b22785b52765d7";
	logging-data="2391071"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+J4+fOAqix6xGpG7EDDXczilehaSP0jqs="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:zv6OxDBILQ4ndMbIIzosbwdPPpk=
Content-Language: en-US
In-Reply-To: <vc70sl$285g2$4@dont-email.me>
Bytes: 4497

On 2024-09-15 12:09 p.m., David Brown wrote:
> On 15/09/2024 14:40, Michael S wrote:
>> On Sun, 15 Sep 2024 12:19:02 -0000 (UTC)
>> Waldek Hebisch <antispam@fricas.org> wrote:
>>
>>> Michael S <already5chosen@yahoo.com> wrote:
>>>> On Thu, 12 Sep 2024 16:34:31 +0200
>>>> David Brown <david.brown@hesbynett.no> wrote:
>>>>> On 12/09/2024 13:29, Michael S wrote:
>>>>>> On Thu, 12 Sep 2024 03:12:11 -0700
>>>>>> Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
>>>>>>> BGB <cr88192@gmail.com> writes:
>>>>>
>>>>> I fully agree that C is not, and should not be seen as, a
>>>>> "high-level assembly language".  But it is a language that is very
>>>>> useful to "hardware-type folks", and there are a few things that
>>>>> could make it easier to write more portable code if they were
>>>>> standardised.  As it is, we just have to accept that some things
>>>>> are not portable.
>>>>>> Why not?
>>>>>> I don't see practical need for all those UBs apart from buffer
>>>>>> overflow. More so, I don't see the need for UB in certain limited
>>>>>> classes of buffer overflows.
>>>>>>
>>>>>> struct {
>>>>>>    char x[8]
>>>>>>    int  y;
>>>>>> } bar;
>>>>>> bar.y = 0; bar.x[8] = 42;
>>>>>>
>>>>>> IMHO, here behavior should be fully defined by implementation.
>>>>>> And in practice it is. Just not in theory.
>>>>>
>>>>> And how should that be defined?
>>>>
>>>>
>>>> bar.x[8] = 42 should be defined to be the same as
>>>>    char tmp = 42
>>>>    memcpy(&bar.y, &tmp, sizeof(tmp));
>>>
>>> That has two drawbacks: minor one that you need to know that
>>> there are no padding between 'x' and 'y'.
>>
>> Padding is another thing that should be Implementation Defined.
> 
> It is.
> 
>> I.e. compiler should provide complete documentation of its padding
>> algorithms.
> 
> They do.  Or, they should.  Often they are lazy and say "defined by the 
> platform ABI".  Really, it is only the alignments that are needed.
> 
> C defines the minimum padding between members in a struct - you get the 
> padding needed to ensure that members are correctly aligned.  I don't 
> think the C standards disallow additional padding, but it would be an 
> extraordinarily strange implementation if there were anything more than 
> this minimum padding.
> 
> But I certainly wouldn't mind if the standards dictated this minimum 
> padding, and then there would be nothing left to the implementation 
> other than alignments.
> 
>> In addition, some padding-related things can be defined by Standard
>> itself. Not in this particular case, but, for example, it could be
>> defined that when field of one integer type is immediately followed by
>> another field of integer type with the same or narrower width then
>> there should be no padding in-between.
>>
> 
What about bit-fields in a struct? I believe they are usually packed. In 
case its for something like an I/O device.