This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fn spec attribute on builtin function in fortran


On Mon, Dec 01, 2014 at 09:35:25AM +0100, Tom de Vries wrote:
> I've been adding an fn spec function attribute to some openacc builtin functions:
> ...
> diff --git a/gcc/builtin-attrs.def b/gcc/builtin-attrs.def
> index 9c05a94..4e34192 100644
> --- a/gcc/builtin-attrs.def
> +++ b/gcc/builtin-attrs.def
> @@ -64,6 +64,7 @@ DEF_ATTR_FOR_INT (6)
>    DEF_ATTR_TREE_LIST (ATTR_LIST_##ENUM, ATTR_NULL,     \
> 		      ATTR_##ENUM, ATTR_NULL)
>  DEF_ATTR_FOR_STRING (STR1, "1")
> +DEF_ATTR_FOR_STRING (DOT_DOT_DOT_r_r_r, "...rrr")
>  #undef DEF_ATTR_FOR_STRING
> 
>  /* Construct a tree for a list of two integers.  */
> @@ -127,6 +128,8 @@ DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LIST, ATTR_PURE,\
> 			ATTR_NULL, ATTR_NOTHROW_LIST)
>  DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LEAF_LIST, ATTR_PURE,    \
> 			ATTR_NULL, ATTR_NOTHROW_LEAF_LIST)
> +DEF_ATTR_TREE_LIST (ATTR_FNSPEC_DOT_DOT_DOT_NOCLOB_NOCLOB_NOCLOB_NOTHROW_LIST,\
> +                   ATTR_FNSPEC, ATTR_LIST_DOT_DOT_DOT_r_r_r, ATTR_NOTHROW_LIST)
>  DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LIST, ATTR_NORETURN, \
> 			ATTR_NULL, ATTR_NOTHROW_LIST)
>  DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LEAF_LIST, ATTR_NORETURN,\
> ...
> 
> That worked well for c. When compiling the fortran compiler, I ran into this error:
> ...
> In file included from gcc/fortran/f95-lang.c:1194:0:
> gcc/fortran/../oacc-builtins.def: In function 'void gfc_init_builtin_functions()':
> gcc/fortran/../oacc-builtins.def:32:1: error:
> 'ATTR_FNSPEC_DOT_DOT_DOT_NOCLOB_NOCLOB_NOCLOB_NOTHROW_LIST' was not declared
> in this scope
> make[2]: *** [fortran/f95-lang.o] Error 1

Fortran FE uses gfc_build_library_function_decl_with_spec to build these.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]