[Compile Options] tab


This tab shows the detailed information on the compile phase categorized by the following and the configuration can be changed.

 

(1) [Debug Information]

(2) [Optimization]

(3) [Optimization(Details)]

(4) [Preprocess]

(5) [Quality Improvement]

(6) [Memory Model]

(7) [C Language]

(8) [Character Encoding]

(9) [Output Code]

(10) [Output File]

(11) [Assemble List]

(12) [MISRA-C Rule Check]

(13) [Message]

(14) [Others]

Figure A.3

Property Panel: [Compile Options] Tab

[Description of each category]

(1)

[Debug Information]

The detailed information on debug information is displayed and the configuration can be changed.

Add debug information

Select whether to generate the debug information.

It is possible to perform source debugging with the debugger by outputting information for source debugging to the output file.

This property corresponds to the -g option of the ccrl command.

Default

Yes(-g)

How to change

Select from the drop-down list.

Restriction

Yes(-g)

Generates the debug information.

No

Does not generate the debug information.

Enhance debug information with optimization

Select whether to enhance debug information at optimization.

This property corresponds to the -g_line option of the ccrl command.

This property is displayed in the following cases.

-

When [Always latest version which was installed] or V1.02.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.02.00 or a later version of the CC-RL compiler has been installed

-

When [Yes(-g)] in the [Add debug information] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-g_line)

Enhances debug information at optimization.

No

Does not enhance debug information at optimization.

(2)

[Optimization]

The detailed information on the optimization is displayed and the configuration can be changed.

Level of optimization

Select the level of the optimization for compiling.

This property corresponds to the -O option of the ccrl command.

Default

Perform the default optimization(None)

How to change

Select from the drop-down list.

Restriction

Perform the default optimization(None)

Performs optimization that debugging is not affected (optimization of expressions and register allocation, and the like).

Code size precedence(-Osize)

Performs optimization with the object size precedence.

Regards reducing the ROM/RAM usage as important and performs the maximum optimization that is effective for general programs.

Speed precedence(-Ospeed)

Performs optimization with the execution speed precedence.

Regards shortening the execution speed as important and performs the maximum optimization that is effective for general programs.

Debug precedence(-Onothing)

Performs optimization with the debug precedence.

Regards debugging as important and suppresses all optimization including default optimization.

(3)

[Optimization(Details)]

The detailed information on the optimization is displayed and the configuration can be changed.

Maximum number of loop expansions

Specify the maximum number of times to expand the loops such as "for" and "while".

If 0 or 1 is specified, expansion is suppressed.

If this is blank, it is assumed that "2" has been specified.

This property corresponds to the -Ounroll option of the ccrl command.

This property is displayed only when [Perform the default optimization(None)], [Code size precedence(-Osize)] or [Speed precedence(-Ospeed)] in the [Level of optimization] property is selected.

Default

Blank

How to change

Directly enter in the text box.

Restriction

0 to 999 (decimal number) or blank

Remove unused static functions

Select whether to remove the static functions which are not called.

This property corresponds to the -Odelete_static_func option of the ccrl command.

Default

Yes(To adjust the level of optimization)(None)

How to change

Select from the drop-down list.

Restriction

Yes(To adjust the level of optimization)(None)

Performs optimization according to the [Level of optimization] property.

Yes(-Odelete_static_func)

Removes the unused static functions which are not called.

No(-Odelete_static_func=off)

Does not remove the unused static functions which are not called.

Perform inline expansion

Specify whether to perform inline expansion at the location calling functions.

This property corresponds to the -Oinline_level option of the ccrl command.

This property is displayed only when [Perform the default optimization(None)], [Code size precedence(-Osize)] or [Speed precedence(-Ospeed)] in the [Level of optimization] property is selected.

Default

Yes(To adjust the level of optimization)(None)

How to change

Select from the drop-down list.

Restriction

Yes(To adjust the level of optimization)(None)

Performs optimization according to the [Level of optimization] property.

Yes(Only specified functions)(-Oinline_level=1)

Performs inline expansion at the location calling the function for which #pragma inline is specified.

Yes(Auto-detect)(-Oinline_level=2)

Distinguishes the function that is the target of inline expansion automatically and expands it.

Yes(Auto-detect without code size increase)(-Oinline_level=3)

Distinguishes the function that is the target of inline expansion automatically and expands it, while minimizing the increase in code size.

No(-Oinline_level=0)

Suppresses all inline expansion including the function for which "#pragma inline" is specified.

Maximum increasing rate of inline expansion size

Specify the maximum increasing rate (%) of the code size up to which inline expansion is performed. (Example: When "100" is specified, inline expansion will be applied until the code size increases by 100% (becomes twice the initial size).)

This property corresponds to the -Oinline_size option of the ccrl command.

This property is displayed only when [Yes(Auto-detect)(-Oinline=2)] in the [Perform inline expansion] property is selected, or when [Yes(To adjust the level of optimization)] in the [Perform inline expansion] property and [Speed precedence(-Ospeed)] in the [Optimization Level] property are selected.

