Everything
 

[Individual Compile Options(C++)] tab


This tab shows the detailed information on a C++ source file categorized by the following and the configuration can be changed.

Note that this tab takes over the settings of the [Compile Options] tab.

If the settings are changed from the [Compile Options] tab, the properties are displayed in boldface.

Remark

This tab is displayed only when [Yes] in the [Set individual compile option] property in the [Build] category from the [Build Settings] tab is selected.

 

(1)[Source]

(2)[Object]

(3)[Quality Improvement]

(4)[List]

(5)[Optimization]

(6)[Output File]

(7)[Others]

[Description of each category]

(1)

[Source]

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

Language of the C++ source file

Selects language of the C++ source file.

This option corresponds to the -lang option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

C++ (-lang=cpp)

Compiles as an EC++ source file.

EC++ (-lang=ecpp)

Compiles as a C++ source file.

Additional include paths

Specifies the name of the path to the folder that stores the include file.

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 -include option of the compiler.

The specified include path is displayed as the subproperty.

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 use the text box directly enter the text.

Restriction

Up to 247 characters

Up to 65536 items can be specified.

Use whole include paths specified for build tool

Selects whether to compile using the include path specified in the [Additional include paths] property in the [Source] category from the [Compile Options] tab of the build tool to be used.

The include paths are added by the following procedure.

-

Paths specified in the [Additional include paths] property from this tab

-

Paths specified in the [Additional include paths] in the [Source] category from the [Compile Options] tab

This property corresponds to the -include option of the compiler.

Default

Yes

How to change

Select from the drop-down list.

Restriction

Yes

Compiles using the include path specified in the property of the build tool to be used.

No

Does not use the include path specified in the property of the build tool to be used.

Include files at the head of compiling units

Specifies include files at the head of compiling units.

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 compiler.

Default

Configuration of the compile option

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 259 characters

Up to 65536 items can be specified.

Macro definition

Specifies the macro name to be defined.

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

The "=string" part can be omitted, and in this case, the macro name is assumed to be defined.

This property corresponds to the -define option of the compiler.

The specified macro is displayed as the subproperty.

Default

Configuration of the compile option

How to change

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

For the subproperty, you can use the text box directly enfter the text.

Restriction

Up to 32767 characters

Up to 65536 items can be specified.

Invalidates the predefined macro

Specifies invalidates the predefined macro.

If multiple macro names are specified, delimit them with a comma (example: __DBL4,__SCHAR).

This property corresponds to the -undefine option of the compiler.

Default

Configuration of the compile option

How to change

Edit by the Specify The Predefined Macro dialog box which appears when clicking the [...] button.

Restriction

Up to 32767 characters

Enables information-level message output

Specifies whether information level messages are output.

This property corresponds to the -message and -nomessage options of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(-message)

Enables information message output.

No(-nomessage)

Disables information message output.

Suppresses the number of information-level messages

Specifies the number of information-level message to be suppressed.

If multiple message numbers are specified, delimit them with a comma (example: 23043,23042).

Also, the range can be set using hyphen (example: 23044-23045,23046-23048).

This property corresponds to the -nomessage option of the compiler.

This property is displayed only when [No(-nomessage)] in the [Enables information-level message output] property is specified.

Default

Configuration of the compile option

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

Undisplayed messages

Specifies the information-level or warning-level message number not to be displayed.

If multiple message numbers are specified, delimit them with a comma (example: 23043,23042).

Also, the range can be set using hyphen (example: 23044-23045,23046-23048).

This property corresponds to the -no_warning option of the compiler.

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

Default

Configuration of the compile option

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

Changes the warning-level messages to information-level messages

Selects whether to change the warning-level messages to information-level messages.

This property corresponds to the -change_message option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(All) (-change_message=information)

Changes all warning-level messages to the information-level messages.

Yes(Specifies error number) (-change_message=information=<ErrorNumber>)

Changes the warning-level messages with the specified error numbers to the information-level messages.

No

Does not change the warning-level messages to the information-level messages.

Error number of warning-level message

Specifies error number of warning-level message.

If multiple message numbers are specified, delimit them with a comma (example: 23043,23042).

