vi
SC100 C Compiler
3.3.3
3.3.4
3.3.5
3.3.5.1
3.3.5.2
3.3.5.3
3.3.6
3.3.7
3.3.7.1
3.3.7.2
3.3.7.3
3.3.7.4
3.3.8
3.3.8.1
3.3.8.2
3.3.8.3
3.3.8.4
3.3.8.5
3.3.8.6
3.4
3.4.1
3.4.1.1
3.4.1.2
3.4.2
3.4.2.1
3.4.2.2
3.4.2.3
3.4.2.4
3.4.2.5
3.4.2.6
3.4.3
3.4.4
3.4.4.1
3.4.4.2
3.4.4.3
3.4.5
3.4.5.1
3.4.5.2
3.4.5.3
3.4.5.4
3.4.5.5
3.4.6
Overriding Input File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19
Output Filename and Location Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20
Specifying C Language Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21
Defining the language version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21
Adding debugging information to files. . . . . . . . . . . . . . . . . . . . . . . . . . .3-21
Changing the default char sign setting . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21
Passing Options Through to Specific Tools . . . . . . . . . . . . . . . . . . . . . . . . . .3-22
Setting the Options for Listings and Messages. . . . . . . . . . . . . . . . . . . . . . . .3-23
Generating listing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23
Controlling the type of information displayed . . . . . . . . . . . . . . . . . . . . .3-24
Suppressing warnings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24
Reporting all remarks and warnings. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24
Specifying the Hardware Model and Configuration. . . . . . . . . . . . . . . . . . . .3-25
Defining specific configuration and startup files . . . . . . . . . . . . . . . . . . .3-25
Defining memory mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-25
Copying initialized variables from ROM . . . . . . . . . . . . . . . . . . . . . . . . .3-26
Specifying the silicon revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-26
Defining the profiling information file. . . . . . . . . . . . . . . . . . . . . . . . . . .3-26
Specifying big-endian mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-26
Language Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-27
C Language Dialects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-27
Standard Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-27
K&R/PCC mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-32
Types and Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-37
Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-38
Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-39
Floating point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-40
Fractional representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-41
Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-41
Bit-fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-41
Fractional and Integer Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-43
Intrinsic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-46
Data types for intrinsic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-46
Intrinsic function categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-47
Intrinsic functions examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-52
Pragmas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-54
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-54
Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-54
Pragmas which apply to functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-56
Pragmas which apply to statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-58
Pragmas which apply to variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-61
Predefined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-63