[PATCH] D105997: Implement _ExtInt conversion rules
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 14 10:33:20 PDT 2021
aaron.ballman added inline comments.
================
Comment at: clang/test/Sema/ext-int.c:7
_ExtInt(32) s32, int b) {
- b ? s30 : s31a; // expected-error{{incompatible operand types}}
- b ? s31a : s30; // expected-error{{incompatible operand types}}
- b ? s32 : 0; // expected-error{{incompatible operand types}}
+ b ? s30 : s31a;
+ b ? s31a : s30;
----------------
rsmith wrote:
> erichkeane wrote:
> > aaron.ballman wrote:
> > > erichkeane wrote:
> > > > Wouldn't mind some type-checking tests here if possible. Or at least SOMEWHERE to make sure this produces the correct types, something with a static-assert would be great!
> > > There's not a super easy way to do `is_same` in C, but I could add some AST dumping tests that involve `__typeof__` if that'd work for you?
> > yep! That'd be fine.
> Can you build `is_same` out of `_Generic`? Eg, `_Static_assert(_Generic(b ? s30 : s31a, EI31: 1, default: 0, "");`
@rsmith -- great minds think alike, I was just heading down that route. :-)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105997/new/
https://reviews.llvm.org/D105997
More information about the cfe-commits
mailing list