[Cfp-interest 3099] N3219 - 6.2.5 #15 and #15 - Page 40

Damian McGuckin damianm at esi.com.au
Sun Apr 21 17:22:48 PDT 2024


Hi all,

Currently, the paragraphs 15 and 16 say:

15:

 	There are three complex types, designated as float _Complex,
 	double _Complex, and long double _Complex.#37) (Complex types are
 	a conditional feature that implementations may not support; see
 	6.10.10.4.) The real floating and complex types are collectively
 	called the floating types.

16:

 	For each floating type there is a corresponding real type, which
 	is always a real floating type. For real floating types, it is the
 	same type. For complex types, it is the type given by deleting the
 	keyword _Complex from the type name.

What is this "type name" term mentioned In the last sentence of 16.

The term is never defined until 6.7.8 which is almost 100 pages later.

Firstly

 	Does that mean we need a forward reference to the term here?

(I note that "type name" is mentioned in terms of scope in 6.2.1 when 
talking about scope. But it is neither defined there nor even forward 
referenced there. Actually "type name" is used heaps of times without a 
forward reference before it is defined. I was only interested in the usage 
of "type name" in Paragraph 16.  Not all those other cases)

I generally associate the "name of the type" as the "type name" but that 
is not the strict definition of 6.7.8.

Or more importantly, can that association of English words be infered for 
all readers of the document.

Should "type name" just say "type" in that Paragraph 16.

I note thet the type is "designated" in the first sentence of 15.

So, it could say

 	There are three complex types, designated as (one of the type
 	names) float _Complex, double _Complex, and long double _Complex.

That is correct grammatically and technically (as per 6.7.8) But, I do not 
really like it because it seems too clunky - it does not read smoothly.
Also, it is

a)	Not a strict definition of the term "type name" but it helps to
 	correctly interpret the subsequent paragraph, and importantly

b)	Inconsistent with the earlier defined types in 6.2.5 which are

 		designated as signed char, short int ... (Paragraph 4)
 		designated as float, double, ... (Paragraph 12)
 		designated as _Decimal32, _Decimal64 (Paragraph 13)

 	These are concise words and they make for a sharp, clear sentence

Suggestions?

Thanks - Damian


More information about the Cfp-interest mailing list