• C++ では、非標準の「コンストラクターの直接呼び出し」はサポートされません。たとえば以下のサンプル コードの BitSet::BitSet(. . .) などです。

    class BitSet { protected:
         enum BS_op {
                      BS_and = (int) '&',     BS_or = (int) '|',
                    };
     
          BitSet(const BitSet& x, const BitSet& y, enum BS_op op);
          friend BitSet operator & (const BitSet& x, const BitSet& y);
                 };
    BitSet operator & (const BitSet& x, const BitSet& y)
     {
      return BitSet::BitSet(x, y, BitSet::BS_and);
     }


    Freescale HC(S)12 コンパイラは、この非標準の構造を許容します。この構造は、Freescale HC(S)12 コンパイラに付属する C++ ヘッダー ファイル bitset.h で使用されます。このヘッダー ファイルを使用するコードは解析できません。現在のところサポートされません。

  • Freescale HC(S)12 コンパイラは、単なる char の引数を持つ関数呼び出しに対して、signed char または unsigned char パラメーターを持つ、オーバーロードされた関数を選択します。これはサポートされません。 

    class istream {
        istream& get(signed char p);
        istream& get(unsigned char p) {
                      return get((char)'a');
                       }
                  };


    Freescale HC(S)12 はこの構造を許容します。この構造は、Freescale HC(S)12 コンパイラに付属する iostream.h C++ ヘッダー ファイルで使用されます。 このヘッダー ファイルを使用するコードは解析できません。現在のところサポートされません。

  • C++ では、たとえば以下の streamsize int のように、複数の型指定子を使用する非標準の構造はサポートされません。  

    class istream {
      typedef int streamsize; 
      istream& read(streamsize int n);
                  };


    Freescale HC(S)12 コンパイラは、この非標準の構造を許容します。この構造は、Freescale HC(S)12 コンパイラに付属する iostream.h C++ ヘッダー ファイルで使用されます。このヘッダー ファイルを使用するコードは解析できません。現在のところサポートされていません。

  • C++ では、void* ポインター型から他のポインター型への暗黙的な変換はサポートされません。例:  

     class ios {
        int i;
               };
     int vscan(ios* stream = ((void *)0));


    Freescale HC(S)12 コンパイラは、この構造を許容します。この構造は、Freescale HC(S)12 コンパイラに付属する stream.h C++ ヘッダー ファイルで使用されます。このヘッダー ファイルを使用するコードは解析できません。現在のところサポートされていません。

  • ビルトインの long long double 型はサポートされません。
  • No labels