Also, the range can be set using hyphen (example: 23044-23045,23046-23048).

This property corresponds to the -change_message option of the compiler.

This property is displayed only when [Yes(Specifies error number) (-change_message=information=<ErrorNumber>)] in the [Changes the warning-level messages to information-level messages] property is specified.

Default

Configuration of the compile option

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

Changes the information-level messages to warning-level messages

Selects whether to change the information-level messages to warning-level messages.

This property corresponds to the -change_message option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(All) (-change_message=warning)

Changes all information-level messages to warning-level messages.

Yes(Specifies error number) (-change_message=warning=<ErrorNumber>)

Changes the information-level messages with the specified error numbers to warning-level messages.

No

Does not change the information-level messages to warning-level messages.

Error number of information-level message

Specifies error number of information-level message.

If multiple message numbers are specified, delimit them with a comma (example: 23043,23042).

Also, the range can be set using hyphen (example: 23044-23045,23046-23048).

This property corresponds to the -change_message option of the compiler.

This property is displayed only when [Yes(Specifies error number) (-change_message=warning=<ErrorNumber>)] in the [Changes the information-level messages to warning-level messages] property is specified.

Default

Configuration of the compile option

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

Changes the information-level and warning-level messages to error-level messages

Selects whether to change the information-level and warning-level messages to error-level messages.

This property corresponds to the -change_message option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(All) (-change_message=error)

Changes all information-level and warning-level messages to error-level messages.

Yes(Specifies error number) (-change_message=error=<ErrorNumber>)

Changes the information-level and warning-level messages with the specified error numbers to error-level messages.

No

Does not change the warning-level messages to information-level messages.

Error number of information-level and warning-level message

Specifies error number of information-level and warning-level message.

If multiple message numbers are specified, delimit them with a comma (example: 23043,23042).

Also, the range can be set using hyphen (example: 23044-23045,23046-23048).

This property corresponds to the -change_message option of the compiler.

This property is displayed only when [Yes(Specifies error number) (-change_message=error=<ErrorNumber>)] in the [Changes the information-level and warning-level messages to error-level messages] property is specified.

Default

Configuration of the compile option

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

Path to the folder that stores a file for inter-file inline expansion

Specifies path to the folder that stores a file for inter-file inline expansion.

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 -include option of the compiler.

The specified include path is displayed as the subproperty.

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

Default

Configuration of the compile option

How to change

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

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

Restriction

Up to 247 characters.

Up to 65536 items can be specified.

Permits comment (/* */) nesting

Selects whether to permit comment (/* */) nesting.

This property corresponds to the -comment option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-comment=nest)

Does not permit comment (/* */) nesting.

No (-comment=nonest)

Permits comment (/**/) nesting.

Checks the compatibility with an existing program

Selects whether to check the compatibility with an existing program.

This property corresponds to the -check option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(NC compiler) (-check=nc)

Checks the compatibility with the R8C and M16C family C compilers.

Yes(H8 compiler) (-check=ch38)

Checks the compatibility with the H8, H8S, and H8SX family C/C++ compilers.

Yes(SH compiler) (-check=sh)

Checks the compatibility with the SuperH family C/C++ compilers.

No

Does not check the compatibility with an existing program.

Character code of an input program

Selects character code of an input program.

[Traditional Chinese character (-big5)] and [Simplified Chinese character (-gb2312)] are synchronized with the value of the [Character code of an output assembly-language file] property in the [Object] category.

This property corresponds to the -euc, -sjis, -latin1, -utf8, -big5 and -gb2312 option of the compiler.

[Traditional Chinese character (-big5)] and [Simplified Chinese character (-gb2312)] are displayed when you have selected [Always latest version which was installed] or V2.00.00 or a later version for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V2.00.00 or a later version of the CC-RX compiler has been installed.

[UTF-8 code (-utf8)] cannot be selected in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V2.04.00 is selected for the [Using compiler package version] property in an environment where a version of the CC-RX compiler earlier than V2.04.00 has been installed

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

EUC code (-euc)

Handles the characters in strings, character constants, and comments by using EUC.

SJIS code (-sjis)

Handles the characters in strings, character constants, and comments by using SJIS.

ISO-Latin1 code (-latin1)

