If the C source program falls under any of the following items, it may not be possible for the CC-RL to correctly compile the converted C source program.
When a keyword cannot be detected because a ## operator is being used |
||||
When '?' is included in the section name for #pragma section |
||||
When a section name that does not exist in the CC-RL is specified for the section name of #pragma section |
Warning W0523037 is output and the #pragma directive is ignored. There is a possibility that section allocation will fail and operation is not as expected. |
|||
When "/*" is included in an assembly-language comment (description after ";") within the range of #asm-#endasm |
A C-language comment ("/*") is given priority over an assembly-language comment (";") and the range of the comment is invalid. |
|||
When a label is included in __asm( ) or the assembly-language code within #asm-#endasm |
[Restrictions] of #pragma inline_asm in the CC-RL user's manual |
|||
When a 78K0-specific instruction or an instruction whose operation differs from that of RL78 is used in __asm() or the assembly-language code of #asm-#endasm |
No message is output and instructions are output without change to the #pragma inline_asm function. |
When a 78K0-specific instruction is used, an assembly error will occur. When an instruction whose operation differs from that of RL78 is used, operation may not be as expected. |
||
When there is #pragma interrupt and a description of the __interrupt keyword for the same function in a file |
There will be duplicate #pragma directives and error E0523006 will occur. |
|||
When parameters in function declarations __interrupt, __interrupt_brk, and __rtos_interrupt are omitted |
A #pragma directive is output and function declarations are output without change. |
Error E0523008 will occur since there is no void type specification. |
||
When a macro or typedef is used in code for obtaining a type name, function name, variable name, etc. |
A message is output and the program is output without being converted. |
|||
When there is #pragma rtos_interrupt and a description of the __rtos_interrupt keyword for the same function in a file |
There will be duplicate #pragma directives and error E0523006 will occur. |
|||
When the same address is specified for different variables in __directmap |
Absolute Address Allocation Specification [Restrictions] of #pragma address in the CC-RL user's manual |