On 08/27/2014 04:41 AM, Paolo Carlini wrote:
.. two additional remarks (maybe obvious, I don't know): - It also appears to work - for sure for all the tests in c++/52892 + the tests in c++/52282 not involving data members (eg, the original one) - simply unconditionally calling STRIP_NOPS right after the cxx_eval_constant_expression at the beginning of cxx_eval_call_expression (or calling it only when, after the fact, we know it wraps a function pointer). - Grepping in semantics.c reveals that in quite a few other places we make sure to STRIP_NOPS before checking for ADDR_EXPR, it seems a general issue.
True. OK, let's go ahead with your approach. Jason