Default

100

How to change

Directly enter in the text box.

Restriction

0 to 65535 (decimal number)

Perform pipeline optimization

Select whether to improve the program's execution performance by reordering instructions at the machine-language level.

This property corresponds to the -Opipeline option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.03.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.03.00 or a later version of the CC-RL compiler has been installed.

Default

Yes(To adjust the level of optimization)(None)

How to change

Select from the drop-down list.

Restriction

Yes(To adjust the level of optimization)(None)

Performs optimization according to the [Level of optimization] property.

Yes(-Opipeline)

Performs pipeline optimization.

No(-Opipeline=off)

Does not perform pipeline optimization.

Use br instruction to call a function at the end of the function

Select whether to give precedence to using br instructions in the place of call instructions when the function ends with a function call.

This property corresponds to the -Otail_call option of the ccrl command.

Default

Yes(To adjust the level of optimization)(None)

How to change

Select from the drop-down list.

Restriction

Yes(To adjust the level of optimization)(None)

Performs optimization according to the [Level of optimization] property.

Yes(-Otail_call)

Gives precedence to using br instructions in the place of call instructions when the function ends with a function call.

The code size can be reduced by removing the ret instruction.

However, some debug functions cannot be used.

No(-Otail_call=off)

Uses call instructions when the function ends with a function call.

Perform inter-module optimization

Specify the level of inter-module optimization (such as function merging).

Only [Yes(Level 1)(Perform)(-Xintermodule)] and [No] are displayed when [No] in the [Build simultaneously] property in the [Build Method] category from the [Common Options] tab is selected.

This property corresponds to the -Owhole_program, -Omerge_files, and -Ointermodule options of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(Level 3)(Perform with assuming it the whole program)(-Owhole_program)

Performs inter-module optimization assuming that the source files comprise the entire program.

However, operation is not guaranteed if the preconditions are not met.

See "CC-RL Compiler User’s Manual" for details about the preconditions.

Yes(Level 2)(Perform with merging files)(-Omerge_files, -Ointermodule)

Merges two or more C source files and performs inter-module optimization.

This item is displayed only when two or more source files are added to the project.

Yes(Level 1)(Perform)(-Ointermodule)

Performs inter-module optimization for each file.

No

Does not perform inter-module optimization.

Perform optimization considering type of data indicated by pointer

Select whether to perform optimization with consideration for the type of the data indicated by the pointer, based on the ANSI standard.

This property corresponds to the -Oalias option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-Oalias=ansi)

Performs optimization with consideration for the type of the data indicated by the pointer.

In general, this option improves the object performance, but the execution result may differ from the case when [No] is selected.

No

Does not perform optimization with consideration for the type of the data indicated by the pointer.

Create subroutine for same instruction sequence

Select whether to create a subroutine for the same instruction sequence.

This property corresponds to the -Osame_code option of the ccrl command.

This property is displayed in the following cases.

-

When [Always latest version which was installed] or V1.02.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.02.00 or a later version of the CC-RL compiler has been installed

-

When [Perform the default optimization(None)], [Code size precedence(-Osize)] or [Speed precedence(-Ospeed)] in the [Level of optimization] property is selected

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-Osame_code)

Creates a subroutine for the same instruction sequence.

No

Does not create a subroutine for the same instruction sequence.

Outputs additional information for inter-module optimization

Select whether to output additional information for inter-module optimization.

At linkage, inter-module optimization is applied to files for which this option has been specified.

This property corresponds to the -goptimize option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-goptimize)

Outputs additional information for inter-module optimization.

No

Does not outputs additional information for inter-module optimization.

(4)

[Preprocess]

The detailed information on preprocessing is displayed and the configuration can be changed.

Additional include paths

Specify the additional include paths during compiling.

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

The specified include path is searched with higher priority than the standard include file folder of CC-RL.

The reference point of the path is the project folder.

When this property is omitted, only the standard folder of CC-RL is searched.

This property corresponds to the -I option of the ccrl command.

The specified include path is displayed as the subproperty.

When the include path is added to the project tree, the path is added to the top of the subproperties.

Uppercase characters and lowercase characters are not distinguished for the include paths.

Default

Additional include paths[number of defined items]

How to change

Edit by the Path Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 247 characters

Up to 256 items can be specified.

System include paths

Change the specified order of the include paths which the system set during compiling.

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

The system include path is searched with lower priority than the additional include path.

The reference point of the path is the project folder.

This property corresponds to the -I option of the ccrl command.

The include path is displayed as the subproperty.

Default

System include paths[number of defined items]

How to change

Edit by the System Include Path Order dialog box which appears when clicking the [...] button.

Restriction

Changes not allowed (Only the specified order of the include paths can be changed.)

Include files at head of compiling units

Specify the file that is included at the top of the compilation unit.

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

