COBOL2002 使用の手引 手引編
複数のコンパイラオプションを指定した場合の,各オプションの優先順位を次に示します。
コンパイラオプションを指定した個所によって,優先順位が高くなります。
優先度 | 指定個所 | オプションの形式 |
---|---|---|
1 | ccbl2002のコマンド行に指定したオプション | 新形式 |
2 | 環境変数CBLCOPT2002に指定したオプション | 新形式 |
優先度 | 指定個所 | オプションの形式 |
---|---|---|
1 | ccblのコマンド行に指定したオプション | 旧形式 |
2 | 環境変数CBLCOPTに指定したオプション | 旧形式 |
3 | ccblコマンドで暗黙的に仮定されるオプション | 新形式 |
環境変数CBLCOPT2002,CBLCOPTについては,「32.6 コンパイラ環境変数」を参照してください。
コンパイラオプションには,オプション同士が背反の関係となっていたり,あるオプションを指定するとほかのオプションが仮定されたりするものがあります。このようなオプション間の優先順位を,次に示します。
次のオプションを同時に指定した場合,あとに指定した方のオプションが有効となります。
次のコンパイラオプションを指定した場合,無効となるオプションがあります。
指定したオプション | 無効となるオプション |
---|---|
-MainNotCBL |
|
-Compile |
|
-Compile,CheckOnly |
|
-StdMIA -Std85 -Std2002 |
|
-StdMIA |
|
-V3Spec |
|
-Repository,Gen |
|
-PIC |
|
-MultiThread |
|
-UniObjGen |
|
-Compati85,Syntax |
|
-IntResult,DecFloat40 |
|
-CompatiV3 |
|
-SimMain -SimSub -SimIdent |
|
-StdMIAオプション,-Std85オプション,-Std2002オプションは,同時に指定できません。同時に指定した場合,警告のメッセージが出力され,次の優先順位で有効となります。
次のコンパイラオプションを指定した場合,仮定されるオプションがあります。
指定したオプション | 仮定されるオプション |
---|---|
-V3Spec |
|
-CompatiV3 |
|
-DebugCompati |
|
-DebugData |
|
-DebugRange |
|
-TestCmd |
|
-TDInf |
|
-TDInfと-Optimize,3を同時に指定 |
|
-CVInf |
|
-StdMIA,14 |
|
-PIC |
|
-MaxDigits38および-IntResult,DecFloat40と-Optimize,3を同時に指定 |
|
-SpaceAsZeroと-Optimize,3を同時に指定 |
|
次のコンパイラオプションは,同時に指定する必要があるオプションを指定しない場合,無視されます。
指定したオプション | 同時に指定する必要があるオプション |
---|---|
-SQLDisp | -SQL,ODBC |
-UniEndian | -UniObjGen |
-V3RecFCSpace | -V3Rec |
-V3RecEased | -V3Rec |
次のコンパイラオプションは,同時に指定する必要があるオプションを指定しない場合,コンパイルエラーとなります。
指定したオプション | 同時に指定する必要があるオプション |
---|---|
-IntResult,DecFloat40 | -MaxDigits38 |
-MaxDigits38 | -IntResult,DecFloat40 |
-SpaceAsZero | -Compati85,All |
-VOSCBL,OccursKey | -CompatiV3 |
-VOSCBL,ReportControl | -CompatiV3 |
-JPN,V3JPNSpace | -CompatiV3 |
同じオプションを重複して指定した場合,次の規則に従ってオプションが決定されます。なお,オプションごとのサブオプションの指定規則については,「32.5.4 コンパイラオプションの一覧」を参照してください。
最後に指定されたオプションが有効となります。
ただし,次の場合は,特定のサブオプションが有効となります。
前に指定したサブオプションの指定を引き継ぎ,あとに指定したサブオプションの指定が追加で有効となります。
デフォルト設定や環境変数などで指定済みのオプションを,コンパイル時に打ち消したい場合は,プリフィクス'no'の付いたコンパイラオプションを使用します。
例えば,環境変数CBLCOPT2002でオプション「-Details」が指定されている場合,コマンドラインで「ccbl2002 -noDetails …」と指定すると,環境変数CBLCOPT2002で設定済みのオプション「-Details」を打ち消せます。
All Rights Reserved. Copyright (C) 2014, 2017, Hitachi, Ltd.