[Bug middle-end/63237] New: [5 Regression] error: invalid operand in unary operation
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 12 07:23:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63237
Bug ID: 63237
Summary: [5 Regression] error: invalid operand in unary
operation
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: trippels at gcc dot gnu.org
markus@x4 llvm_build % < RewriteMacros.ii
extern "C" unsigned long strlen(const char *);
class A {
int Length;
public:
A(const char *p1) { Length = strlen(p1); }
};
class B {
public:
void m_fn1(int, A);
};
class C {
public:
B &m_fn2();
};
int a;
void RewriteMacrosInInput() {
C b;
B &c = b.m_fn2();
c.m_fn1(0, &""[a]);
}
markus@x4 llvm_build % g++ -c -O2 RewriteMacros.ii
RewriteMacros.ii: In function ‘void RewriteMacrosInInput()’:
RewriteMacros.ii:21:1: error: invalid operand in unary operation
}
^
RewriteMacros.ii:21:1: error: invalid operand to unary operator
(ssizetype) a.0_6
RewriteMacros.ii:6:41: note: in statement
A(const char *p1) { Length = strlen(p1); }
^
_14 = (long unsigned int) -(ssizetype) a.0_6;
RewriteMacros.ii:21:1: internal compiler error: verify_gimple failed
}
^
0xc04b7a verify_gimple_in_cfg(function*, bool)
../../gcc/gcc/tree-cfg.c:5003
0xb12cd2 execute_function_todo
../../gcc/gcc/passes.c:1751
0xb136e3 execute_todo
../../gcc/gcc/passes.c:1808
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
More information about the Gcc-bugs
mailing list