volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Using Volatiles with INTEGRITY TimeMachine Enabled . . . 638
const . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Assignment and Comparisons on struct and union Types . . . . . . . . 640
Bitelds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
ANSI C Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Signedness of Bitelds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Size and Alignment of Bitelds . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Enumerated Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Functions with Variable Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . 645
The <stdarg.h> Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
The asm Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
The Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Preprocessor Output File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Extended Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Compiler Support for Multibyte Characters . . . . . . . . . . . . . . . . 649
Kanji Character Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Compiler Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
C Implementation-Dened Features . . . . . . . . . . . . . . . . . . . . . . . . . . 653
J.2 Undened Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
J.3.1 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
J.3.2 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
J.3.3 Identiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
J.3.4 Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
J.3.5 Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
J.3.6 Floating Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
J.3.7 Arrays and Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
J.3.8 Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
J.3.9 Structures, Unions, Enumerations and Bit-elds . . . . . . . 660
J.3.10 Qualiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
J.3.11 Preprocessing Directives . . . . . . . . . . . . . . . . . . . . . . . . . . 662
J.3.12 Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
J.3.13 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
J.4 Locale-Specic Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Additional Implementation Information . . . . . . . . . . . . . . . . . . . 672
MULTI: Building Applications for Embedded ARMxvi
Contents