Handles the characters in strings, character constants, and comments by using ISO-Latin1.

UTF-8 code (-utf8)

Handles the characters in strings, character constants, and comments by using UTF-8.

Traditional Chinese character (-big5)

Handles the characters in strings, character constants, and comments by using Traditional Chinese character.

Simplified Chinese character (-gb2312)

Handles the characters in strings, character constants, and comments by using Simplified Chinese character.

(2)

[Object]

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

Output file type

Selects the type of the output file to be generated during a build.

This property corresponds to the -output option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Object module file (-output=obj)

Outputs a relocatable file.

Source file after preprocessed (-output=prep)

Outputs a source file after preprocessed.

Source file after preprocessed(Disables #line output) (-output=prep -noline)

Disables #line output at preprocessor expansion.

Path of the output folder

Specifies the output destination folder for the output file.

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.

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

This property corresponds to the -output option of the compiler.

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

Default

Configuration of the compile option

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

Object module file name

Specifies the name of the object module file generated after compilation.

The extension other than ".obj" cannot be specified.

If the extension is omitted, ".obj" is automatically added.

If this is blank, the file name will be the source file name with the extension replaced by ".obj".

This property corresponds to the -output option of the compiler.

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

Default

Blank

How to change

Directly enter in the text box.

Restriction

Up to 259 characters

Outputs debugging information

Selects whether to output debugging information to object module files.

This property corresponds to the -debug and -nodebug options of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-debug)

Outputs debugging information to object module files.

No (-nodebug)

Does not output debugging information to object module files.

Enhances debug information with optimization

Selects whether to enhance debug information at optimization.

This property corresponds to the -g_line options of the compiler.

This property is displayed only in the following cases.

-

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

-

When [Yes (-debug)] in the [Outputs debugging information] property is selected

Default

Configuration of the compile option

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.

Section name of program area

Specifies the section name of program area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Section name of constant area

Specifies the section name of constant area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Section name of initialized data area

Specifies the section name of initialized data area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Section name of uninitialized data area

Specifies the section name of uninitialized data area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Section name of literal area

Specifies the section name of literal area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Section name of switch statement branch table area

Specifies the section name of switch statement branch table area.

This property corresponds to the -section option of the compiler.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

Up to 32767 characters

Allocates uninitialized variables to 4-byte boundary alignment sections

Selects whether to allocate uninitialized variables to 4-byte boundary alignment sections.

This property corresponds to the -nostuff option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-nostuff=B)

Allocates uninitialized variables to 4-byte boundary alignment sections.

No

Does not allocate uninitialized variables to 4-byte boundary alignment sections.

Allocates initialized variables to 4-byte boundary alignment sections

Selects whether to allocate initialized variables to 4-byte boundary alignment sections.

This property corresponds to the -nostuff option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-nostuff=D)

Allocates initialized variables to 4-byte boundary alignment sections.

No

Does not allocates initialized variables to 4-byte boundary alignment sections.

Allocates const qualified variables to 4-byte boundary alignment sections

Selects whether to allocate const qualified variables to 4-byte boundary alignment sections.

This property corresponds to the -nostuff option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-nostuff=C)

Allocates const qualified variables to 4-byte boundary alignment sections.

No

Does not allocate const qualified variables to 4-byte boundary alignment sections.

Allocates switch statement branch tables to 4-byte boundary alignment sections

Selects whether to allocate switch statement branch tables to 4-byte boundary alignment sections.

This property corresponds to the -nostuff option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-nostuff=W)

Allocates switch statement branch tables to 4-byte boundary alignment sections.

No

Does not allocate switch statement branch tables to 4-byte boundary alignment sections.

Adjustment for instruction in branch

Selects adjustment for instruction in branch.

This property corresponds to the -noinstalign, -instalign4, and -instalign8 option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

None (-noinstalign)

Does not align instructions at branch destinations.

Execution in 4 bytes (-instalign4)

Aligns instructions at branch destinations to 4-byte boundaries.

Execution in 4 bytes(Contains each loop head) (-instalign4=loop)

Aligns instructions at branch destinations to 4-byte boundaries (Contains head of each loop).

Execution in 4 bytes(Contains each inmost loop head) (-instalign4=inmostloop)

