On Fri, May 18, 2012 at 1:46 PM, Diego Novillo <dnovi...@google.com> wrote: > On 12-05-18 06:14 , Richard Guenther wrote: > >> As you retain the macros anyway you can simply not return anything >> from the C++ checking functions define to a stmt expression >> ({ check_in_cxx (t); t; }) > > > Sure, but that takes us back to the original gdb issue: it does not > understand statement expressions. > > >> Btw, what breaks if the check functions always return a const_tree and >> take a const_tree? > > > You get a stream of "invalid conversion from 'tree_node* const*' to > 'tree_node**'".
Can you locate those? I mean, most uses look like #define DECL_NONSHAREABLE(NODE) \ (TREE_CHECK2 (NODE, VAR_DECL, \ RESULT_DECL)->decl_common.decl_nonshareable_flag) thus they only dereference the result, not assign it anywhere. Richard. > > Diego.