The reference point of the path is the project folder.

This property corresponds to the -preinclude option of the ccrl command.

The specified include file name is displayed as the subproperty.

Default

Include files at head of compiling units[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 247 characters

Up to 256 items can be specified.

Macro definition

Specify the name of the macro to be defined.

Specify in the format of "macro name=defined value", with one macro name per line.

The "=defined value" part can be omitted, and in this case, "1" is used as the defined value.

This property corresponds to the -D option of the ccrl command.

The specified macro is displayed as the subproperty.

Default

Macro definition[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 256 characters

Up to 256 items can be specified.

Macro undefinition

Specify the macro name to be undefined.

Specify in the format of "macro name", with one macro name per line.

This property corresponds to the -U option of the ccrl command.

The specified macro is displayed as the subproperty.

Default

Macro undefinition[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 256 characters

Up to 256 items can be specified.

Output C source comments to preprocessed file

Select whether to output the comments of the C source to the preprocessed file.

This property corresponds to the -preprocess option of the ccrl command.

This property is displayed only when [Yes(-P)] in the [Output preprocessed source file] property in the [Output File] category is selected.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-preprocess=comment)

Outputs the comments of the C source to the preprocessed file.

No

Does not output the comments of the C source to the preprocessed file.

Output line number information to preprocessed file

Select whether to output the line number information of the C source to the preprocessed file.

This property corresponds to the -preprocess option of the ccrl command.

This property is displayed only when [Yes(-P)] in the [Output preprocessed source file] property in the [Output File] category is selected.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-preprocess=line)

Outputs the line number information of the C source to the preprocessed file.

No

Does not output the line number information of the C source to the preprocessed file.

(5)

[Quality Improvement]

The detailed information on the quality improvement is displayed and the configuration can be changed.

Detect stack smashing

Select whether to detect the stack smashing.

This property is usable only in the Professional Edition.

Detection of stack smashing is a feature for writing a value outside the valid stack area before entering a function and checking whether that value is rewritten before exiting the function. Upon detection, the user-defined __stack_chk_fail() function is called.

See "CC-RL Compiler User's Manual" about the difference between [Yes(-stack_protector)] and [Yes(All)(-stack_protector_all)].

This property corresponds to the -stack_protector and -stack_protector_all options of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.02.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.02.00 or a later version of the CC-RL compiler has been installed.

Default

No(None)

How to change

Select from the drop-down list.

Restriction

Yes(-stack_protector)

Detects the stack smashing.

Yes(All)(-stack_protector_all)

Detects the stack smashing for all functions.

No(None)

Does not detect the stack smashing.

Value to be embedded for detecting stack smashing

Specify the value to be embedded for detecting the stack smashing.

This property is usable only in the Professional Edition.

This property corresponds to the -stack_protector and -stack_protector_all options of the ccrl command.

This property is displayed in the following cases.

-

When [Always latest version which was installed] or V1.02.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.02.00 or a later version of the CC-RL compiler has been installed

-

When other than [No(None)] in the [Detect stack smashing] property is selected

Default

Blank

How to change

Directly enter in the text box.

Restriction

0 to 65535 (decimal number)

Detect invalid indirect function call

Select whether to output code for detecting illegal indirect function calls.

Enable this facility to check the destination addresses of branches caused by each indirect function call.

The output code will call the user-defined __control_flow_chk_fail() function in response to the detection of a problem.

This property is usable only in the Professional Edition.

This property corresponds to the -control_flow_integrity option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed.

Default

No(None)

How to change

Select from the drop-down list.

Restriction

Yes(-control_flow_integrity)

Outputs code for detecting illegal indirect function calls.

No

Does not output code for detecting illegal indirect function calls.

(6)

[Memory Model]

The detailed information on the memory model is displayed and the configuration can be changed.

Memory model

Specify the type of memory model.

This property corresponds to the -memory_model option of the ccrl command.

Default

Auto(None)

How to change

Select from the drop-down list.

Restriction

Auto(None)

Automatically interprets the value of the [Specify CPU core] property in the [CPU] category in the [Common Options] tab (small when -cpu=S1 is selected, medium when -cpu=S2 or -cpu=S3 is selected).

Small model(-memory_model=small)

Specifies the small model(Code 64 K bytes/Data 64 K bytes) as the memory model.

Medium model(-memory_model=medium)

Specifies the medium model(Code 1 M bytes/Data 64 K bytes) as the memory model.

Locate ROM data to far area

Specify the allocation destination of ROM data.

This property corresponds to the -far_rom option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

No

Allocates ROM data depending on the value of the [Memory Model] property.

Yes(-far_rom)

Allocates ROM data to the far area.

(7)

[C Language]

The detailed information on C language is displayed and the configuration can be changed.

Standard of C language

Select the standard of C language.

This property corresponds to the -lang option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed.

Default

C(C90)(None)

How to change

Select from the drop-down list.

Restriction

C(C90)(None)

Compilation will proceed in compliance with the C90 standard.

C99(-lang=c99)

Compilation will proceed in compliance with the C99 standard.

Compile strictly according to ANSI standards

Select whether to process as making C source program comply strictly with the ANSI standard and output an error or warning for a specification that violates the standard.

This property corresponds to the -ansi option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.05.00 or an earlier version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.05.00 or an earlier version of the CC-RL compiler has been installed.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-ansi)

