I do not think labels as values are widely used with C++ operators; I stumbled over it only because of a typo (double &&). But in case of error, it will produce a garbled message (tested from 3.3 to 4.1). For example,
a.cpp:3:no match for 'operator&&' in 'A() && &#'label_decl' not supported by dump_expr#<expression error>' Testcase: struct A {}; bool operator&&(A const &, A const &); int main() { A() && && b; } -- Summary: &#`label_decl' not supported by dump_expr#<expression error> Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: guillaume dot melquiond at ens-lyon dot fr CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24052