File tree 2 files changed +16
-0
lines changed 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -3182,6 +3182,17 @@ bool ByteCodeExprGen<Emitter>::VisitComplexUnaryOperator(
3182
3182
case UO_AddrOf:
3183
3183
return this ->delegate (SubExpr);
3184
3184
3185
+ case UO_LNot:
3186
+ if (!this ->visit (SubExpr))
3187
+ return false ;
3188
+ if (!this ->emitComplexBoolCast (SubExpr))
3189
+ return false ;
3190
+ if (!this ->emitInvBool (E))
3191
+ return false ;
3192
+ if (PrimType ET = classifyPrim (E->getType ()); ET != PT_Bool)
3193
+ return this ->emitCast (PT_Bool, ET, E);
3194
+ return true ;
3195
+
3185
3196
case UO_Real:
3186
3197
return this ->emitComplexReal (SubExpr);
3187
3198
Original file line number Diff line number Diff line change @@ -14,3 +14,8 @@ void blah() {
14
14
_Static_assert ((0.0 + 0.0 j ) == (0.0 + 0.0 j ), "" );
15
15
_Static_assert ((0.0 + 0.0 j ) != (0.0 + 0.0 j ), "" ); // both-error {{static assertion}} \
16
16
// both-note {{evaluates to}}
17
+
18
+ const _Complex float FC = {0.0f , 0.0f };
19
+ _Static_assert (!FC , "" );
20
+ const _Complex float FI = {0 , 0 };
21
+ _Static_assert (!FI , "" );
You can’t perform that action at this time.
0 commit comments