Processes as making C source program comply strictly with the ANSI standard and outputs an error or warning for a specification that violates the standard.

No

Compatibility with the conventional C language specifications is conferred and processing continues after warning is output.

Compile strictly according to the standards

Select whether to process as making C source program comply strictly with the C90 or C99 standard and output an error or warning for a specification that violates the standard.

This property corresponds to the -strict_std option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-strict_std)

Processes as making C source program comply strictly with the C90 or C99 standard and outputs an error or warning for a specification that violates the standard.

No

Compatibility with the conventional C language specifications is conferred and processing continues after warning is output.

Check function without prototype declaration

Select whether to generate an error when using a function whose prototype declaration was not made in advance or a function without a prototype declaration.

This property corresponds to the -refs_without_declaration option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-refs_without_declaration)

Checks functions without prototype declarations.

No

Does not check functions without prototype declarations.

Set 0xffff bytes to maximum variable size

Select whether to increase the maximum variable size from 0x7fff to 0xffff.

This property corresponds to the -large_variable option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-large_variable)

Increases the maximum variable size.

No

Does not increase the maximum variable size.

Allow nested comments

Select whether to allow the nest use of comments ("/*... */").

This property corresponds to the -nest_comment option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-nest_comment)

Allows the nest use of comments.

No

Does not allow the nest use of comments.

(8)

[Character Encoding]

The detailed information on character encoding is displayed and the configuration can be changed.

Character encoding

Select the character code to be used for Japanese/Chinese comments and character strings in the source file.

This property corresponds to the -character_set option of the ccrl command.

Default

Auto(None)

How to change

Select from the drop-down list.

Restriction

Auto(None)

Interprets the Japanese character code in the source file as SJIS on Japanese OS.

On other than Japanese OS, does not interpret the character code in the source file.

SJIS(-character_set=sjis)

Interprets the Japanese character code in the source file as SJIS.

EUC(-character_set=euc_jp)

Interprets the Japanese character code in the source file as EUC.

UTF-8(-character_set=utf8)

Interprets the Japanese character code in the source file as UTF-8.

Big5(-character_set=big5)

Interprets the Chinese character code in the source file as Traditional Chinese.

GBK(-character_set=gbk)

Interprets the Chinese character code in the source file as Simplified Chinese.

No-process(-character_set=none)

Does not interpret the Japanese/Chinese character code in the source file.

(9)

[Output Code]

The detailed information on output codes is displayed and the configuration can be changed.

Process double type / long double type as float type

Select whether to handle the double or long double type as the float type.

This property corresponds to the -dbl_size option of the ccrl command.

Default

Yes

How to change

Select from the drop-down list.

Restriction

Yes

Processes the double or long double type as the float type.

No(-dbl_size=8)

Does not process the double or long double type as the float type.

Sign of the char type

Select sign of the char type with no sign specification.

This property corresponds to the -signed_char option of the ccrl command.

Default

Handles as unsigned char(None)

How to change

Select from the drop-down list.

Restriction

Handles as signed char(-signed_char)

Handles the char type as signed char.

Handles as unsigned char(None)

Handles the char type as unsigned char.

Sign of the bit-field type

Select sign of the bit-field type with no sign specification.

This property corresponds to the -signed_bitfield option of the ccrl command.

Default

Handles as unsigned(None)

How to change

Select from the drop-down list.

Restriction

Handles as signed(-signed_bitfield)

Handles the bit-field type as signed.

Handles as unsigned(None)

Handles the bit-field type as unsigned.

Structure packing

Select whether to perform structure packing.

This property corresponds to the -pack option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.01.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.01.00 or a later version of the CC-RL compiler has been installed.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-pack)

Performs alignment of members in a structure in 1-byte units instead of performing alignment according to the member type.

No

Performs alignment of members in a structure according to the member type.

Handle external variables as if they are volatile qualified

Select whether to handle all external variables and variables specified with #pragma address as if they are volatile qualified.

This property corresponds to the -volatile option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-volatile)

Handles all external variables and variables specified with #pragma address as if they are volatile qualified.

No

Optimizes external variables that are not volatile qualified.

Output code of switch statement

Select the code output mode for switch statements in programs.

This property corresponds to the -switch option of the ccrl command.

Default

Auto(None)

How to change

Select from the drop-down list.

Restriction

Auto(None)

The ccrl selects the optimum output format.

if-else(-switch=ifelse)

Outputs the switch statements in the same format as the if-else statement along a string of case statements in programs.

