[Bug c++/30017] ICE in cp_expr_size, at cp/cp-objcp-common.c:101
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 29 19:47:00 GMT 2006
------- Comment #4 from rguenth at gcc dot gnu dot org 2006-11-29 19:47 -------
Further reduced testcase:
class NAMES_ITEM { };
struct ATOM {
const NAMES_ITEM& getPredItem() const { }
};
class ATOMSET {
public:
class FIND_RESULT {
const NAMES_ITEM &pattern;
public:
FIND_RESULT() : pattern(pattern) { }
FIND_RESULT(const FIND_RESULT &f) : pattern(f.pattern) { }
FIND_RESULT(const NAMES_ITEM &pattern2) : pattern(pattern2) { }
void operator=(const FIND_RESULT &f)
{
__builtin_memcpy(this,&f,sizeof(FIND_RESULT));
}
};
void find(const ATOM &pattern, FIND_RESULT &f) {
FIND_RESULT result(pattern.getPredItem());
f = result;
}
};
class INTERPRET {
ATOMSET positive;
public:
void findInPositivePart(const ATOM &pattern, ATOMSET::FIND_RESULT &f)
{
positive.find(pattern,f);
}
};
struct GINTERPRET {
void isTrue (void);
};
extern INTERPRET J;
static GINTERPRET *I;
void printQueryI() {
ATOM pattern;
ATOMSET::FIND_RESULT f;
J.findInPositivePart(pattern,f);
I->isTrue();
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30017
More information about the Gcc-bugs
mailing list