For ARM EHABI _Unwind_{G,S}setIP are macros rather than proper functions as they
are extensions to the EHABI specification (though they are part of the Level 1
interface).  Quote the macro parameters, as otherwise, a complex parameter may
be ambiguously mis-expanded.
---
 libgcc/config/arm/unwind-arm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libgcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h
index f1f789c..3821c08 100644
--- a/libgcc/config/arm/unwind-arm.h
+++ b/libgcc/config/arm/unwind-arm.h
@@ -74,10 +74,10 @@ extern "C" {
     }
   /* Return the address of the instruction, not the actual IP value.  */
 #define _Unwind_GetIP(context) \
-  (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1)
+  (_Unwind_GetGR ((context), 15) & ~(_Unwind_Word)1)
 
 #define _Unwind_SetIP(context, val) \
-  _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1))
+  _Unwind_SetGR ((context), 15, (val) | (_Unwind_GetGR ((context), 15) & 1))
 
 #ifdef __cplusplus
 }   /* extern "C" */
-- 
2.5.3

Reply via email to