Select this item if the case statements are written in the order of frequency or if only a few labels are used.

Because the case statements are compared starting from the top, unnecessary comparison can be reduced and the execution speed can be increased if the case statement that most often matches is written first.

Binary search(-switch=binary)

Outputs the code in the binary search format for switch statements in programs.

Searches for a matching case statement by using a binary search algorithm.

If this item is selected when many labels are used, any case statement can be found at almost the same speed.

Table jump(absolute)(-switch=abs_table)

Outputs the code in the table jump format (absolute branch) for switch statements in programs.

References a table indexed on the values in the case statements, and selects and processes case labels from the switch statement values.

The code will branch to all the case statements with about the same speed.

However, if case values are not used in succession, an unnecessary area will be created.

Table jump(relative)(-switch=rel_table)

Outputs the code in the table jump format (relative branch) for switch statements in programs.

References a table indexed on the values in the case statements, and selects and processes case labels from the switch statement values.

The code will branch to all the case statements with about the same speed.

However, if case values are not used in succession, an unnecessary area will be created.

Perform indirect referencing in 1-byte units

Select whether to perform indirect referencing in 1-byte units.

This property corresponds to the -unaligned_pointer_for_ca78k0r option of the ccrl command.

When [Yes(-unaligned_pointer_for_ca78k0r)] is selected, if there is a possibility that a pointer to a type having a 2-byte alignment condition without volatile keyword points to an odd address, code for indirect reference in 1-byte units are generated.

This property is displayed when [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-unaligned_pointer_for_ca78k0r)

Performs indirect referencing in 1-byte units.

No

Does not perform indirect referencing in 1-byte units.

Output comment to assembly source file

Select whether to output a C source program as a comment to the assembly source file to be output.

This property corresponds to the -pass_source option of the ccrl command.

This property is displayed only when [Yes(-asm_path)] in the [Output assembly source file] property in the [Output File] category is selected or when [Yes(-asmopt=-prn_path)] in the [Output assemble list file] property in the [Assemble List] category is selected.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-pass_source)

Outputs a C source program as a comment to the assembly source file.

No

Does not output a C source program as a comment to the assembly source file.

Merge string literals

When the same string literals exist in the source file, specify whether to merge them and allocate to the one area.

This property corresponds to the -merge_string option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-merge_string)

Merges the same string literals exist in the source file and allocates to the one area.

No

Each allocates the same string literals exist in the source file to separate areas.

Use NOP instruction insertion for measuring current consumption

Select whether to use the NOP instruction insertion for measuring current consumption.

This property corresponds to the -insert_nop_with_label option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.05.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.05.00 or a later version of the CC-RL compiler has been installed.

Caution

If you select [Yes(-insert_nop_with_label)] but the current setting for the [Add debug information] property in the [Debug Information] category is [No], a warning is output and the -g option enabled automatically. To suppress the output of the warning, select [Yes(-g)] in the [Add debug information] property.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-insert_nop_with_label)

Enables the NOP instruction insertion for measuring current consumption.

No

Disables the NOP instruction insertion for measuring current consumption.

Parameters of NOP instruction insertion for measuring current consumption

The parameters of NOP instruction insertion for measuring current consumption are displayed.

Set the position where NOP is output in the Editor panel. Note that this property is not applied to [Reset All to Default] from the context menu.

This property corresponds to the -insert_nop_with_label option of the ccrl command.

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or V1.05.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.05.00 or a later version of the CC-RL compiler has been installed

-

When [Yes(-insert_nop_with_label)] in the [Use NOP instruction insertion for measuring current consumption] property is selected

Default

Parameters of Use NOP instruction insertion for measuring current consumption[number of defined items]

How to change

Changes not allowed

(10)

[Output File]

The detailed information on output files is displayed and the configuration can be changed.

Output assembly source file

Select whether to output the assembly source file of the compile result for the C source.

This property corresponds to the -asm_path option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-asm_path)

Outputs the assembly source file of the compile result for the C source.

No

Does not output the assembly source file of the compile result for the C source.

Output folder for assembly source file

Specify the folder which the assembly source file is output.

If a relative path is specified, the reference point of the path is the main project or subproject folder.

If an absolute path is specified, the reference point of the path is the main project or subproject folder (unless the drives are different).

The following placeholder is supported.

%BuildModeName%: Replaces with the build mode name.

The assembly source file is saved under the C source file name with the extension replaced by ".asm".

If this is blank, it is assumed that the project folder has been specified.

This property corresponds to the -asm_path option of the ccrl command.

This property is displayed only when [Yes(-asm_path)] in the [Output assembly source file] property is selected.

Default

%BuildModeName%

How to change

Directly enter in the text box or edit by the Browse For Folder dialog box which appears when clicking the [...] button.

Restriction

Up to 247 characters

Output preprocessed source file

Select whether to output the execution result of preprocessing for the source file to a file.

