GCC: The Complete Reference Errata


Flash Sheridan 

24 December 2005; minor revisions 18 February 2009


(1) 94: "Up to 64 bits" is incorrect; long longs, for instance, are a minimum of 64 bits.  (C99 spec 5.2.4.2.1.)

(2) 106 & 70:  The difference, if any (beyond the obvious command renaming), between the "Multiple Source Files to Executable" section in the C++ chapter, and the earlier corresponding section in the C chapter, should be explained explicitly.  

(3) 321:  The word "even" in "even multiple of 16" is unfortunate, since all multiples of sixteen are even.

(4) 322: The assembly language example needs an explanation of which sort of assembly language it is, presumably x86.

(5) 323: "single-quoted string".  The example on the following page is actually in double quotes.

(6) 329:  "if the value of topside and current are the same" and ".if topside - current" are inconsistent.

(7) 338: "Older systems" is not a machine type; I suspect it's a directory name which was copied into the text.

(8) 367-9:  A two and a half page RTL listing requires some explanation; the reader can't be expected to follow it at this stage—RTL is defined on page 372.

(9) 385: "the same as the specified expression, except it results in true or false" is poor word choice: LLONG_MAX, for instance, is hardly the same as 1.

(10) 391: "RTX" is used before it is defined.

Table 20-2/Expression: It needs to be made clearer whether the "X" in "RTX" means "executable" or "expression".

(11) 395: purse_addressof() .  This seems to be an error.

(12) 396: "automota" should be "automata".

(13) 398: "latency" should be defined in this context; it's not in the index.

(14) 415: "backslash" should be "slash".

(15) 420:  The "Machine List" section should be an actual list of machine names, not merely a file name listing.

(16) 503: "The default setting for GCC_EXEC_PREFIX is prefix/lib/gcc-lib/" seems wrong; there are no executables there in the distribution I checked.

(17) 512: "-- optimize optimize --optimize" is presumably an editing error.

(18) 514/546: -fold-string is listed on page 514, but not explained on page 546.

(19) 516ff: Explanation is needed for the marginal symbols, e.g., "LD-1".

(20) 519:  Alphabetic List of Options:  I would have greatly preferred a logically-organized listing of options; a reader who wants an organization that is merely alphabetical can already get it from the manual.

(21) 538:  "-ffor-scope / The default is to follow the standard."  More explanation is needed of what standard you mean in this context (presumably the language standard specified or defaulting from the command line), as well as what the various standards imply in this case.

(22) 565: In "the name is a directory to the primary list of directories", "directory" seems to be an editing error.

(23) 569: In the definitions of -MQ and -MT, the definition of -MQ assumes the definition of -MT, which it precedes, and more explanation is needed of what "appropriately" means.  Calling attention to the difference between the respective examples would also be helpful.

(24) 601: The definitions for C89 and C99 should be more definite, with at least the formal names of the standards.

(25) 618:  "text".  This is a definition of "text segment", not "text".

(26) 619: "An ordered comparison" should be "an unordered comparison".

(27) Index 643:  "Position independent code" should also list 613, 548, 74, 110–2, 132–3, 144, 165. 

Some of these passages are virtually identical to each other, though this is not made clear in the text.