http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47714

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-08 
17:07:01 UTC ---
More reduced testcase:

typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
class CodeModule {
public:
    virtual ~CodeModule() { }
};
class CodeModules {
    virtual const CodeModule* GetModuleForAddress(u_int64_t address) const = 0;
};
template<typename AddressType, typename EntryType> class RangeMap
{
public:
    RangeMap() ;
    bool RetrieveRange(const AddressType &address, EntryType *entry) const;
};
class MinidumpObject {
public:
    virtual ~MinidumpObject() { }
};
class MinidumpModule : public MinidumpObject, public CodeModule { };
class MinidumpModuleList : public CodeModules {
    virtual const MinidumpModule* GetModuleForAddress(u_int64_t address) const;
    RangeMap<u_int64_t, unsigned int> *range_map_;
};
const MinidumpModule*
MinidumpModuleList::GetModuleForAddress(u_int64_t address) const
{
  unsigned int module_index;
  range_map_->RetrieveRange(address, &module_index);
}

Reply via email to