This property corresponds to the -P option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-P)

Outputs the execution result of preprocessing for the source file to a file.

No

Does not output the execution result of preprocessing for the source file to a file.

Output folder for preprocessed source file

Specify the folder which the preprocessed source file is output.

The file is output under the source file name with the extension replaced by ".i".

If a relative path is specified, the reference point of the path is the main project or subproject folder.

If an absolute path is specified, the reference point of the path is the main project or subproject folder (unless the drives are different).

The following placeholder is supported.

%BuildModeName%: Replaces with the build mode name.

If this is blank, it is assumed that the project folder has been specified.

This property corresponds to the -prep_path option of the ccrl command.

This property is displayed only when [Yes(-P)] in the [Output preprocessed source file] property is selected.

Default

%BuildModeName%

How to change

Directly enter in the text box or edit by the Browse For Folder dialog box which appears when clicking the [...] button.

Restriction

Up to 247 characters

(11)

[Assemble List]

The detailed information on the assemble list is displayed and the configuration can be changed.

Output assemble list file

Select whether to output the assemble list file.

This property corresponds to the -asmopt=-prn_path option of the ccrl command.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-asmopt=-prn_path)

Outputs the assemble list file.

No

Does not output the assemble list file.

Output folder for assemble list file

Specify the folder which the assemble list file is output.

The assemble list file is output under the source file name with the extension replaced by ".prn".

If a relative path is specified, the reference point of the path is the main project or subproject folder.

If an absolute path is specified, the reference point of the path is the main project or subproject folder (unless the drives are different).

The following placeholder is supported.

%BuildModeName%: Replaces with the build mode name.

If this is blank, it is assumed that the project folder has been specified.

This property corresponds to the -asmopt=-prn_path option of the ccrl command.

This property is displayed only when [Yes(-asmopt=-prn_path)] in the [Output assemble list file] property is selected.

Default

%BuildModeName%

How to change

Directly enter in the text box or edit by the Browse For Folder dialog box which appears when clicking the [...] button.

Restriction

Up to 247 characters

(12)

[MISRA-C Rule Check]

The detailed information on the MISRA-C rule check are displayed and the configuration can be changed.

20XX in the following table corresponds to 2012 or 2004 in particular.

MISRA-C specification

Select the MISRA-C specification.

This property is usable only in the Professional Edition.

This property is displayed when [Always latest version which was installed] or V1.02.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.02.00 or a later version of the CC-RL compiler has been installed.

Default

MISRA-C 2012

How to change

Select from the drop-down list.

Restriction

MISRA-C 2012

Settings for MISRA-C 2012 are made in the subsequent properties.

MISRA-C 2004

Settings for MISRA-C 2004 are made in the subsequent properties.

Apply rule

Select the MISRA-C rules to be applied.

This property is usable only in the Professional Edition.

This property corresponds to the -misra20XX option of the ccrl command.

Default

Not apply rule(None)

How to change

Select from the drop-down list.

Restriction

Apply all rules(-misra20XX=all)

Checks the source code against all of the rules which are supported.

Apply specified rule number(-misra20XX=apply)

Checks the source code against the rules with the specified numbers among the rules which are supported.

Ignore specified rule number(-misra20XX=ignore)

Checks the source code against the rules that do not match the specified numbers among the rules which are supported.

Apply rules that are classified as "required"(-misra20XX=required)

Checks the source code against the rules of the "required" type.

Apply rules that are classified as "required" and specified rule number(-misra20XX=required_add)

Checks the source code against the rules of the "required" type and the rules with the specified numbers among the rules which are supported.

Ignore specified rule number from rules that are classified as "required"(-misra20XX=required_remove)

Checks the source code against the rules of the "required" type except for the rules with the specified numbers among the rules which are supported.

Apply rules that are described in the specified file(-misra20XX=<file name>)

Checks the source code against the rules with the numbers described in specified file among the rules which are supported.

Not apply rule(None)

Does not apply the MISRA-C rules.

Rule number description file

Specify the rule number description file (MISRA-C rule file).

This property is usable only in the Professional Edition.

When misra2012 is selected, the CC-RL compiler always checks the code against rule numbers 13.6, 17.3, and 17.4 (as well as 9.1 if the compiler is V1.04.00 or later, 12.5 and 21.13 if the compiler is V1.05.00 or later, and 17.6 if the compiler is V1.06.00 or later) regardless of which rule numbers have been specified through the properties setting.

The following placeholders are supported.

%BuildModeName%: Replaces with the build mode name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectName%: Replaces with the project name.

This property corresponds to the -misra20XX option of the ccrl command.

This property is displayed only when [Apply rules that are described in the specified file(-misra20XX=<file name>)] in the [Apply rule] property is selected.

Default

Blank

How to change

Directly enter in the text box or edit by the Specify MISRA-C Rule File dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters

Rule number

Specify the rule number to be checked.

This property is usable only in the Professional Edition.