Aligns instructions at branch destinations to 4-byte boundaries (Contains head of each inmost loop).

Execution in 8 bytes (-instalign8)

Aligns instructions at branch destinations to 8-byte boundaries.

Execution in 8 bytes (Contains each loop head) (-instalign8=loop)

Aligns instructions at branch destinations to 8-byte boundaries (Contains head of each loop).

Execution in 8 bytes (Contains each inmost loop head) (-instalign8=inmostloop)

Aligns instructions at branch destinations to 8-byte boundaries (Contains head of each inmost loop).

Align fetch address of string manipulation instructions

Select whether to align addresses where string manipulation instructions start reading data.

Selecting [Yes] prevents the reading of data across 4-byte boundaries in prefetching by string manipulation instructions.

This property corresponds to the -avoid_cross_boundary_prefetch option of the compiler.

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

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(-avoid_cross_boundary_prefetch)

Aligns addresses where string manipulation instructions start reading data.

No

Does not align addresses where string manipulation instructions start reading data.

Generates divisions and residues with DIV, DIVU, and the FDIV instruction

Selects whether to generate divisions and residues with DIV, DIVU, and the FDIV instruction.

This property corresponds to the -nouse_div_inst option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes

Generates code in which DIV, DIVU, or FDIV instructions are used.

No (-nouse_div_inst)

Generates code in which no DIV, DIVU, or FDIV instructions are used.

Character code of an output assembly-language file

Selects character code of an output assembly-language file.

[Traditional Chinese character (-big5)] and [Simplified Chinese character (-gb2312)] are synchronized with the value of the [Character code of an input program] property in the [Source] category.

This property corresponds to the -outcode option of the compiler.

[Traditional Chinese character (-big5)] and [Simplified Chinese character (-gb2312)] are displayed when you have selected [Always latest version which was installed] or V2.00.00 or a later version for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where V2.00.00 or a later version of the CC-RX compiler has been installed.

[UTF-8 code (-outcode=utf8)] cannot be selected in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V2.04.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V2.04.00 has been installed

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

EUC code (-outcode=euc)

Outputs characters in strings and character constants using EUC.

SJIS code (-outcode=sjis)

Outputs characters in strings and character constants using SJIS.

UTF-8 code (-outcode=utf8)

Outputs characters in strings and character constants using UTF-8.

Traditional Chinese character (-outcode=big5)

Outputs characters in strings and character constants using Traditional Chinese character.

Simplified Chinese character (-outcode=gb2312)

Outputs characters in strings and character constants using Simplified Chinese character.

(3)

[Quality Improvement]

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

Detect stack smashing

Selects 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-RX 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 compiler.

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

Default

Configuration of the compile option

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(No option specified)

Does not detect the stack smashing.

Value to be embedded for detecting stack smashing

Specifies 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 compiler.

This property is displayed in the following cases.

-

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

-

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

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

0 to 4294967295 (decimal number)

Detect illegal 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 compiler.

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

Default

Configuration of the compile option

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.

(4)

[List]

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

Outputs a source list file

Selects whether to output a source list file.

This property corresponds to the -listfile and -nolistfile option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-lisfile)

Outputs a source list file.

No (-nolistfile)

Disable output of a source list file.

Outputs the C/C++ source file

Specifies the contents of the source list file.

Selects whether to output the C/C++ source file.

This property corresponds to the -show option of the compiler.

This property is displayed when [Yes (-lisfile)] in the [Outputs a source list file] property is selected.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-show=source)

Outputs the C/C++ source file.

No

Does not output the C/C++ source file.

Outputs the statements unsatisfied in conditional assembly

Specifies the contents of the source list file.

Selects whether to output the statements unsatisfied in conditional assembly.

This property corresponds to the -show option of the compiler.

This property is displayed when [Yes (-lisfile)] in the [Outputs a source list file] property is selected.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-show=conditionals)

Outputs the statements unsatisfied in conditional assembly.

No

Does not output the statements unsatisfied in conditional assembly.

Outputs the information before .DEFINE replacement

Specifies the contents of the source list file.

Selects whether to output the information before .DEFINE replacement.

