Arrays And Pointers; Hints; Structures, Unions, Enumerations, And Bit-Fields - Red Hat ENTERPRISE LINUX 3 - USING GCC Using Instructions

Using the gnu compiler collection (gcc)
Hide thumbs Also See for ENTERPRISE LINUX 3 - USING GCC:
Table of Contents

Advertisement

Chapter 5. C Implementation-defined behavior
[Whether the "inexact" floating-point exception can be raised when the rounded result actually does
equal the mathematical result in an IEC 60559 conformant implementation (F.9).]
[Whether the "underflow" (and "inexact") floating-point exception can be raised when a result is
tiny but not inexact in an IEC 60559 conformant implementation (F.9).]

5.7. Arrays and pointers

[The result of converting a pointer to an integer or vice versa (6.3.2.3).]
A cast from pointer to integer discards most-significant bits if the pointer representation is larger
than the integer type, sign-extends
otherwise the bits are unchanged.
A cast from integer to pointer discards most-significant bits if the pointer representation is smaller
than the integer type, extends according to the signedness of the integer type if the pointer repre-
sentation is larger than the integer type, otherwise the bits are unchanged.
When casting from pointer to integer and back again, the resulting pointer must reference the same
object as the original pointer, otherwise the behavior is undefined. That is, one may not use integer
arithmetic to avoid the undefined behavior of pointer arithmetic as proscribed in 6.5.6/8.
[The size of the result of subtracting two pointers to elements of the same array (6.5.6).]

5.8. Hints

[The extent to which suggestions made by using the
(6.7.1).]
The
specifier affects code generation only in these ways:
register
When used as part of the register variable extension, see Section 6.40 Variables in Specified
Registers.
When
is in use, the compiler allocates distinct stack memory for all variables that do not
-O0
have the
register
shorter lifespan than the code would indicate and may never be placed in memory.
On some rare x86 targets,
GCC doesn't allocate any variables in registers unless they are marked
[The extent to which suggestions made by using the inline function specifier are effective (6.7.4).]
GCC will not inline any functions if the
GCC may still be unable to inline a function for many reasons; the
to determine if a function has not been inlined and why not.
5.9. Structures, unions, enumerations, and bit-fields
[Whether a "plain" int bit-field is treated as a
field (6.7.2, 6.7.2.1).]
1. Future versions of GCC may zero-extend, or use a target-defined
extension.
1
if the pointer representation is smaller than the integer type,
storage-class specifier; if
doesn't save the registers in all circumstances. In those cases,
setjmp
-fno-inline
storage-class specifier are effective
register
is specified, the variable may have a
register
option is used or if
bit-field or as an
signed int
ptr_extend
.
register
is used. Otherwise,
-O0
option may be used
-Winline
unsigned int
pattern. Do not rely on sign
117
bit-

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ENTERPRISE LINUX 3 - USING GCC and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

This manual is also suitable for:

Enterprise linux 3

Table of Contents