When misra2012 is selected, the CC-RL compiler always checks the code against rule numbers 13.6, 17.3, and 17.4 (as well as 9.1 if the compiler is V1.04.00 or later, 12.5 and 21.13 if the compiler is V1.05.00 or later, and 17.6 if the compiler is V1.06.00 or later) regardless of which rule numbers have been specified through the properties setting.

Specify at least one rule number in decimal.

This property corresponds to the -misra20XX option of the ccrl command.

This property is displayed only when [Apply specified rule number(-misra20XX=apply)] in the [Apply rule] property is selected.

Default

Blank

How to change

Directly enter in the text box or edit by the Specify Rule Number dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters

Exclusion rule number

Specify the rule number to be excluded from the check.

This property is usable only in the Professional Edition.

When misra2012 is selected, the CC-RL compiler always checks the code against rule numbers 13.6, 17.3, and 17.4 (as well as 9.1 if the compiler is V1.04.00 or later, 12.5 and 21.13 if the compiler is V1.05.00 or later, and 17.6 if the compiler is V1.06.00 or later) regardless of which rule numbers have been specified through the properties setting.

Specify at least one rule number in decimal.

This property corresponds to the -misra20XX option of the ccrl command.

This property is displayed only when [Ignore specified rule number(-misra20XX=ignore)] in the [Apply rule] property is selected.

Default

Blank

How to change

Directly enter in the text box or edit by the Specify Rule Number dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters

Check rule number besides required rule

Specify the rule number to be checked besides the required rules.

This property is usable only in the Professional Edition.

When misra2012 is selected, the CC-RL compiler always checks the code against rule numbers 13.6, 17.3, and 17.4 (as well as 9.1 if the compiler is V1.04.00 or later, 12.5 and 21.13 if the compiler is V1.05.00 or later, and 17.6 if the compiler is V1.06.00 or later) regardless of which rule numbers have been specified through the properties setting.

Specify at least one rule number in decimal.

This property corresponds to the -misra20XX option of the ccrl command.

This property is displayed only when [Apply rules that are classified as "required" and specified rule number(-misra20XX=required_add)] in the [Apply rule] property is selected.

Default

Blank

How to change

Directly enter in the text box or edit by the Specify Rule Number dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters

Exclusion rule number from required rule

Specify the required rule number to be excluded from the check.

This property is usable only in the Professional Edition.

When misra2012 is selected, the CC-RL compiler always checks the code against rule numbers 13.6, 17.3, and 17.4 (as well as 9.1 if the compiler is V1.04.00 or later, 12.5 and 21.13 if the compiler is V1.05.00 or later, and 17.6 if the compiler is V1.06.00 or later) regardless of which rule numbers have been specified through the properties setting.

Specify at least one rule number in decimal.

This property corresponds to the -misra20XX option of the ccrl command.

This property is displayed only when [Ignore specified rule number from rules that are classified as "required"(-misra20XX=required_remove)] in the [Apply rule] property is selected.

Default

Blank

How to change

Directly enter in the text box or edit by the Specify Rule Number dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters

Rule check exclusion file

Specify files that will not be checked against the MISRA-C rules.

This property is usable only in the Professional Edition.

The following placeholders are supported.

%BuildModeName%: Replaces with the build mode name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%ProjectName%: Replaces with the project name.

This property corresponds to the -ignore_files_misra option of the ccrl command.

This property is displayed only in the following cases.

-

When [Apply all rules] is selected in the [Apply rule] property

-

When [Apply rules that are classified as "required"] is selected in the [Apply rule] property

-

When [Apply specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Rule number] property

-

When [Ignore specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Rule number] property

-

When [Apply rules that are classified as "required" and specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Check rule number besides required rule] property

-

When [Ignore specified rule number from rules that are classified as "required"] is selected in the [Apply rule] property and a rule number is specified in the [Exclusion rule number from required rule] property

-

When [Apply rules that are described in the specified file] is selected in the [Apply rule] property and a rule number description file is specified in the [Rule number description file] property

Default

Rule check exclusion file[number of defined items]

How to change

Edit by the Path Edit dialog box which appears when clicking the [...] button.

