https://gcc.gnu.org/g:c18f152447c0ae1ac752d8a14b582d099a329c0c

commit r16-1084-gc18f152447c0ae1ac752d8a14b582d099a329c0c
Author: Jason Merrill <ja...@redhat.com>
Date:   Sat May 24 14:41:43 2025 -0400

    c++: add operator| for WMB_Flags
    
    There are a lot of uses of | on WMB_Flags, that currently need to then be
    cast back to WMB_Flags.  Let's avoid the need for that.
    
    gcc/cp/ChangeLog:
    
            * name-lookup.h (operator|, operator|=): Define for WMB_Flags.

Diff:
---
 gcc/cp/name-lookup.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 4216a515afad..2fa736bd0469 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -501,6 +501,10 @@ enum WMB_Flags
   WMB_Hidden = 1 << 3,
   WMB_Purview = 1 << 4,
 };
+inline WMB_Flags operator|(WMB_Flags x, WMB_Flags y)
+{ return WMB_Flags(+x|y); }
+inline WMB_Flags& operator|=(WMB_Flags& x, WMB_Flags y)
+{ return x = x|y; }
 
 extern unsigned walk_module_binding (tree binding, bitmap partitions,
                                     bool (*)(tree decl, WMB_Flags, void *data),

Reply via email to