On Mon, 6 Nov 2006, Ian Lance Taylor wrote:
> gcc always supports "long long" for all targets.

I just noticed that while the base compiler may support "long long", this 
extension fails to interact well with at least one other extension: hash_map<>
in libstdc++.

Specifically, the following example program will fail to compile with 
  error: no match for call to '(const __gnu_cxx::hash<long long int>) (const 
long long int&)'

Example program:

  #include <ext/hash_set>

  using namespace __gnu_cxx;

  typedef long long T;

  void f() {
    hash_set<T> t;

    t.insert(1);
    t.erase(1);
  }

Now filed as libstdc++/29898.

Gerald

Reply via email to