The recent patch to tree-nested.c:
2015-11-26  Pierre-Marie de Rodat  <dero...@adacore.com>

        PR debug/53927
        * tree-nested.c (finalize_nesting_tree_1): Append a field to
        hold the frame base address.
        * dwarf2out.c (gen_subprogram_die): Generate for
        DW_AT_static_link a location description that computes the value
        of this field.

broke PTX, as it tried to use argp for the CFA. Fixed thusly. Also tidied up a few bits of nvptx.h while I was there.

nathan
2015-11-28  Nathan Sidwell  <nat...@acm.org>

	* config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
	(FRAME_POINTER_CFA_OFFSET): Define.
	(struct nvptx_args): Use 'tree' type.
	(INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.

Index: gcc/config/nvptx/nvptx.h
===================================================================
--- gcc/config/nvptx/nvptx.h	(revision 231037)
+++ gcc/config/nvptx/nvptx.h	(working copy)
@@ -166,14 +166,16 @@ enum reg_class
 #define OUTGOING_ARG_POINTER_REGNUM 11
 #define OUTGOING_STATIC_CHAIN_REGNUM 10
 
-#define FIRST_PARM_OFFSET(FNDECL) 0
+#define FIRST_PARM_OFFSET(FNDECL) ((void)(FNDECL), 0)
 #define PUSH_ARGS_REVERSED 1
-
 #define ACCUMULATE_OUTGOING_ARGS 1
 
+/* Avoid using the argument pointer for frame-related things.  */
+#define FRAME_POINTER_CFA_OFFSET(FNDECL) ((void)(FNDECL), 0)
+
 #ifdef HOST_WIDE_INT
 struct nvptx_args {
-  union tree_node *fntype;
+  tree fntype;
   /* Number of arguments passed in registers so far.  */
   int count;
   /* Offset into the stdarg area so far.  */
@@ -184,7 +186,7 @@ struct nvptx_args {
 #define CUMULATIVE_ARGS struct nvptx_args
 
 #define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, FNDECL, N_NAMED_ARGS) \
-  do { (CUM).fntype = (FNTYPE); (CUM).count = 0; (CUM).off = 0; } while (0)
+  ((CUM).fntype = (FNTYPE), (CUM).count = 0, (CUM).off = 0, (void)0)
 
 #define FUNCTION_ARG_REGNO_P(r) 0
 

Reply via email to