This property corresponds to the -show option of the compiler.

This property is displayed when [Yes (-lisfile)] in the [Outputs a source list file] property is selected.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-show=definitions)

Outputs the information before .DEFINE replacement.

No

Does not output the information before .DEFINE replacement.

Outputs the assembler macro expansion statements

Specifies the contents of the source list file.

Selects whether to output the assembler macro expansion statements.

This property corresponds to the -show option of the compiler.

This property is displayed when [Yes (-lisfile)] in the [Outputs a source list file] property is selected.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-show=expansions)

Outputs the assembler macro expansion statements.

No

Does not output the assembler macro expansion statements.

(5)

[Optimization]

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

f

Optimization level

Selects optimization level.

This property corresponds to the -optimize option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

0 (-optimize=0)

Does not optimize the program.

1 (-optimize=1)

Partially optimizes the program by automatically allocating variables to registers, integrating the function exit blocks, integrating multiple instructions which can be integrated, etc.

2 (-optimize=2)

Performs overall optimization.

Max (-optimize=max)

Performs optimization as much as possible.

Outputs additional information for inter-module optimization

Selects 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 compiler.

Default

Configuration of the compile option

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.

Optimization type

Selects optimization type.

This property corresponds to the -speed and -size option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Optimizes with emphasis on execution performance (-speed)

Optimizes with emphasis on execution performance.

Optimizes with emphasis on code size (-size)

Optimizes with emphasis on code size.

Loop expansion

Selects whether to optimize the loop expansion (for, while, and do-while).

This property corresponds to the -loop option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level and optimization type options

Depends on the [Optimization level] and [Optimization type] properties.

Expansion (-loop=<numeric value>)

Expands loop statements (for, while, and do-while).

Expansion maximum number

Specifies expansion maximum number.

This property corresponds to the suboption of -loop option of the compiler.

This property is displayed only when [Expansion (-loop=<numeric value>)] in the [Loop expansion] property is selected.

Default

Configuration of the compile option

How to change

Directly enter in the text box.

Restriction

1 to 32 (decimal number)

Performs inline expansion automatically

Selects whether to perform inline expansion automatically.

This option corresponds to the -inline and -noinline option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level and optimization type options

Depends on the [Optimization level] and [Optimization type] properties.

Yes (-inline=<numeric value>)

Performs inline expansion automatically.

No (-noinline)

Does not perform inline expansion automatically.

Maximum increasing rate of function size

Specifies maximum increasing rate of function size.

For example, when 100 is specified, inline expansion will be performed until the function size has increased by 100% (size is doubled).

This option corresponds to the -inline option of the compiler.

This property is displayed only when [Yes (-inline=<numeric value>)] in the [Performs inline expansion automatically] property is selected.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

1 to 65535 (decimal number)

Files for inter-file inline expansion

Specifies files for inter-file inline expansion.

This option is valid only when the inline option or #pragma inline has been specified.

The following placeholders are supported.

%BuildModeName%: Replaces with the build mode name.

%ProjectName%: Replaces with the project name.

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

This option corresponds to the -file_inline option of the compiler.

The file name is displayed as the subproperty.

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V2.00.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V2.00.00 has been installed

-

When [Object module file (-output=obj)] in the [Output file type] property in the [Object] category is selected

Default

Configuration of the compile option

How to change

Click the [...] button to open the Path Edit dialog box.

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

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

Restriction

Up to 259 characters

Up to 65536 items can be specified.

Expansion method of the switch statement

Selects expansion method of the switch statement.

This property corresponds to the -case option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

if_then method (-case=ifthen)

Expands the switch statement using the if_then method.

Jumping to a table method (-case=table)

Expands the switch statement by using the table method.

Compiler automatically selects (-case=auto)

Automatically selects the if_then method or table method.

Handles external variables as if they are volatile qualified

Selects whether to handle all external variables as if they are volatile qualified.

This property corresponds to the -volatile and -novolatile option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-volatile)

Handles all external variables as if they were volatile qualified.

No (-novolatile)

Does not handle external variables as if they were volatile qualified.

Accesses to volatile qualified variables with the sizes of the variable types

Selects whether to access to volatile qualified variables with the sizes of the variable types.

