Article View: comp.std.c
Article #3516Re: Integral promotion.
From: Norman Diamond
Date: Wed, 21 Feb 1996 14:42
Date: Wed, 21 Feb 1996 14:42
38 lines
2658 bytes
2658 bytes
In article <4g54pv$ajt@solutions.solon.com>, msb@sq.com writes: >I wrote: >>> Thus even in ANSI C, if this function is called this way: >>>extern short p, q, r, test(short,short); >>>r = test(p,q); >>> the values from p and q are still converted from short to int and back >>> to short. >Thad Smith (ThadSmith@acm.org) responded: >>I find nothing in the Standard that states that the arguments undergo >>integral promotions before being assigned to the function parameters. >This is in 6.2.1.1/3.2.1.1, the passage which defines the integral >promotions. It states that the promotions apply ># in an expression wherever an int or unsigned int may be used. It does not. 6.2/3.2 begins with the sentence: "Several operators convert values from one type to another automatically." The entire section proceeds to describe what kinds of conversions occur in which kinds of contexts, all within the context of which operators convert values automatically. The entire section is irrelevant to other contexts, such as those in which operators do not convert values automatically (e.g. postfix ++, e.g. function call, e.g. sizeof, even e.g. assignment when the left and right sides have the same type). Part of the definition of the binary + operator is to perform the integral promotions on its operands. There is stuff like this all over the chapter on expressions. If all this stuff were unnecessary, they might not have repeated it 20 times, or it might have been caught and submitted as a defect report many years ago. You miscorrected Chris Torek and you made him believe you. You miscorrected Thad Smith and me, but we aren't falling for it. -- << If this were the company's opinion, I would not be allowed to post it. >> "I paid money for this car, I pay taxes for vehicle registration and a driver's license, so I can drive in any lane I want, and no innocent victim gets to call the cops just 'cause the lane's not goin' the same direction as me" - J Spammer
Technical Details
Message-ID:
<4gfavt$21b@solutions.solon.com>Path:
arc1-ca.pugleaf.net!solon.com!not-for-mailReferences:
<4fstj7$2l6@solutions.solon.com> <4fu835$9de@solutions.solon.com> <4fvgrm$dv9@solutions.solon.com> <4g28hr$qko@solutions.solon.com> <4g54pv$ajt@solutions.solon.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!solon.com!not-for-mail From: diamond@tko.dec.com (Norman Diamond) Newsgroups: comp.std.c,comp.lang.c.moderated Subject: Re: Integral promotion. Date: 21 Feb 1996 08:42:05 -0600 Organization: Digital Equipment Corporation Japan , Tokyo Sender: clc@solutions.solon.com Approved: clc@solutions.solon.com Message-ID: <4gfavt$21b@solutions.solon.com> References: <4fstj7$2l6@solutions.solon.com> <4fu835$9de@solutions.solon.com> <4fvgrm$dv9@solutions.solon.com> <4g28hr$qko@solutions.solon.com> <4g54pv$ajt@solutions.solon.com> Reply-To: diamond@jrdv04.enet.dec-j.co.jp (Norman Diamond) NNTP-Posting-Host: solutions.solon.com