このセクションでは、C/C++test が現在サポートしていない GCC コンパイラ拡張について説明します。これらの制限事項は、サポート対象の GCC ベースのクロス コンパイラ、およびカスタム GCC コンパイラ ビルドにも適用されます。GNU コンパイラ拡張については http://gcc.gnu.org/onlinedocs を参照してください。
関数への引数として変数長の配列
void tester (int len, char data[len][len]) { } |
上書きされる戻り型を持つ仮想関数
class A { public: virtual void* a(); }; class B: public A { public: virtual B* a(); // Return type changed from void* to (compatible) B*. // It is ok in GCC but EDG will complain }; |
メンバー関数のポインター エイリアスの制限
class T { public: void fn(); }; void T::fn () __restrict__ // EDG won't compile this { } |
関数属性
void fatal () __attribute__ ((noreturn)); void fatal () { } typedef void voidfn (); volatile voidfn fatal; // EDG: declaration is incompatible with // "void fatal()" |
friend 宣言
class A; namespace N { class B { friend class A; // In GCC 4.0+ it refer to N::A (which has not been // declared yet) But EDG and older GCCs refer to ::A int _private; }; class A { void foo() { B b; b._private = 0; // EDG inaccessible field. } }; } |
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
GCC 4.0.x と同じです。
C++20 の機能はサポートされていません。
GCC 4.0.x と同じです。
C++20 の機能はサポートされていません。
GCC 4.0.x と同じです。
C++20 の機能はサポートされていません。
GCC 4.0.x と同じです。
C++20 の機能はサポートされていません。