This option corresponds to the -type_size_access_to_volatile option of the compiler.

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

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-type_size_access_to_volatile)

Accesses to volatile qualified variables with the sizes of the variable types

No

Does not access to volatile qualified variables with the sizes of the variable types

Performs the constant propagation of const qualified external variables

Selects whether to perform the constant propagation of const qualified external variables.

Const qualified variables in a C++ source file cannot be controlled by this option (constant propagation is always performed).

This property corresponds to the -const_copy and -noconst_copy option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level options

Depends on the [Optimization level] property.

Yes (-const_copy)

Enables constant propagation of const qualified external variables.

No (-noconst_copy)

Disables constant propagation of const qualified external variables.

Conversion method of the divisions and residues of integer constants

Selects conversion method of the divisions and residues of integer constants.

This property corresponds to the -const_div and -noconst_div option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization type option

Depends on the [Optimization type] property

Instruction sequence using multiplication (-const_div)

Performs constant division (residue) by an instruction sequence using multiplication.

Instruction sequence using division (-noconst_div)

Performs constant division (residue) by an instruction sequence using division.

Execution method of library function that can be expanded to RX instructions

Select the method of execution for library functions that can be expanded as RX instructions.

This property corresponds to the -library option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Calls library functions (-library=function)

Calls library functions.

Performs expansion to RX instructions(-library=intrinsic)

Replaces library functions with RX instructions having the corresponding facilities. For example, replaces abs() with an ABS instruction.

Execution method of library function that can use trigonometric function unit

Selects the method of execution of library function that can use trigonometric function unit.

This property corresponds to the -tfu option of the compiler.

This property is displayed in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V3.01.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V3.01.00 has been installed

-

When the device has a trigonometric function unit

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Do not use trigonometric function unit(-tfu=intrinsic)

Calls of relevant mathematics library functions are not replaced with code that uses the trigonometric function unit.

Use trigonometric function unit(-tfu=intrinsic,mathlib)

Calls of relevant mathematics library functions are replaced with code that uses the trigonometric function unit.

Divides the optimizing ranges into many sections before compilation

Selects whether to divide the optimizing ranges of the large-size function into many sections

before compilation.

This property corresponds to the -scope and -noscope option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level option

Depends on the [Optimization level] property.

Yes (-scope)

Divides the optimizing ranges of the large-size function into many sections before compilation.

No (-noscope)

Does not divide the optimizing ranges before compilation.

Schedules the instruction taking into consideration pipeline processing

Selects whether to schedule the instruction taking into consideration pipeline processing.

This property corresponds to the -schedule and -noschedule option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level option

Depends on the [Optimization level] property.

Yes (-schedule)

Schedules instructions taking into consideration pipeline processing.

No (-noschedule)

Does not schedule instructions.

Optimizes accesses to external variables

Selects whether to optimize accesses to external variables.

This property corresponds to the -nomap, -smap and -map option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(Optimizes the inner-module) (-smap)

Optimizes accesses to external variables which are defined in the file to be compiled.

Yes(Optimizes the inter-module) (-map)

Optimizes accesses to external variables.

No (-nomap)

Disables optimization for accesses to external variables.

Perform inter-module optimization

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

This property corresponds to the -whole_program, -merge_files, and -ip_optimize option of the compiler.

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

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(Level 1)(Perform)(-ip_optimize)

Performs inter-module optimization for each file.

No

Does not perform inter-module optimization.

Converts floating-point constant division into multiplication

Selects whether to convert floating-point constant division into multiplication of the corresponding reciprocals as constants.

This property corresponds to the -approxdiv option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-approxdiv)

Converts floating-point constant division into multiplication.

No

Does not convert floating-point constant division into multiplication.

Allocates preferentially the variables with register storage class specification to registers

Selects whether to allocate preferentially the variables with register storage class specification to registers.

This property corresponds to the -enable_register option of the compiler.

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V2.00.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V2.00.00 has been installed

-

When [Object module file (-output=obj)] in the [Output file type] property in the [Object] category is selected

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-enable_register)

Allocates preferentially the variables with register storage class specification to registers.

No

Does not allocate preferentially the variables with register storage class specification to registers.

