[clang] [C99] Claim conformance for _Complex support (PR #88161)

Joshua Cranmer via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 10 12:20:15 PDT 2024


https://github.com/jcranmer-intel commented:

You're missing checks for type domain rules, so things like:

- converting between `float _Complex` and `double _Complex`
- common type of `float _Complex` and `double`
- result of `int` and `float _Complex`
- complex types not allowed in increment/decrement operators
- complex types permitted in unary +, -

Not sure how to test this, but _Complex float not promoting to _Complex double like float does to double is also worth slotting under complex conformance. Also 6.7.8p10 (static-storage duration arithmetic types (which include complex types) are initialized to 0).

https://github.com/llvm/llvm-project/pull/88161


More information about the cfe-commits mailing list