本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP aC++/HP ANSI C バージョン A.06.05 リリースノート > 第1章 HP aC++/HP ANSI C リリースノート

バージョン A.05.55.02 の新機能

≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

HP aC++ バージョン A.05.55.02 の新機能は以下のとおりです。

-ipo オプション

複数ファイルの間でプロシージャ間最適化を可能にするための新オプション -ipo が追加されました。このオプションを使って作成されるオブジェクトファイルには、中間コード (IELF ファイル) が含まれます。リンク時に、入力オブジェクトファイルの中に IELF ファイルがある場合、ld によって自動的にプロシージャ間オプティマイザ (u2comp) が呼び出されます。

最適化レベル +O0 および +O1 では、このオプションは警告なしで無視されます。+O4+Ofaster オプションを使用した場合には、現在の動作と合わせるために、-ipo オプションが暗黙的に呼び出されます (+O4 ==> +O3 -ipo)。

このリリースでは、-ipo はデバッグオプションと一緒には使用できません。この制限は、将来には取り除かれる予定です。

-notrigraph オプション

このオプションを指定すると、トリグラフの処理が抑止されます。以前のバージョンでは、-notrigraph オプションを指定すると、従来のプリプロセッサが呼び出されていました。このプリプロセッサはトリグラフを無視していましたが、前処理されたソース中のトリグラフはコンパイラによって解釈されていました。このバージョンでは、-notrigraph を指定しても従来のプリプロセッサは呼び出されず、さらにトリグラフは解釈されません。

このオプションはお勧めしません。適切かつ移植可能な解決策は、"?""\?"のように記述することです。

+Oinlinebudget オプションの拡張

+Oinlinebudget オプションは、インライナのコンパイル時間の長さを制御するものです。この値を小さくするとインライナはインライン展開用の候補が少ないとみなし、この値を大きくすると候補が多いと見なすようになります。インライン展開の候補は、インライナの経験則に基づく優先順位に従って並べられているため、重要度の高い候補はこのオプションの影響を受けません。

構文:

+Oinlinebudget=n

n は 1 から 1000000 までの整数です。

n=100 

デフォルトのコンパイル時間の長さ。

n>100 

インライナは候補の数が多いものとみなし、コンパイル時間が長くなります。

n<100 

候補数は少ないとみなされ、インライナのコンパイル時間が短くなります。

+d オプションによるすべてのインライン展開の無効化

このバージョンの HP aC++ コンパイラーでは +d オプションを指定するとすべてのインライン展開が無効化されます。このオプションは +inline_level 0 オプションと同一です。以前のバージョンでは、+O3 または +O4 の使用時には、+d を指定した場合でも、コンパイラオプティマイザはインライン展開を行なっていました。

+Oinline オプションは +O2 以上で最適化を行なう

+Oinline を指定すると、オプティマイザは任意の関数をインライン展開できます。以前のバージョンでは、+Oinline は最適化レベル 3 および 4 で使われていました。このバージョンでは、レベル 2 でもインライン展開を実行できるようになり、レベル 2 でも +Oinline を使用できます。

+prerelease_v6 オプション

HP aC++ バージョン A.05.55.02 には、HP aC++ バージョン A.06.00 のプレリリースバージョンの機能が含まれています。バージョン A.06.00 には、次のようないくつかの新機能が含まれる予定です。

  • 大幅に改良された C++ テンプレートのサポートを含めて、最新の ISO C++ および ISO C99 言語規格に厳密に準拠します。

  • C および C++ 用の警告診断がさらに分かりやすくなります。

  • Tru64 の開発者とアプリケーションを円滑に HP-UX へと移行するために、ルックアンドフィールが Tru64 C++ コンパイラに近づけられます。

コンパイラのコマンド行で +prerelease_v6 オプションを指定すると、HP aC++ バージョン A.06.00 のプレリリースを利用できます。

2004 年後半に予定されている aC++ バージョン A.06.00 のリリースでは、ソースおよびバイナリで、aC++ バージョン A.05.55.02 との高い互換性を持ちます。バージョン A.06.00 プレリリースには、広く使われているオプションとプラグマが含まれ、aC++ バージョン A.05.55.02 で利用できます。

このプレリリースでは、広く使われている HP 言語拡張機能も、aC++ バージョン A.05.55.02 の拡張モードで利用できます。

HP aC++ バージョン A.06.00 プレリリースでは、aC++ バージョン A.05.55.02 で生成されるほとんどのオブジェクトファイルおよび共有ライブラリとのバイナリ互換性が提供されます。ただし、aC++ バージョン A.06.00 プレリリースでは、バージョン A.05.55.02 以前の aC++ と互換性を持たず、aC++ バージョン A.06.00 のリリースとも互換性を持たないオブジェクトファイルまたは共有ライブラリが生成される可能性があります。

リリース、配布、あるいは実運用のためのソフトウェアの生成に、HP aC++ バージョン A.06.00 プレリリースを使用すべきではありません。また、サポートされている環境と共存する、または永続的に使用されるオブジェクトファイルまたは共有ライブラリの生成に使用すべきではありません。サポートされているコンパイラが必要な場合には、HP aC++ バージョン A.05.55.02 を使用してください。

プレリリースで使用できるオプションとプラグマの一覧、保留されている言語拡張機能、オブジェクトファイルまたは共有ライブラリの非互換情報については、HP DSPP Partner Edge Web ページの HP aC++ のセクションから入手できます。

http://www.hp.com/go/cpp

当社は、aC++ バージョン A.06.00 プレリリースに関するコメント、提案、および不具合報告を歓迎します。これらのフィードバックは、ご満足いただける新しいコンパイラのリリースに役立てられます。aC++ バージョン A.05.55.02 によって生成されるオブジェクトとのオブジェクトファイルまたは共有ライブラリの非互換の例、以前のリリースの aC++ とのソースコードの非互換、またはコンパイラの使い勝手に関するコメントなどもお寄せください。HP aC++ バージョン A.06.00 プレリリースに関するコメントは以下のアドレス宛にお送りください。

acxx-beta@cup.hp.com

HP aC++ バージョン A.06.00 プレリリースに関するフィードバックをよろしくお願いいたします。

注記: このオプションが完全に実装され、デフォルトとなっている、バージョン A.06.00 のリリース情報を参照してください。
印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2005 Hewlett-Packard Development Company, L.P.