Omits a check of the range for conversion between the floating type and unsigned integer type

Selects whether to omit a check of the range for conversion between the floating type and unsigned integer type.

When "Yes" is specified, code performance of the relevant type conversion processing is improved.

The conversion result may, however, differ from C/C++ language specifications, so take care on this point.

This property corresponds to the -simple_float_conv option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-simple_float_conv)

Omits part of the type conversion processing for the floating type.

No

Does not omit part of the type conversion processing for the floating type.

Performs optimization considering the type of the data indicated by the pointer

Selects whether to perform optimization considering the type of the data indicated by the pointer.

Although the performance of object code is generally better than when -alias=noansi is specified, the results of execution may differ according to whether -alias=ansi or alias=noansi is specified.

This property corresponds to the -alias option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level option

Depends on the [Optimization level] property.

Yes (-alias=ansi)

Performs optimization considering the type of the data indicated by the pointer.

No (-alias=noansi)

Does not perform optimization considering the type of the data indicated by the pointer.

Optimizes modification of the operation order of a floating-point expression

Selects whether to optimize modification of the operation order of a floating-point expression.

Specifying the -float_order option generally improves the object performance compared to when not specifying it.

However, the accuracy of operations may differ from that when -float_order is not specified.

This property corresponds to the -float_order option of the compiler.

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V2.00.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V2.00.00 has been installed

-

When [2 (-optimize=2)] or [Max (-optimize=max)] in the [Optimization level] property is specified.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-float_order)

Optimizes modification of the operation order in a floating-point expression.

No

Does not optimize modification of the operation order in a floating-point expression.

Reduces code size of relative branch instructions

Selects whether to reduce the code size of the relative branch instructions.

This property corresponds to the -branch_chaining, -nobranch_chaining option of the compiler.

This property is displayed only in the following cases.

-

When [Always latest version which was installed] or a version number earlier than V3.03.00 is selected for the [Using compiler package version] property under the [Version Select] category on the [Common Options] tab in an environment where a version of the CC-RX compiler earlier than V3.03.00 has been installed

-

When [2 (-optimize=2)] or [Max (-optimize=max)] in the [Level of optimization] property is selected

-

When [Optimizes with emphasis on code size (-size)] in the [Optimization type] property is selected

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Depends on the optimization level and optimization type option

Depends on the [Optimization level] and [Optimization type] properties.

Yes(-branch_chaining)

Reduces the code size of the relative branch instructions.

No(-nobranch_chaining)

Does not reduce the code size of the relative branch instructions.

(6)

[Output File]

The detailed information on the output file check 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 -output=src option of the compiler.

Output assembly source file

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

This property corresponds to the -output=src option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(-output=src)

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 preprocessed source file

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

This property corresponds to the -output=prep, -noline option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(-output=prep)

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

Yes(Suppress #line)(-output=prep -noline)

Outputs the execution result of preprocessing (suppress #line) for the source file to a file.

No

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

(7)

[Others]

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

Outputs the copyright

Selects whether to output the copyright.

This property corresponds to the -nologo option of the compiler.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes (-logo)

Outputs the copyright.

No (-nologo)

Disables output of the copyright.

Outputs the cross reference information

Selects whether to output cross reference information.

It is necessary to change the setting of the property of "Program Analyzer" to change this option.

Default

Configuration of the compile option

How to change

Select from the drop-down list.

Restriction

Yes(-Xcref)

Outputs the cross reference information.

No

Does not output of the cross reference information.

Commands executed before compile processing

Specifies 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 (except in case of simultaneous building).

%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.

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

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

%Program%: Replaces with the file name of the running program.

%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

Configuration of the compile option

How to change

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

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

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Commands executed after compile processing

Specifies 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 (except in case of simultaneous building).

%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.

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

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

%Program%: Replaces with the file name of the running program.

%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

Configuration of the compile option

How to change

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

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

Restriction

Up to 1023 characters

Up to 64 items can be specified.

Other additional options

Inputs the compile options to be added additionally.

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

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.

Default

Configuration of the compile option

How to change

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

Restriction

Up to 259 characters

Command line

The specified option is displayed.

Default

Configuration of the compile option

How to change

Changes not allowed