こんにちは。NoMaYです。アセンブラソースでも以下のメッセージが表示されますけれども、これは消せないのかな?、、、W0511187:CC-RL V1のオプション"-Odefault"の評価期間の有効期限が切れています。暗黙に"-Olite"指定に変更します。引き続き"-Odefault"を利用したい場合は製品の購入を検討ください。明示的に"-Olite"か"-Onothing"を指定することで、この警告は消えます。以下、CS+の画面コピーです。
こんにちは。NoMaYです。CC-RL V1.12のC++14対応に関して、以下のユーザーズマニュアルには以下の通り記載されているのですけれども、実際に試してみると、ユーザーズマニュアルの記載とは異なり、幾つかはC++14モードでは機能が実装されていないようですね。ユーザーズマニュアルwww.renesas.com/us/en/document/mat/cc-rl-c14-technical-preview-version-users-manual#page=13「3.2 Language extension specifications3.2.1 Reserved wordsPlease refer to “4.2.1 Reserved words” in the CC-RL User’s Manual for detail of the keywords reserved by CC-RL.」ユーザーズマニュアルwww.renesas.com/us/en/document/mat/cc-rl-compiler-users-manual#page=334「4.2.1 Reserved wordsThe CC-RL adds the following characters as reserved words to implement the expanded function. These words are similar to the ANSI C keywords, and cannot be used as a label or variable name.Reserved words that are added by the CC-RL are listed below.Table 4.9 List of Reserved Words
Reserved Words Usage__saddr Allocating a static variable to the saddr area__callt Calling a function with the callt instruction__near Specifying memory allocation area__far Specifying memory allocation area__inline Specifying memory allocation area__sectop Section start address__secend Section end address + 1
All names that include two underscores (__) are also invalid as label or variable names.」ソース: test20230502_3.cpp
static __inline int language_extension_inline_in_cpp_file(void);static __inline int language_extension_inline_in_cpp_file(void){ return 0b10101010;}int /*__callt*/ language_extensions_in_cpp_file(void);int /*__callt*/ language_extensions_in_cpp_file(void){ static int /*__saddr*/ sv; static int __near nv; static int __far fv; /* int __far *pt = __sectop( ".bss" ); */ /* int __far *pe = __secend( ".bss" ); */ __nop(); return language_extension_inline_in_cpp_file() + sv + nv + fv /* + *pt + *pe */;}
コマンド: test20230502_3.bat
ccrl -cpu=S3 -lang=cpp14 -Olite -c test20230502_3.cpp
以下の修飾子や演算子をC++14モードで使用するとコンパイルエラーになる:
__callt__saddr__sectop()__secend()
NoMaYさん、中の人です。
CC-RL C++14テクニカルプレビュー版を試用していただきありがとうございます!
ご指摘いただいた点については、ユーザーズマニュアル(およびオンラインヘルプ)の不備になります。次のマニュアル改訂時に修正を検討しています。なお、C++14テクニカルプレビュー版へのフィードバックはこちらのアンケートからも承っています!Renesas Electronics CC-RLコンパイラ C++14テクニカルプレビュー版に関するアンケート (office.com)よろしくお願いいたします!
aduさん、こんにちは。NoMaYです。リプライどうもありがとうございました。