Linus Torvalds writes: (Summary) wrote:
Yes, but I also didn't want to add any new cases in case people add new min/max() users.
new min/max() users.
But:
But:
Oh, ok, in that case, just drop the __builtin_types_compatible_p() entirely. (t1)(x) : (t2)(y), \
__single_eval_min(t1, t2, \
...
...
would seem to be sufficient?
would seem to be sufficient?
Because logically, the only thing that matters is that x and y don't have any side effects and can be evaluated twice, and "__builtin_constant_p()" is already a much stronger version of that.
[...]
tree.Yes, but I also didn't want to add any new cases in case people add new min/max() users.
new min/max() users.
But:
But:
[...]
=99:[...]
pointer types lacks a castOh, ok, in that case, just drop the __builtin_types_compatible_p() entirely. (t1)(x) : (t2)(y), \
__single_eval_min(t1, t2, \
...
...
would seem to be sufficient?
would seem to be sufficient?
Because logically, the only thing that matters is that x and y don't have any side effects and can be evaluated twice, and "__builtin_constant_p()" is already a much stronger version of that.