-> Edit by the Add Excluding File dialog box which appears when clicking the [Browse...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 259 characters

Output message of the enhanced key word and extended specifications

Select whether to output the message of the enhanced key word and extended specifications.

This property is usable only in the Professional Edition.

This property corresponds to the -check_language_extention option of the ccrl command.

This property is displayed only in the following cases.

-

When [Apply all rules] is selected in the [Apply rule] property

-

When [Apply rules that are classified as "required"] is selected in the [Apply rule] property

-

When [Apply specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Rule number] property

-

When [Ignore specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Rule number] property

-

When [Apply rules that are classified as "required" and specified rule number] is selected in the [Apply rule] property and a rule number is specified in the [Check rule number besides required rule] property

-

When [Ignore specified rule number from rules that are classified as "required"] is selected in the [Apply rule] property and a rule number is specified in the [Exclusion rule number from required rule] property

-

When [Apply rules that are described in the specified file] is selected in the [Apply rule] property and a rule number description file is specified in the [Rule number description file] property

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(-check_language_extension)

Enables MISRA-C rule check and outputs messages when the rule check is partially suppressed by the unique language specifications extended from the C language standard.

No

Disables MISRA-C rule check is disabled, which are partially suppressed by the extended language specifications.

(13)

[Message]

The detailed information on messages is displayed and the configuration can be changed.

Change warning message to error message

Select whether to change the type of warning messages to error.

This property corresponds to the -change_message option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed.

Default

No

How to change

Select from the drop-down list.

Restriction

Yes(All)(-change_message=error)

Changes the type of all warning messages to error.

Yes(Specify message number)(-change_message=error=<Message number>)

Specifies the number of warning message of which type is to be changed to error.

No

Does not change the type of warning messages.

Number of warning message

Specify the number of the warning message.

If multiple message numbers are specified, delimit them with "," (comma) (example: 23028,23086).

Also, a range of message numbers can be specified using "-" (hyphen) (example:23028-23086).

This property corresponds to the -change_message option of the ccrl command.

 

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or V1.06.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.06.00 or a later version of the CC-RL compiler has been installed

-

When [Yes(Specify message number)(-change_message=error=<Message number>)] in the [Change warning message to error message] property is selected

Default

Blank

How to change

Directly enter in the text box or edit by the Character String Input dialog box which appears when clicking the [...] button.

Restriction

Up to 32767 characters

(14)

[Others]

Other detailed information on compilation is displayed and the configuration can be changed.

Use support for porting from other compiler

Select whether to use support for porting from other compilers.

This property corresponds to the -convert_cc option of the ccrl command.

This property is displayed when [Always latest version which was installed] or V1.01.00 or a later version is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V1.01.00 or a later version of the CC-RL compiler has been installed.

Default

No(None)

How to change

Select from the drop-down list.

Restriction

Yes(CA78K0R)(-convert_cc=ca78k0r)

Uses support for porting from the CA78K0R compiler.

Yes(NC30)(-convert_cc=nc30)

Uses support for porting from the NC30 compiler.

Yes(IAR)(-convert_cc=iar)

Uses support for porting from the IAR compiler.

No(None)

Uses support for porting from other compiler.

Commands executed before compile processing

Specify the command to be executed before compile processing.

Use the call instruction to specify a batch file (example: call a.bat).

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%CompiledFile%: Replaces with the absolute path of the output file under compiling.

%InputFile%: Replaces with the absolute path of the file to be compiled.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%Options%: Replaces with the command line option under build execution.

%OutputDir%: Replaces with the absolute path of the output folder.

%OutputFile%: Replaces with the absolute path of the output file.

%Program%: Replaces with the program name under execution.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

When "#!python" is described in the first line, the contents from the second line to the last line are regarded as the script of the Python console, and then executed before compile processing.

The placeholders can be described in the script.

The specified command is displayed as the subproperty.

Default

Commands executed before compile processing[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Commands executed after compile processing

Specify the command to be executed after compile processing.

Use the call instruction to specify a batch file (example: call a.bat).

The following placeholders are supported.

%ActiveProjectDir%: Replaces with the absolute path of the active project folder.

%ActiveProjectName%: Replaces with the active project name.

%BuildModeName%: Replaces with the build mode name.

%CompiledFile%: Replaces with the absolute path of the output file under compiling.

%InputFile%: Replaces with the absolute path of the file to be compiled.

%MainProjectDir%: Replaces with the absolute path of the main project folder.

%MainProjectName%: Replaces with the main project name.

%MicomToolPath%: Replaces with the absolute path of the install folder of this product.

%Options%: Replaces with the command line option under build execution.

%OutputDir%: Replaces with the absolute path of the output folder.

%OutputFile%: Replaces with the absolute path of the output file.

%Program%: Replaces with the program name under execution.

%ProjectDir%: Replaces with the absolute path of the project folder.

%ProjectName%: Replaces with the project name.

%TempDir%: Replaces with the absolute path of the temporary folder.

%WinDir%: Replaces with the absolute path of the Windows system folder.

When "#!python" is described in the first line, the contents from the second line to the last line are regarded as the script of the Python console, and then executed after compile processing.

The placeholders can be described in the script.

The specified command is displayed as the subproperty.

Default

Commands executed after compile processing[number of defined items]

How to change

Edit by the Text Edit dialog box which appears when clicking the [...] button.

For the subproperty, you can enter directly in the text box.

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Other additional options

Input the compile option to be added additionally.

The options set here are added at the end of the compile options group.

Default

Blank

How to change

Directly enter in the text box or edit by the Character String Input dialog box which appears when clicking the [...] button.

Restriction

Up to 259 characters