mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-18 10:24:30 +08:00
re PR fortran/16580 ([4.1 only] gfortran ICE on test g77.f-torture/execute/intrinsic77.f)
PR fortran/16580 PR fortran/29288 * gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a gfc_intrinsic_sym structure is filled. (gfc_intrinsic_actual_ok): New function. (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s, add_sym_5s): Intrinsic subroutines are not allowed as actual arguments, so we remove argument actual_ok. (add_functions): Correct the values for actual_ok of all intrinsics. (add_subroutines): Remove the actual_ok argument, which was never used. * gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype. * gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype. * gcc/fortran/resolve.c (resolve_actual_arglist): Check whether an intrinsic used as an argument list is allowed there. * gcc/fortran/iresolve.c (gfc_resolve_index_func): New function. (gfc_resolve_len): Change intrinsic function name to agree with libgfortran. * gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add new case, because some specific intrinsics take 3 arguments. * gcc/fortran/intrinsic.texi: DIMAG is a GNU extension. * libgfortran/Makefile.am: Add the new files to the build process, and rules to build them. * libgfortran/Makefile.in: Regenerate. * libgfortran/m4/misc_specifics.m4: New file. * libgfortran/m4/specific.m4: Add new special cases for function with complex argument and real result, like abs_c* and aimag_c*. * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for AIMAG, ASINH, ACOSH and ATANH. * libgfortran/generated/_aimag_c4.F90: New file. * libgfortran/generated/_aimag_c8.F90: New file. * libgfortran/generated/_asinh_r10.F90: New file. * libgfortran/generated/_acosh_r16.F90: New file. * libgfortran/generated/_aimag_c10.F90: New file. * libgfortran/generated/_atanh_r16.F90: New file. * libgfortran/generated/_acosh_r4.F90: New file. * libgfortran/generated/_acosh_r8.F90: New file. * libgfortran/generated/_asinh_r4.F90: New file. * libgfortran/generated/_asinh_r8.F90: New file. * libgfortran/generated/_asinh_r16.F90: New file. * libgfortran/generated/_atanh_r4.F90: New file. * libgfortran/generated/_atanh_r8.F90: New file. * libgfortran/generated/_acosh_r10.F90: New file. * libgfortran/generated/misc_specifics.F90: New file. * libgfortran/generated/_aimag_c16.F90: New file. * libgfortran/generated/_atanh_r10.F90: New file. * gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_1.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_2.f90: New file. * gcc/testsuite/gfortran.dg/specifics_3.f90: New file. From-SVN: r117534
This commit is contained in:
parent
73d1943acd
commit
0e7e7e6e82
@ -1,3 +1,26 @@
|
|||||||
|
2006-10-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR fortran/16580
|
||||||
|
PR fortran/29288
|
||||||
|
* gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a
|
||||||
|
gfc_intrinsic_sym structure is filled.
|
||||||
|
(gfc_intrinsic_actual_ok): New function.
|
||||||
|
(add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s,
|
||||||
|
add_sym_5s): Intrinsic subroutines are not allowed as actual
|
||||||
|
arguments, so we remove argument actual_ok.
|
||||||
|
(add_functions): Correct the values for actual_ok of all intrinsics.
|
||||||
|
(add_subroutines): Remove the actual_ok argument, which was never used.
|
||||||
|
* gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype.
|
||||||
|
* gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype.
|
||||||
|
* gcc/fortran/resolve.c (resolve_actual_arglist): Check whether
|
||||||
|
an intrinsic used as an argument list is allowed there.
|
||||||
|
* gcc/fortran/iresolve.c (gfc_resolve_index_func): New function.
|
||||||
|
(gfc_resolve_len): Change intrinsic function name to agree with
|
||||||
|
libgfortran.
|
||||||
|
* gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add
|
||||||
|
new case, because some specific intrinsics take 3 arguments.
|
||||||
|
* gcc/fortran/intrinsic.texi: DIMAG is a GNU extension.
|
||||||
|
|
||||||
2006-10-06 Jakub Jelinek <jakub@redhat.com>
|
2006-10-06 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR fortran/28415
|
PR fortran/28415
|
||||||
|
@ -1940,6 +1940,7 @@ try gfc_convert_type_warn (gfc_expr *, gfc_typespec *, int, int);
|
|||||||
int gfc_generic_intrinsic (const char *);
|
int gfc_generic_intrinsic (const char *);
|
||||||
int gfc_specific_intrinsic (const char *);
|
int gfc_specific_intrinsic (const char *);
|
||||||
int gfc_intrinsic_name (const char *, int);
|
int gfc_intrinsic_name (const char *, int);
|
||||||
|
int gfc_intrinsic_actual_ok (const char *, const bool);
|
||||||
gfc_intrinsic_sym *gfc_find_function (const char *);
|
gfc_intrinsic_sym *gfc_find_function (const char *);
|
||||||
|
|
||||||
match gfc_intrinsic_func_interface (gfc_expr *, int);
|
match gfc_intrinsic_func_interface (gfc_expr *, int);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -357,6 +357,7 @@ void gfc_resolve_iand (gfc_expr *, gfc_expr *, gfc_expr *);
|
|||||||
void gfc_resolve_ibclr (gfc_expr *, gfc_expr *, gfc_expr *);
|
void gfc_resolve_ibclr (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||||
void gfc_resolve_ibits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
|
void gfc_resolve_ibits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
|
||||||
void gfc_resolve_ibset (gfc_expr *, gfc_expr *, gfc_expr *);
|
void gfc_resolve_ibset (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||||
|
void gfc_resolve_index_func (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
|
||||||
void gfc_resolve_ierrno (gfc_expr *);
|
void gfc_resolve_ierrno (gfc_expr *);
|
||||||
void gfc_resolve_ieor (gfc_expr *, gfc_expr *, gfc_expr *);
|
void gfc_resolve_ieor (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||||
void gfc_resolve_ichar (gfc_expr *, gfc_expr *);
|
void gfc_resolve_ichar (gfc_expr *, gfc_expr *);
|
||||||
|
@ -667,7 +667,7 @@ end program test_aimag
|
|||||||
@item @emph{Specific names}:
|
@item @emph{Specific names}:
|
||||||
@multitable @columnfractions .20 .20 .20 .40
|
@multitable @columnfractions .20 .20 .20 .40
|
||||||
@item Name @tab Argument @tab Return type @tab Standard
|
@item Name @tab Argument @tab Return type @tab Standard
|
||||||
@item @code{DIMAG(Z)} @tab @code{COMPLEX(8) Z} @tab @code{REAL(8)} @tab F95 and later
|
@item @code{DIMAG(Z)} @tab @code{COMPLEX(8) Z} @tab @code{REAL(8)} @tab GNU extension
|
||||||
@item @code{IMAG(Z)} @tab @code{COMPLEX(*) Z} @tab @code{REAL(*)} @tab GNU extension
|
@item @code{IMAG(Z)} @tab @code{COMPLEX(*) Z} @tab @code{REAL(*)} @tab GNU extension
|
||||||
@item @code{IMAGPART(Z)} @tab @code{COMPLEX(*) Z} @tab @code{REAL(*)} @tab GNU extension
|
@item @code{IMAGPART(Z)} @tab @code{COMPLEX(*) Z} @tab @code{REAL(*)} @tab GNU extension
|
||||||
@end multitable
|
@end multitable
|
||||||
|
@ -876,6 +876,29 @@ gfc_resolve_ior (gfc_expr * f, gfc_expr * i, gfc_expr * j)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
gfc_resolve_index_func (gfc_expr * f, gfc_expr * str,
|
||||||
|
ATTRIBUTE_UNUSED gfc_expr * sub_str, gfc_expr * back)
|
||||||
|
{
|
||||||
|
gfc_typespec ts;
|
||||||
|
|
||||||
|
f->ts.type = BT_INTEGER;
|
||||||
|
f->ts.kind = gfc_default_integer_kind;
|
||||||
|
|
||||||
|
if (back && back->ts.kind != gfc_default_integer_kind)
|
||||||
|
{
|
||||||
|
ts.type = BT_LOGICAL;
|
||||||
|
ts.kind = gfc_default_integer_kind;
|
||||||
|
ts.derived = NULL;
|
||||||
|
ts.cl = NULL;
|
||||||
|
gfc_convert_type (back, &ts, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
f->value.function.name =
|
||||||
|
gfc_get_string ("__index_%d_i%d", str->ts.kind, f->ts.kind);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
gfc_resolve_int (gfc_expr * f, gfc_expr * a, gfc_expr * kind)
|
gfc_resolve_int (gfc_expr * f, gfc_expr * a, gfc_expr * kind)
|
||||||
{
|
{
|
||||||
@ -1022,7 +1045,8 @@ gfc_resolve_len (gfc_expr * f, gfc_expr * string)
|
|||||||
{
|
{
|
||||||
f->ts.type = BT_INTEGER;
|
f->ts.type = BT_INTEGER;
|
||||||
f->ts.kind = gfc_default_integer_kind;
|
f->ts.kind = gfc_default_integer_kind;
|
||||||
f->value.function.name = gfc_get_string ("__len_%d", string->ts.kind);
|
f->value.function.name = gfc_get_string ("__len_%d_i%d", string->ts.kind,
|
||||||
|
gfc_default_integer_kind);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -836,6 +836,7 @@ resolve_actual_arglist (gfc_actual_arglist * arg)
|
|||||||
|| sym->attr.intrinsic
|
|| sym->attr.intrinsic
|
||||||
|| sym->attr.external)
|
|| sym->attr.external)
|
||||||
{
|
{
|
||||||
|
int actual_ok;
|
||||||
|
|
||||||
/* If a procedure is not already determined to be something else
|
/* If a procedure is not already determined to be something else
|
||||||
check if it is intrinsic. */
|
check if it is intrinsic. */
|
||||||
@ -851,6 +852,19 @@ resolve_actual_arglist (gfc_actual_arglist * arg)
|
|||||||
"actual argument", sym->name, &e->where);
|
"actual argument", sym->name, &e->where);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
actual_ok = gfc_intrinsic_actual_ok (sym->name, sym->attr.subroutine);
|
||||||
|
if (sym->attr.intrinsic && actual_ok == 0)
|
||||||
|
{
|
||||||
|
gfc_error ("Intrinsic '%s' at %L is not allowed as an "
|
||||||
|
"actual argument", sym->name, &e->where);
|
||||||
|
}
|
||||||
|
else if (sym->attr.intrinsic && actual_ok == 2)
|
||||||
|
/* We need a special case for CHAR, which is the only intrinsic
|
||||||
|
function allowed as actual argument in F2003 and not allowed
|
||||||
|
in F95. */
|
||||||
|
gfc_notify_std (GFC_STD_F2003, "Fortran 2003: CHAR intrinsic "
|
||||||
|
"allowed as actual argument at %L", &e->where);
|
||||||
|
|
||||||
if (sym->attr.contained && !sym->attr.use_assoc
|
if (sym->attr.contained && !sym->attr.use_assoc
|
||||||
&& sym->ns->proc_name->attr.flavor != FL_MODULE)
|
&& sym->ns->proc_name->attr.flavor != FL_MODULE)
|
||||||
{
|
{
|
||||||
|
@ -1075,9 +1075,14 @@ gfc_get_extern_function_decl (gfc_symbol * sym)
|
|||||||
isym->resolve.f1 (&e, &argexpr);
|
isym->resolve.f1 (&e, &argexpr);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* All specific intrinsics take one or two arguments. */
|
if (isym->formal->next->next == NULL)
|
||||||
gcc_assert (isym->formal->next->next == NULL);
|
isym->resolve.f2 (&e, &argexpr, NULL);
|
||||||
isym->resolve.f2 (&e, &argexpr, NULL);
|
else
|
||||||
|
{
|
||||||
|
/* All specific intrinsics take less than 4 arguments. */
|
||||||
|
gcc_assert (isym->formal->next->next->next == NULL);
|
||||||
|
isym->resolve.f3 (&e, &argexpr, NULL, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gfc_option.flag_f2c
|
if (gfc_option.flag_f2c
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
2006-10-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR fortran/16580
|
||||||
|
PR fortran/29288
|
||||||
|
* gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90:
|
||||||
|
Add tests for using all possible intrinsics as actual arguments.
|
||||||
|
* gcc/testsuite/gfortran.dg/specifics_1.f90: Add tests for using
|
||||||
|
all possible intrinsics as actual arguments.
|
||||||
|
* gcc/testsuite/gfortran.dg/specifics_2.f90: New file.
|
||||||
|
* gcc/testsuite/gfortran.dg/specifics_3.f90: New file.
|
||||||
|
|
||||||
2006-10-07 Richard Sandiford <richard@codesourcery.com>
|
2006-10-07 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* gcc.dg/debug/debug-1.c: Use -fno-if-conversion MIPS targets.
|
* gcc.dg/debug/debug-1.c: Use -fno-if-conversion MIPS targets.
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
! Program to test intrinsic functions as actual arguments
|
! Program to test intrinsic functions as actual arguments
|
||||||
|
!
|
||||||
! Copied from gfortran.fortran-torture/execute/specifics.f90
|
! Copied from gfortran.fortran-torture/execute/specifics.f90
|
||||||
|
! Please keep them in sync
|
||||||
|
!
|
||||||
! It is run here with -ff2c option
|
! It is run here with -ff2c option
|
||||||
!
|
!
|
||||||
! { dg-do run }
|
! { dg-do run }
|
||||||
! { dg-options "-ff2c" }
|
! { dg-options "-ff2c" }
|
||||||
|
! Program to test intrinsic functions as actual arguments
|
||||||
subroutine test_c(fn, val, res)
|
subroutine test_c(fn, val, res)
|
||||||
complex fn
|
complex fn
|
||||||
complex val, res
|
complex val, res
|
||||||
@ -113,13 +117,56 @@ subroutine test_dprod(fn)
|
|||||||
if (abs (fn (2.0, 3.0) - 6d0) .gt. 0.00001) call abort
|
if (abs (fn (2.0, 3.0) - 6d0) .gt. 0.00001) call abort
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_nint(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
real val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_idnint(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
double precision val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_idim(fn,val1,val2,res)
|
||||||
|
integer fn, res, val1, val2
|
||||||
|
if (res .ne. fn(val1,val2)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_iabs(fn,val,res)
|
||||||
|
integer fn, res, val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_len(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
character(len=*) val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_char(fn,val,res)
|
||||||
|
integer val
|
||||||
|
character(len=1) fn, res
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_index(fn,val1,val2,res)
|
||||||
|
integer fn, res
|
||||||
|
character(len=*) val1, val2
|
||||||
|
if (fn(val1,val2) .ne. res) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
program specifics
|
program specifics
|
||||||
intrinsic abs
|
intrinsic abs
|
||||||
intrinsic aint
|
intrinsic aint
|
||||||
intrinsic anint
|
intrinsic anint
|
||||||
intrinsic acos
|
intrinsic acos
|
||||||
|
intrinsic acosh
|
||||||
intrinsic asin
|
intrinsic asin
|
||||||
|
intrinsic asinh
|
||||||
intrinsic atan
|
intrinsic atan
|
||||||
|
intrinsic atanh
|
||||||
intrinsic cos
|
intrinsic cos
|
||||||
intrinsic sin
|
intrinsic sin
|
||||||
intrinsic tan
|
intrinsic tan
|
||||||
@ -127,16 +174,21 @@ program specifics
|
|||||||
intrinsic sinh
|
intrinsic sinh
|
||||||
intrinsic tanh
|
intrinsic tanh
|
||||||
intrinsic alog
|
intrinsic alog
|
||||||
|
intrinsic alog10
|
||||||
intrinsic exp
|
intrinsic exp
|
||||||
intrinsic sign
|
intrinsic sign
|
||||||
|
intrinsic isign
|
||||||
intrinsic amod
|
intrinsic amod
|
||||||
|
|
||||||
intrinsic dabs
|
intrinsic dabs
|
||||||
intrinsic dint
|
intrinsic dint
|
||||||
intrinsic dnint
|
intrinsic dnint
|
||||||
intrinsic dacos
|
intrinsic dacos
|
||||||
|
intrinsic dacosh
|
||||||
intrinsic dasin
|
intrinsic dasin
|
||||||
|
intrinsic dasinh
|
||||||
intrinsic datan
|
intrinsic datan
|
||||||
|
intrinsic datanh
|
||||||
intrinsic dcos
|
intrinsic dcos
|
||||||
intrinsic dsin
|
intrinsic dsin
|
||||||
intrinsic dtan
|
intrinsic dtan
|
||||||
@ -144,6 +196,7 @@ program specifics
|
|||||||
intrinsic dsinh
|
intrinsic dsinh
|
||||||
intrinsic dtanh
|
intrinsic dtanh
|
||||||
intrinsic dlog
|
intrinsic dlog
|
||||||
|
intrinsic dlog10
|
||||||
intrinsic dexp
|
intrinsic dexp
|
||||||
intrinsic dsign
|
intrinsic dsign
|
||||||
intrinsic dmod
|
intrinsic dmod
|
||||||
@ -161,18 +214,41 @@ program specifics
|
|||||||
intrinsic cdlog
|
intrinsic cdlog
|
||||||
intrinsic cdsin
|
intrinsic cdsin
|
||||||
intrinsic cdsqrt
|
intrinsic cdsqrt
|
||||||
|
intrinsic zcos
|
||||||
|
intrinsic zexp
|
||||||
|
intrinsic zlog
|
||||||
|
intrinsic zsin
|
||||||
|
intrinsic zsqrt
|
||||||
|
|
||||||
intrinsic cabs
|
intrinsic cabs
|
||||||
intrinsic cdabs
|
intrinsic cdabs
|
||||||
|
intrinsic zabs
|
||||||
|
|
||||||
intrinsic dprod
|
intrinsic dprod
|
||||||
|
|
||||||
|
intrinsic nint
|
||||||
|
intrinsic idnint
|
||||||
|
intrinsic dim
|
||||||
|
intrinsic ddim
|
||||||
|
intrinsic idim
|
||||||
|
intrinsic iabs
|
||||||
|
intrinsic mod
|
||||||
|
intrinsic len
|
||||||
|
intrinsic index
|
||||||
|
intrinsic char
|
||||||
|
|
||||||
|
intrinsic aimag
|
||||||
|
intrinsic dimag
|
||||||
|
|
||||||
call test_r (abs, -1.0, abs(-1.0))
|
call test_r (abs, -1.0, abs(-1.0))
|
||||||
call test_r (aint, 1.7, 1.0)
|
call test_r (aint, 1.7, aint(1.7))
|
||||||
call test_r (anint, 1.7, 2.0)
|
call test_r (anint, 1.7, anint(1.7))
|
||||||
call test_r (acos, 0.5, acos(0.5))
|
call test_r (acos, 0.5, acos(0.5))
|
||||||
|
call test_r (acosh, 1.5, acosh(1.5))
|
||||||
call test_r (asin, 0.5, asin(0.5))
|
call test_r (asin, 0.5, asin(0.5))
|
||||||
|
call test_r (asinh, 0.5, asinh(0.5))
|
||||||
call test_r (atan, 0.5, atan(0.5))
|
call test_r (atan, 0.5, atan(0.5))
|
||||||
|
call test_r (atanh, 0.5, atanh(0.5))
|
||||||
call test_r (cos, 1.0, cos(1.0))
|
call test_r (cos, 1.0, cos(1.0))
|
||||||
call test_r (sin, 1.0, sin(1.0))
|
call test_r (sin, 1.0, sin(1.0))
|
||||||
call test_r (tan, 1.0, tan(1.0))
|
call test_r (tan, 1.0, tan(1.0))
|
||||||
@ -180,6 +256,7 @@ program specifics
|
|||||||
call test_r (sinh, 1.0, sinh(1.0))
|
call test_r (sinh, 1.0, sinh(1.0))
|
||||||
call test_r (tanh, 1.0, tanh(1.0))
|
call test_r (tanh, 1.0, tanh(1.0))
|
||||||
call test_r (alog, 2.0, alog(2.0))
|
call test_r (alog, 2.0, alog(2.0))
|
||||||
|
call test_r (alog10, 2.0, alog10(2.0))
|
||||||
call test_r (exp, 1.0, exp(1.0))
|
call test_r (exp, 1.0, exp(1.0))
|
||||||
call test_r2 (sign, 1.0, -2.0, sign(1.0, -2.0))
|
call test_r2 (sign, 1.0, -2.0, sign(1.0, -2.0))
|
||||||
call test_r2 (amod, 3.5, 2.0, amod(3.5, 2.0))
|
call test_r2 (amod, 3.5, 2.0, amod(3.5, 2.0))
|
||||||
@ -188,8 +265,11 @@ program specifics
|
|||||||
call test_d (dint, 1.7d0, 1d0)
|
call test_d (dint, 1.7d0, 1d0)
|
||||||
call test_d (dnint, 1.7d0, 2d0)
|
call test_d (dnint, 1.7d0, 2d0)
|
||||||
call test_d (dacos, 0.5d0, dacos(0.5d0))
|
call test_d (dacos, 0.5d0, dacos(0.5d0))
|
||||||
|
call test_d (dacosh, 1.5d0, dacosh(1.5d0))
|
||||||
call test_d (dasin, 0.5d0, dasin(0.5d0))
|
call test_d (dasin, 0.5d0, dasin(0.5d0))
|
||||||
|
call test_d (dasinh, 0.5d0, dasinh(0.5d0))
|
||||||
call test_d (datan, 0.5d0, datan(0.5d0))
|
call test_d (datan, 0.5d0, datan(0.5d0))
|
||||||
|
call test_d (datanh, 0.5d0, datanh(0.5d0))
|
||||||
call test_d (dcos, 1d0, dcos(1d0))
|
call test_d (dcos, 1d0, dcos(1d0))
|
||||||
call test_d (dsin, 1d0, dsin(1d0))
|
call test_d (dsin, 1d0, dsin(1d0))
|
||||||
call test_d (dtan, 1d0, dtan(1d0))
|
call test_d (dtan, 1d0, dtan(1d0))
|
||||||
@ -197,6 +277,7 @@ program specifics
|
|||||||
call test_d (dsinh, 1d0, dsinh(1d0))
|
call test_d (dsinh, 1d0, dsinh(1d0))
|
||||||
call test_d (dtanh, 1d0, dtanh(1d0))
|
call test_d (dtanh, 1d0, dtanh(1d0))
|
||||||
call test_d (dlog, 2d0, dlog(2d0))
|
call test_d (dlog, 2d0, dlog(2d0))
|
||||||
|
call test_d (dlog10, 2d0, dlog10(2d0))
|
||||||
call test_d (dexp, 1d0, dexp(1d0))
|
call test_d (dexp, 1d0, dexp(1d0))
|
||||||
call test_d2 (dsign, 1d0, -2d0, sign(1d0, -2d0))
|
call test_d2 (dsign, 1d0, -2d0, sign(1d0, -2d0))
|
||||||
call test_d2 (dmod, 3.5d0, 2d0, dmod(3.5d0, 2d0))
|
call test_d2 (dmod, 3.5d0, 2d0, dmod(3.5d0, 2d0))
|
||||||
@ -212,13 +293,34 @@ program specifics
|
|||||||
|
|
||||||
call test_z (dconjg, (1.2d0,-4.d0), dconjg((1.2d0,-4.d0)))
|
call test_z (dconjg, (1.2d0,-4.d0), dconjg((1.2d0,-4.d0)))
|
||||||
call test_z (cdcos, (1.2d0,-4.d0), cdcos((1.2d0,-4.d0)))
|
call test_z (cdcos, (1.2d0,-4.d0), cdcos((1.2d0,-4.d0)))
|
||||||
|
call test_z (zcos, (1.2d0,-4.d0), zcos((1.2d0,-4.d0)))
|
||||||
call test_z (cdexp, (1.2d0,-4.d0), cdexp((1.2d0,-4.d0)))
|
call test_z (cdexp, (1.2d0,-4.d0), cdexp((1.2d0,-4.d0)))
|
||||||
|
call test_z (zexp, (1.2d0,-4.d0), zexp((1.2d0,-4.d0)))
|
||||||
call test_z (cdlog, (1.2d0,-4.d0), cdlog((1.2d0,-4.d0)))
|
call test_z (cdlog, (1.2d0,-4.d0), cdlog((1.2d0,-4.d0)))
|
||||||
|
call test_z (zlog, (1.2d0,-4.d0), zlog((1.2d0,-4.d0)))
|
||||||
call test_z (cdsin, (1.2d0,-4.d0), cdsin((1.2d0,-4.d0)))
|
call test_z (cdsin, (1.2d0,-4.d0), cdsin((1.2d0,-4.d0)))
|
||||||
|
call test_z (zsin, (1.2d0,-4.d0), zsin((1.2d0,-4.d0)))
|
||||||
call test_z (cdsqrt, (1.2d0,-4.d0), cdsqrt((1.2d0,-4.d0)))
|
call test_z (cdsqrt, (1.2d0,-4.d0), cdsqrt((1.2d0,-4.d0)))
|
||||||
|
call test_z (zsqrt, (1.2d0,-4.d0), zsqrt((1.2d0,-4.d0)))
|
||||||
|
|
||||||
call test_cabs (cabs, (1.2,-4.), cabs((1.2,-4.)))
|
call test_cabs (cabs, (1.2,-4.), cabs((1.2,-4.)))
|
||||||
call test_cdabs (cdabs, (1.2d0,-4.d0), cdabs((1.2d0,-4.d0)))
|
call test_cdabs (cdabs, (1.2d0,-4.d0), cdabs((1.2d0,-4.d0)))
|
||||||
|
call test_cdabs (zabs, (1.2d0,-4.d0), zabs((1.2d0,-4.d0)))
|
||||||
|
call test_cabs (aimag, (1.2,-4.), aimag((1.2,-4.)))
|
||||||
|
call test_cdabs (dimag, (1.2d0,-4.d0), dimag((1.2d0,-4.d0)))
|
||||||
|
|
||||||
|
call test_nint (nint, -1.2, nint(-1.2))
|
||||||
|
call test_idnint (idnint, -1.2d0, idnint(-1.2d0))
|
||||||
|
call test_idim (isign, -42, 17, isign(-42, 17))
|
||||||
|
call test_idim (idim, -42, 17, idim(-42,17))
|
||||||
|
call test_idim (idim, 42, 17, idim(42,17))
|
||||||
|
call test_r2 (dim, 1.2, -4., dim(1.2, -4.))
|
||||||
|
call test_d2 (ddim, 1.2d0, -4.d0, ddim(1.2d0, -4.d0))
|
||||||
|
call test_iabs (iabs, -7, iabs(-7))
|
||||||
|
call test_idim (mod, 5, 2, mod(5,2))
|
||||||
|
call test_len (len, "foobar", len("foobar"))
|
||||||
|
call test_char (char, 47, char(47))
|
||||||
|
call test_index (index, "foobarfoobar", "bar", index("foobarfoobar","bar"))
|
||||||
|
|
||||||
end program
|
end program
|
||||||
|
|
||||||
|
82
gcc/testsuite/gfortran.dg/specifics_2.f90
Normal file
82
gcc/testsuite/gfortran.dg/specifics_2.f90
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
! { dg-do compile }
|
||||||
|
! This is the list of intrinsics allowed as actual arguments
|
||||||
|
intrinsic abs,acos,acosh,aimag,aint,alog,alog10,amod,anint,asin,asinh,atan,&
|
||||||
|
atan2,atanh,cabs,ccos,cexp,char,clog,conjg,cos,cosh,csin,csqrt,dabs,dacos,&
|
||||||
|
dacosh,dasin,dasinh,datan,datan2,datanh,dconjg,dcos,dcosh,ddim,dexp,dim,&
|
||||||
|
dimag,dint,dlog,dlog10,dmod,dnint,dprod,dsign,dsin,dsinh,dsqrt,dtan,dtanh,&
|
||||||
|
exp,iabs,idim,idnint,index,isign,len,mod,nint,sign,sin,sinh,sqrt,tan,&
|
||||||
|
tanh,zabs,zcos,zexp,zlog,zsin,zsqrt
|
||||||
|
|
||||||
|
call foo(abs)
|
||||||
|
call foo(acos)
|
||||||
|
call foo(acosh)
|
||||||
|
call foo(aimag)
|
||||||
|
call foo(aint)
|
||||||
|
call foo(alog)
|
||||||
|
call foo(alog10)
|
||||||
|
call foo(amod)
|
||||||
|
call foo(anint)
|
||||||
|
call foo(asin)
|
||||||
|
call foo(asinh)
|
||||||
|
call foo(atan)
|
||||||
|
call foo(atan2)
|
||||||
|
call foo(atanh)
|
||||||
|
call foo(cabs)
|
||||||
|
call foo(ccos)
|
||||||
|
call foo(cexp)
|
||||||
|
call foo(char)
|
||||||
|
call foo(clog)
|
||||||
|
call foo(conjg)
|
||||||
|
call foo(cos)
|
||||||
|
call foo(cosh)
|
||||||
|
call foo(csin)
|
||||||
|
call foo(csqrt)
|
||||||
|
call foo(dabs)
|
||||||
|
call foo(dacos)
|
||||||
|
call foo(dacosh)
|
||||||
|
call foo(dasin)
|
||||||
|
call foo(dasinh)
|
||||||
|
call foo(datan)
|
||||||
|
call foo(datan2)
|
||||||
|
call foo(datanh)
|
||||||
|
call foo(dconjg)
|
||||||
|
call foo(dcos)
|
||||||
|
call foo(dcosh)
|
||||||
|
call foo(ddim)
|
||||||
|
call foo(dexp)
|
||||||
|
call foo(dim)
|
||||||
|
call foo(dimag)
|
||||||
|
call foo(dint)
|
||||||
|
call foo(dlog)
|
||||||
|
call foo(dlog10)
|
||||||
|
call foo(dmod)
|
||||||
|
call foo(dnint)
|
||||||
|
call foo(dprod)
|
||||||
|
call foo(dsign)
|
||||||
|
call foo(dsin)
|
||||||
|
call foo(dsinh)
|
||||||
|
call foo(dsqrt)
|
||||||
|
call foo(dtan)
|
||||||
|
call foo(dtanh)
|
||||||
|
call foo(exp)
|
||||||
|
call foo(iabs)
|
||||||
|
call foo(idim)
|
||||||
|
call foo(idnint)
|
||||||
|
call foo(index)
|
||||||
|
call foo(isign)
|
||||||
|
call foo(len)
|
||||||
|
call foo(mod)
|
||||||
|
call foo(nint)
|
||||||
|
call foo(sign)
|
||||||
|
call foo(sin)
|
||||||
|
call foo(sinh)
|
||||||
|
call foo(sqrt)
|
||||||
|
call foo(tan)
|
||||||
|
call foo(tanh)
|
||||||
|
call foo(zabs)
|
||||||
|
call foo(zcos)
|
||||||
|
call foo(zexp)
|
||||||
|
call foo(zlog)
|
||||||
|
call foo(zsin)
|
||||||
|
call foo(zsqrt)
|
||||||
|
end
|
5
gcc/testsuite/gfortran.dg/specifics_3.f90
Normal file
5
gcc/testsuite/gfortran.dg/specifics_3.f90
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
! { dg-do compile }
|
||||||
|
! { dg-options "-std=f95" }
|
||||||
|
intrinsic char
|
||||||
|
call foo(char) ! { dg-error "Fortran 2003: CHAR intrinsic allowed as actual argument" }
|
||||||
|
end
|
@ -1,4 +1,6 @@
|
|||||||
! Program to test intrinsic functions as actual arguments
|
! Program to test intrinsic functions as actual arguments
|
||||||
|
!
|
||||||
|
! Please keep the content of this file in sync with gfortran.dg/specifics_1.f90
|
||||||
subroutine test_c(fn, val, res)
|
subroutine test_c(fn, val, res)
|
||||||
complex fn
|
complex fn
|
||||||
complex val, res
|
complex val, res
|
||||||
@ -108,13 +110,56 @@ subroutine test_dprod(fn)
|
|||||||
if (abs (fn (2.0, 3.0) - 6d0) .gt. 0.00001) call abort
|
if (abs (fn (2.0, 3.0) - 6d0) .gt. 0.00001) call abort
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_nint(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
real val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_idnint(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
double precision val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_idim(fn,val1,val2,res)
|
||||||
|
integer fn, res, val1, val2
|
||||||
|
if (res .ne. fn(val1,val2)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_iabs(fn,val,res)
|
||||||
|
integer fn, res, val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_len(fn,val,res)
|
||||||
|
integer fn, res
|
||||||
|
character(len=*) val
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_char(fn,val,res)
|
||||||
|
integer val
|
||||||
|
character(len=1) fn, res
|
||||||
|
if (res .ne. fn(val)) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine test_index(fn,val1,val2,res)
|
||||||
|
integer fn, res
|
||||||
|
character(len=*) val1, val2
|
||||||
|
if (fn(val1,val2) .ne. res) call abort
|
||||||
|
end subroutine
|
||||||
|
|
||||||
program specifics
|
program specifics
|
||||||
intrinsic abs
|
intrinsic abs
|
||||||
intrinsic aint
|
intrinsic aint
|
||||||
intrinsic anint
|
intrinsic anint
|
||||||
intrinsic acos
|
intrinsic acos
|
||||||
|
intrinsic acosh
|
||||||
intrinsic asin
|
intrinsic asin
|
||||||
|
intrinsic asinh
|
||||||
intrinsic atan
|
intrinsic atan
|
||||||
|
intrinsic atanh
|
||||||
intrinsic cos
|
intrinsic cos
|
||||||
intrinsic sin
|
intrinsic sin
|
||||||
intrinsic tan
|
intrinsic tan
|
||||||
@ -122,16 +167,21 @@ program specifics
|
|||||||
intrinsic sinh
|
intrinsic sinh
|
||||||
intrinsic tanh
|
intrinsic tanh
|
||||||
intrinsic alog
|
intrinsic alog
|
||||||
|
intrinsic alog10
|
||||||
intrinsic exp
|
intrinsic exp
|
||||||
intrinsic sign
|
intrinsic sign
|
||||||
|
intrinsic isign
|
||||||
intrinsic amod
|
intrinsic amod
|
||||||
|
|
||||||
intrinsic dabs
|
intrinsic dabs
|
||||||
intrinsic dint
|
intrinsic dint
|
||||||
intrinsic dnint
|
intrinsic dnint
|
||||||
intrinsic dacos
|
intrinsic dacos
|
||||||
|
intrinsic dacosh
|
||||||
intrinsic dasin
|
intrinsic dasin
|
||||||
|
intrinsic dasinh
|
||||||
intrinsic datan
|
intrinsic datan
|
||||||
|
intrinsic datanh
|
||||||
intrinsic dcos
|
intrinsic dcos
|
||||||
intrinsic dsin
|
intrinsic dsin
|
||||||
intrinsic dtan
|
intrinsic dtan
|
||||||
@ -139,6 +189,7 @@ program specifics
|
|||||||
intrinsic dsinh
|
intrinsic dsinh
|
||||||
intrinsic dtanh
|
intrinsic dtanh
|
||||||
intrinsic dlog
|
intrinsic dlog
|
||||||
|
intrinsic dlog10
|
||||||
intrinsic dexp
|
intrinsic dexp
|
||||||
intrinsic dsign
|
intrinsic dsign
|
||||||
intrinsic dmod
|
intrinsic dmod
|
||||||
@ -156,18 +207,41 @@ program specifics
|
|||||||
intrinsic cdlog
|
intrinsic cdlog
|
||||||
intrinsic cdsin
|
intrinsic cdsin
|
||||||
intrinsic cdsqrt
|
intrinsic cdsqrt
|
||||||
|
intrinsic zcos
|
||||||
|
intrinsic zexp
|
||||||
|
intrinsic zlog
|
||||||
|
intrinsic zsin
|
||||||
|
intrinsic zsqrt
|
||||||
|
|
||||||
intrinsic cabs
|
intrinsic cabs
|
||||||
intrinsic cdabs
|
intrinsic cdabs
|
||||||
|
intrinsic zabs
|
||||||
|
|
||||||
intrinsic dprod
|
intrinsic dprod
|
||||||
|
|
||||||
|
intrinsic nint
|
||||||
|
intrinsic idnint
|
||||||
|
intrinsic dim
|
||||||
|
intrinsic ddim
|
||||||
|
intrinsic idim
|
||||||
|
intrinsic iabs
|
||||||
|
intrinsic mod
|
||||||
|
intrinsic len
|
||||||
|
intrinsic index
|
||||||
|
intrinsic char
|
||||||
|
|
||||||
|
intrinsic aimag
|
||||||
|
intrinsic dimag
|
||||||
|
|
||||||
call test_r (abs, -1.0, abs(-1.0))
|
call test_r (abs, -1.0, abs(-1.0))
|
||||||
call test_r (aint, 1.7, 1.0)
|
call test_r (aint, 1.7, aint(1.7))
|
||||||
call test_r (anint, 1.7, 2.0)
|
call test_r (anint, 1.7, anint(1.7))
|
||||||
call test_r (acos, 0.5, acos(0.5))
|
call test_r (acos, 0.5, acos(0.5))
|
||||||
|
call test_r (acosh, 1.5, acosh(1.5))
|
||||||
call test_r (asin, 0.5, asin(0.5))
|
call test_r (asin, 0.5, asin(0.5))
|
||||||
|
call test_r (asinh, 0.5, asinh(0.5))
|
||||||
call test_r (atan, 0.5, atan(0.5))
|
call test_r (atan, 0.5, atan(0.5))
|
||||||
|
call test_r (atanh, 0.5, atanh(0.5))
|
||||||
call test_r (cos, 1.0, cos(1.0))
|
call test_r (cos, 1.0, cos(1.0))
|
||||||
call test_r (sin, 1.0, sin(1.0))
|
call test_r (sin, 1.0, sin(1.0))
|
||||||
call test_r (tan, 1.0, tan(1.0))
|
call test_r (tan, 1.0, tan(1.0))
|
||||||
@ -175,6 +249,7 @@ program specifics
|
|||||||
call test_r (sinh, 1.0, sinh(1.0))
|
call test_r (sinh, 1.0, sinh(1.0))
|
||||||
call test_r (tanh, 1.0, tanh(1.0))
|
call test_r (tanh, 1.0, tanh(1.0))
|
||||||
call test_r (alog, 2.0, alog(2.0))
|
call test_r (alog, 2.0, alog(2.0))
|
||||||
|
call test_r (alog10, 2.0, alog10(2.0))
|
||||||
call test_r (exp, 1.0, exp(1.0))
|
call test_r (exp, 1.0, exp(1.0))
|
||||||
call test_r2 (sign, 1.0, -2.0, sign(1.0, -2.0))
|
call test_r2 (sign, 1.0, -2.0, sign(1.0, -2.0))
|
||||||
call test_r2 (amod, 3.5, 2.0, amod(3.5, 2.0))
|
call test_r2 (amod, 3.5, 2.0, amod(3.5, 2.0))
|
||||||
@ -183,8 +258,11 @@ program specifics
|
|||||||
call test_d (dint, 1.7d0, 1d0)
|
call test_d (dint, 1.7d0, 1d0)
|
||||||
call test_d (dnint, 1.7d0, 2d0)
|
call test_d (dnint, 1.7d0, 2d0)
|
||||||
call test_d (dacos, 0.5d0, dacos(0.5d0))
|
call test_d (dacos, 0.5d0, dacos(0.5d0))
|
||||||
|
call test_d (dacosh, 1.5d0, dacosh(1.5d0))
|
||||||
call test_d (dasin, 0.5d0, dasin(0.5d0))
|
call test_d (dasin, 0.5d0, dasin(0.5d0))
|
||||||
|
call test_d (dasinh, 0.5d0, dasinh(0.5d0))
|
||||||
call test_d (datan, 0.5d0, datan(0.5d0))
|
call test_d (datan, 0.5d0, datan(0.5d0))
|
||||||
|
call test_d (datanh, 0.5d0, datanh(0.5d0))
|
||||||
call test_d (dcos, 1d0, dcos(1d0))
|
call test_d (dcos, 1d0, dcos(1d0))
|
||||||
call test_d (dsin, 1d0, dsin(1d0))
|
call test_d (dsin, 1d0, dsin(1d0))
|
||||||
call test_d (dtan, 1d0, dtan(1d0))
|
call test_d (dtan, 1d0, dtan(1d0))
|
||||||
@ -192,6 +270,7 @@ program specifics
|
|||||||
call test_d (dsinh, 1d0, dsinh(1d0))
|
call test_d (dsinh, 1d0, dsinh(1d0))
|
||||||
call test_d (dtanh, 1d0, dtanh(1d0))
|
call test_d (dtanh, 1d0, dtanh(1d0))
|
||||||
call test_d (dlog, 2d0, dlog(2d0))
|
call test_d (dlog, 2d0, dlog(2d0))
|
||||||
|
call test_d (dlog10, 2d0, dlog10(2d0))
|
||||||
call test_d (dexp, 1d0, dexp(1d0))
|
call test_d (dexp, 1d0, dexp(1d0))
|
||||||
call test_d2 (dsign, 1d0, -2d0, sign(1d0, -2d0))
|
call test_d2 (dsign, 1d0, -2d0, sign(1d0, -2d0))
|
||||||
call test_d2 (dmod, 3.5d0, 2d0, dmod(3.5d0, 2d0))
|
call test_d2 (dmod, 3.5d0, 2d0, dmod(3.5d0, 2d0))
|
||||||
@ -207,13 +286,34 @@ program specifics
|
|||||||
|
|
||||||
call test_z (dconjg, (1.2d0,-4.d0), dconjg((1.2d0,-4.d0)))
|
call test_z (dconjg, (1.2d0,-4.d0), dconjg((1.2d0,-4.d0)))
|
||||||
call test_z (cdcos, (1.2d0,-4.d0), cdcos((1.2d0,-4.d0)))
|
call test_z (cdcos, (1.2d0,-4.d0), cdcos((1.2d0,-4.d0)))
|
||||||
|
call test_z (zcos, (1.2d0,-4.d0), zcos((1.2d0,-4.d0)))
|
||||||
call test_z (cdexp, (1.2d0,-4.d0), cdexp((1.2d0,-4.d0)))
|
call test_z (cdexp, (1.2d0,-4.d0), cdexp((1.2d0,-4.d0)))
|
||||||
|
call test_z (zexp, (1.2d0,-4.d0), zexp((1.2d0,-4.d0)))
|
||||||
call test_z (cdlog, (1.2d0,-4.d0), cdlog((1.2d0,-4.d0)))
|
call test_z (cdlog, (1.2d0,-4.d0), cdlog((1.2d0,-4.d0)))
|
||||||
|
call test_z (zlog, (1.2d0,-4.d0), zlog((1.2d0,-4.d0)))
|
||||||
call test_z (cdsin, (1.2d0,-4.d0), cdsin((1.2d0,-4.d0)))
|
call test_z (cdsin, (1.2d0,-4.d0), cdsin((1.2d0,-4.d0)))
|
||||||
|
call test_z (zsin, (1.2d0,-4.d0), zsin((1.2d0,-4.d0)))
|
||||||
call test_z (cdsqrt, (1.2d0,-4.d0), cdsqrt((1.2d0,-4.d0)))
|
call test_z (cdsqrt, (1.2d0,-4.d0), cdsqrt((1.2d0,-4.d0)))
|
||||||
|
call test_z (zsqrt, (1.2d0,-4.d0), zsqrt((1.2d0,-4.d0)))
|
||||||
|
|
||||||
call test_cabs (cabs, (1.2,-4.), cabs((1.2,-4.)))
|
call test_cabs (cabs, (1.2,-4.), cabs((1.2,-4.)))
|
||||||
call test_cdabs (cdabs, (1.2d0,-4.d0), cdabs((1.2d0,-4.d0)))
|
call test_cdabs (cdabs, (1.2d0,-4.d0), cdabs((1.2d0,-4.d0)))
|
||||||
|
call test_cdabs (zabs, (1.2d0,-4.d0), zabs((1.2d0,-4.d0)))
|
||||||
|
call test_cabs (aimag, (1.2,-4.), aimag((1.2,-4.)))
|
||||||
|
call test_cdabs (dimag, (1.2d0,-4.d0), dimag((1.2d0,-4.d0)))
|
||||||
|
|
||||||
|
call test_nint (nint, -1.2, nint(-1.2))
|
||||||
|
call test_idnint (idnint, -1.2d0, idnint(-1.2d0))
|
||||||
|
call test_idim (isign, -42, 17, isign(-42, 17))
|
||||||
|
call test_idim (idim, -42, 17, idim(-42,17))
|
||||||
|
call test_idim (idim, 42, 17, idim(42,17))
|
||||||
|
call test_r2 (dim, 1.2, -4., dim(1.2, -4.))
|
||||||
|
call test_d2 (ddim, 1.2d0, -4.d0, ddim(1.2d0, -4.d0))
|
||||||
|
call test_iabs (iabs, -7, iabs(-7))
|
||||||
|
call test_idim (mod, 5, 2, mod(5,2))
|
||||||
|
call test_len (len, "foobar", len("foobar"))
|
||||||
|
call test_char (char, 47, char(47))
|
||||||
|
call test_index (index, "foobarfoobar", "bar", index("foobarfoobar","bar"))
|
||||||
|
|
||||||
end program
|
end program
|
||||||
|
|
||||||
|
@ -1,6 +1,37 @@
|
|||||||
|
2006-10-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR fortran/16580
|
||||||
|
PR fortran/29288
|
||||||
|
* libgfortran/Makefile.am: Add the new files to the build
|
||||||
|
process, and rules to build them.
|
||||||
|
* libgfortran/Makefile.in: Regenerate.
|
||||||
|
* libgfortran/m4/misc_specifics.m4: New file.
|
||||||
|
* libgfortran/m4/specific.m4: Add new special cases for function
|
||||||
|
with complex argument and real result, like abs_c* and aimag_c*.
|
||||||
|
* libgfortran/intrinsics/f2c_specifics.F90: Add specifics for
|
||||||
|
AIMAG, ASINH, ACOSH and ATANH.
|
||||||
|
* libgfortran/generated/_aimag_c4.F90: New file.
|
||||||
|
* libgfortran/generated/_aimag_c8.F90: New file.
|
||||||
|
* libgfortran/generated/_asinh_r10.F90: New file.
|
||||||
|
* libgfortran/generated/_acosh_r16.F90: New file.
|
||||||
|
* libgfortran/generated/_aimag_c10.F90: New file.
|
||||||
|
* libgfortran/generated/_atanh_r16.F90: New file.
|
||||||
|
* libgfortran/generated/_acosh_r4.F90: New file.
|
||||||
|
* libgfortran/generated/_acosh_r8.F90: New file.
|
||||||
|
* libgfortran/generated/_asinh_r4.F90: New file.
|
||||||
|
* libgfortran/generated/_asinh_r8.F90: New file.
|
||||||
|
* libgfortran/generated/_asinh_r16.F90: New file.
|
||||||
|
* libgfortran/generated/_atanh_r4.F90: New file.
|
||||||
|
* libgfortran/generated/_atanh_r8.F90: New file.
|
||||||
|
* libgfortran/generated/_acosh_r10.F90: New file.
|
||||||
|
* libgfortran/generated/misc_specifics.F90: New file.
|
||||||
|
* libgfortran/generated/_aimag_c16.F90: New file.
|
||||||
|
* libgfortran/generated/_atanh_r10.F90: New file.
|
||||||
|
|
||||||
2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
|
2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
|
||||||
|
|
||||||
* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from test.
|
* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__
|
||||||
|
from test.
|
||||||
* configure: Regenerate.
|
* configure: Regenerate.
|
||||||
|
|
||||||
2006-10-05 Steven G. Kargl <kargl@gcc.gnu.org>
|
2006-10-05 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
@ -419,7 +419,8 @@ m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
|
|||||||
m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
|
m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
|
||||||
m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
|
m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
|
||||||
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
||||||
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4
|
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
|
||||||
|
m4/misc_specifics.m4
|
||||||
|
|
||||||
gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
||||||
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
||||||
@ -444,6 +445,10 @@ generated/_abs_r4.F90 \
|
|||||||
generated/_abs_r8.F90 \
|
generated/_abs_r8.F90 \
|
||||||
generated/_abs_r10.F90 \
|
generated/_abs_r10.F90 \
|
||||||
generated/_abs_r16.F90 \
|
generated/_abs_r16.F90 \
|
||||||
|
generated/_aimag_c4.F90 \
|
||||||
|
generated/_aimag_c8.F90 \
|
||||||
|
generated/_aimag_c10.F90 \
|
||||||
|
generated/_aimag_c16.F90 \
|
||||||
generated/_exp_r4.F90 \
|
generated/_exp_r4.F90 \
|
||||||
generated/_exp_r8.F90 \
|
generated/_exp_r8.F90 \
|
||||||
generated/_exp_r10.F90 \
|
generated/_exp_r10.F90 \
|
||||||
@ -476,14 +481,26 @@ generated/_asin_r4.F90 \
|
|||||||
generated/_asin_r8.F90 \
|
generated/_asin_r8.F90 \
|
||||||
generated/_asin_r10.F90 \
|
generated/_asin_r10.F90 \
|
||||||
generated/_asin_r16.F90 \
|
generated/_asin_r16.F90 \
|
||||||
|
generated/_asinh_r4.F90 \
|
||||||
|
generated/_asinh_r8.F90 \
|
||||||
|
generated/_asinh_r10.F90 \
|
||||||
|
generated/_asinh_r16.F90 \
|
||||||
generated/_acos_r4.F90 \
|
generated/_acos_r4.F90 \
|
||||||
generated/_acos_r8.F90 \
|
generated/_acos_r8.F90 \
|
||||||
generated/_acos_r10.F90 \
|
generated/_acos_r10.F90 \
|
||||||
generated/_acos_r16.F90 \
|
generated/_acos_r16.F90 \
|
||||||
|
generated/_acosh_r4.F90 \
|
||||||
|
generated/_acosh_r8.F90 \
|
||||||
|
generated/_acosh_r10.F90 \
|
||||||
|
generated/_acosh_r16.F90 \
|
||||||
generated/_atan_r4.F90 \
|
generated/_atan_r4.F90 \
|
||||||
generated/_atan_r8.F90 \
|
generated/_atan_r8.F90 \
|
||||||
generated/_atan_r10.F90 \
|
generated/_atan_r10.F90 \
|
||||||
generated/_atan_r16.F90 \
|
generated/_atan_r16.F90 \
|
||||||
|
generated/_atanh_r4.F90 \
|
||||||
|
generated/_atanh_r8.F90 \
|
||||||
|
generated/_atanh_r10.F90 \
|
||||||
|
generated/_atanh_r16.F90 \
|
||||||
generated/_sin_r4.F90 \
|
generated/_sin_r4.F90 \
|
||||||
generated/_sin_r8.F90 \
|
generated/_sin_r8.F90 \
|
||||||
generated/_sin_r10.F90 \
|
generated/_sin_r10.F90 \
|
||||||
@ -556,9 +573,12 @@ generated/_mod_r8.F90 \
|
|||||||
generated/_mod_r10.F90 \
|
generated/_mod_r10.F90 \
|
||||||
generated/_mod_r16.F90
|
generated/_mod_r16.F90
|
||||||
|
|
||||||
|
gfor_misc_specifics = generated/misc_specifics.F90
|
||||||
|
|
||||||
gfor_specific_src= \
|
gfor_specific_src= \
|
||||||
$(gfor_built_specific_src) \
|
$(gfor_built_specific_src) \
|
||||||
$(gfor_built_specific2_src) \
|
$(gfor_built_specific2_src) \
|
||||||
|
$(gfor_misc_specifics) \
|
||||||
intrinsics/dprod_r8.f90 \
|
intrinsics/dprod_r8.f90 \
|
||||||
intrinsics/f2c_specifics.F90
|
intrinsics/f2c_specifics.F90
|
||||||
|
|
||||||
@ -572,7 +592,7 @@ $(patsubst %.c,%.lo,$(notdir $(i_matmul_c))): AM_CFLAGS += -ftree-vectorize -fun
|
|||||||
$(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
|
$(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
|
||||||
|
|
||||||
BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
|
BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
|
||||||
$(gfor_built_specific2_src)
|
$(gfor_built_specific2_src) $(gfor_misc_specifics)
|
||||||
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
|
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
|
||||||
$(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
|
$(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
|
||||||
|
|
||||||
@ -685,6 +705,9 @@ $(gfor_built_specific_src): m4/specific.m4 m4/head.m4
|
|||||||
|
|
||||||
$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
|
$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
|
||||||
$(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $(srcdir)/$@
|
$(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $(srcdir)/$@
|
||||||
|
|
||||||
|
$(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
|
||||||
|
m4 -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $(srcdir)/$@
|
||||||
## end of maintainer mode only rules
|
## end of maintainer mode only rules
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -179,15 +179,19 @@ am__objects_30 = associated.lo abort.lo access.lo args.lo bessel.lo \
|
|||||||
am__objects_31 =
|
am__objects_31 =
|
||||||
am__objects_32 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
|
am__objects_32 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
|
||||||
_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
|
_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
|
||||||
_abs_r10.lo _abs_r16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
|
_abs_r10.lo _abs_r16.lo _aimag_c4.lo _aimag_c8.lo \
|
||||||
|
_aimag_c10.lo _aimag_c16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
|
||||||
_exp_r16.lo _exp_c4.lo _exp_c8.lo _exp_c10.lo _exp_c16.lo \
|
_exp_r16.lo _exp_c4.lo _exp_c8.lo _exp_c10.lo _exp_c16.lo \
|
||||||
_log_r4.lo _log_r8.lo _log_r10.lo _log_r16.lo _log_c4.lo \
|
_log_r4.lo _log_r8.lo _log_r10.lo _log_r16.lo _log_c4.lo \
|
||||||
_log_c8.lo _log_c10.lo _log_c16.lo _log10_r4.lo _log10_r8.lo \
|
_log_c8.lo _log_c10.lo _log_c16.lo _log10_r4.lo _log10_r8.lo \
|
||||||
_log10_r10.lo _log10_r16.lo _sqrt_r4.lo _sqrt_r8.lo \
|
_log10_r10.lo _log10_r16.lo _sqrt_r4.lo _sqrt_r8.lo \
|
||||||
_sqrt_r10.lo _sqrt_r16.lo _sqrt_c4.lo _sqrt_c8.lo _sqrt_c10.lo \
|
_sqrt_r10.lo _sqrt_r16.lo _sqrt_c4.lo _sqrt_c8.lo _sqrt_c10.lo \
|
||||||
_sqrt_c16.lo _asin_r4.lo _asin_r8.lo _asin_r10.lo _asin_r16.lo \
|
_sqrt_c16.lo _asin_r4.lo _asin_r8.lo _asin_r10.lo _asin_r16.lo \
|
||||||
_acos_r4.lo _acos_r8.lo _acos_r10.lo _acos_r16.lo _atan_r4.lo \
|
_asinh_r4.lo _asinh_r8.lo _asinh_r10.lo _asinh_r16.lo \
|
||||||
_atan_r8.lo _atan_r10.lo _atan_r16.lo _sin_r4.lo _sin_r8.lo \
|
_acos_r4.lo _acos_r8.lo _acos_r10.lo _acos_r16.lo _acosh_r4.lo \
|
||||||
|
_acosh_r8.lo _acosh_r10.lo _acosh_r16.lo _atan_r4.lo \
|
||||||
|
_atan_r8.lo _atan_r10.lo _atan_r16.lo _atanh_r4.lo \
|
||||||
|
_atanh_r8.lo _atanh_r10.lo _atanh_r16.lo _sin_r4.lo _sin_r8.lo \
|
||||||
_sin_r10.lo _sin_r16.lo _sin_c4.lo _sin_c8.lo _sin_c10.lo \
|
_sin_r10.lo _sin_r16.lo _sin_c4.lo _sin_c8.lo _sin_c10.lo \
|
||||||
_sin_c16.lo _cos_r4.lo _cos_r8.lo _cos_r10.lo _cos_r16.lo \
|
_sin_c16.lo _cos_r4.lo _cos_r8.lo _cos_r10.lo _cos_r16.lo \
|
||||||
_cos_c4.lo _cos_c8.lo _cos_c10.lo _cos_c16.lo _tan_r4.lo \
|
_cos_c4.lo _cos_c8.lo _cos_c10.lo _cos_c16.lo _tan_r4.lo \
|
||||||
@ -203,11 +207,12 @@ am__objects_33 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
|
|||||||
_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
|
_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
|
||||||
_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo \
|
_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo \
|
||||||
_mod_r10.lo _mod_r16.lo
|
_mod_r10.lo _mod_r16.lo
|
||||||
am__objects_34 = $(am__objects_32) $(am__objects_33) dprod_r8.lo \
|
am__objects_34 = misc_specifics.lo
|
||||||
f2c_specifics.lo
|
am__objects_35 = $(am__objects_32) $(am__objects_33) $(am__objects_34) \
|
||||||
|
dprod_r8.lo f2c_specifics.lo
|
||||||
am_libgfortran_la_OBJECTS = $(am__objects_1) $(am__objects_28) \
|
am_libgfortran_la_OBJECTS = $(am__objects_1) $(am__objects_28) \
|
||||||
$(am__objects_29) $(am__objects_30) $(am__objects_31) \
|
$(am__objects_29) $(am__objects_30) $(am__objects_31) \
|
||||||
$(am__objects_34)
|
$(am__objects_35)
|
||||||
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
|
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
|
||||||
libgfortranbegin_la_LIBADD =
|
libgfortranbegin_la_LIBADD =
|
||||||
am_libgfortranbegin_la_OBJECTS = fmain.lo
|
am_libgfortranbegin_la_OBJECTS = fmain.lo
|
||||||
@ -767,7 +772,8 @@ m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
|
|||||||
m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
|
m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
|
||||||
m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
|
m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
|
||||||
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
||||||
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4
|
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
|
||||||
|
m4/misc_specifics.m4
|
||||||
|
|
||||||
gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
||||||
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
||||||
@ -793,6 +799,10 @@ generated/_abs_r4.F90 \
|
|||||||
generated/_abs_r8.F90 \
|
generated/_abs_r8.F90 \
|
||||||
generated/_abs_r10.F90 \
|
generated/_abs_r10.F90 \
|
||||||
generated/_abs_r16.F90 \
|
generated/_abs_r16.F90 \
|
||||||
|
generated/_aimag_c4.F90 \
|
||||||
|
generated/_aimag_c8.F90 \
|
||||||
|
generated/_aimag_c10.F90 \
|
||||||
|
generated/_aimag_c16.F90 \
|
||||||
generated/_exp_r4.F90 \
|
generated/_exp_r4.F90 \
|
||||||
generated/_exp_r8.F90 \
|
generated/_exp_r8.F90 \
|
||||||
generated/_exp_r10.F90 \
|
generated/_exp_r10.F90 \
|
||||||
@ -825,14 +835,26 @@ generated/_asin_r4.F90 \
|
|||||||
generated/_asin_r8.F90 \
|
generated/_asin_r8.F90 \
|
||||||
generated/_asin_r10.F90 \
|
generated/_asin_r10.F90 \
|
||||||
generated/_asin_r16.F90 \
|
generated/_asin_r16.F90 \
|
||||||
|
generated/_asinh_r4.F90 \
|
||||||
|
generated/_asinh_r8.F90 \
|
||||||
|
generated/_asinh_r10.F90 \
|
||||||
|
generated/_asinh_r16.F90 \
|
||||||
generated/_acos_r4.F90 \
|
generated/_acos_r4.F90 \
|
||||||
generated/_acos_r8.F90 \
|
generated/_acos_r8.F90 \
|
||||||
generated/_acos_r10.F90 \
|
generated/_acos_r10.F90 \
|
||||||
generated/_acos_r16.F90 \
|
generated/_acos_r16.F90 \
|
||||||
|
generated/_acosh_r4.F90 \
|
||||||
|
generated/_acosh_r8.F90 \
|
||||||
|
generated/_acosh_r10.F90 \
|
||||||
|
generated/_acosh_r16.F90 \
|
||||||
generated/_atan_r4.F90 \
|
generated/_atan_r4.F90 \
|
||||||
generated/_atan_r8.F90 \
|
generated/_atan_r8.F90 \
|
||||||
generated/_atan_r10.F90 \
|
generated/_atan_r10.F90 \
|
||||||
generated/_atan_r16.F90 \
|
generated/_atan_r16.F90 \
|
||||||
|
generated/_atanh_r4.F90 \
|
||||||
|
generated/_atanh_r8.F90 \
|
||||||
|
generated/_atanh_r10.F90 \
|
||||||
|
generated/_atanh_r16.F90 \
|
||||||
generated/_sin_r4.F90 \
|
generated/_sin_r4.F90 \
|
||||||
generated/_sin_r8.F90 \
|
generated/_sin_r8.F90 \
|
||||||
generated/_sin_r10.F90 \
|
generated/_sin_r10.F90 \
|
||||||
@ -905,14 +927,16 @@ generated/_mod_r8.F90 \
|
|||||||
generated/_mod_r10.F90 \
|
generated/_mod_r10.F90 \
|
||||||
generated/_mod_r16.F90
|
generated/_mod_r16.F90
|
||||||
|
|
||||||
|
gfor_misc_specifics = generated/misc_specifics.F90
|
||||||
gfor_specific_src = \
|
gfor_specific_src = \
|
||||||
$(gfor_built_specific_src) \
|
$(gfor_built_specific_src) \
|
||||||
$(gfor_built_specific2_src) \
|
$(gfor_built_specific2_src) \
|
||||||
|
$(gfor_misc_specifics) \
|
||||||
intrinsics/dprod_r8.f90 \
|
intrinsics/dprod_r8.f90 \
|
||||||
intrinsics/f2c_specifics.F90
|
intrinsics/f2c_specifics.F90
|
||||||
|
|
||||||
BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
|
BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
|
||||||
$(gfor_built_specific2_src)
|
$(gfor_built_specific2_src) $(gfor_misc_specifics)
|
||||||
|
|
||||||
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
|
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
|
||||||
$(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
|
$(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
|
||||||
@ -1083,6 +1107,18 @@ _abs_r10.lo: generated/_abs_r10.F90
|
|||||||
_abs_r16.lo: generated/_abs_r16.F90
|
_abs_r16.lo: generated/_abs_r16.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _abs_r16.lo `test -f 'generated/_abs_r16.F90' || echo '$(srcdir)/'`generated/_abs_r16.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _abs_r16.lo `test -f 'generated/_abs_r16.F90' || echo '$(srcdir)/'`generated/_abs_r16.F90
|
||||||
|
|
||||||
|
_aimag_c4.lo: generated/_aimag_c4.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _aimag_c4.lo `test -f 'generated/_aimag_c4.F90' || echo '$(srcdir)/'`generated/_aimag_c4.F90
|
||||||
|
|
||||||
|
_aimag_c8.lo: generated/_aimag_c8.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _aimag_c8.lo `test -f 'generated/_aimag_c8.F90' || echo '$(srcdir)/'`generated/_aimag_c8.F90
|
||||||
|
|
||||||
|
_aimag_c10.lo: generated/_aimag_c10.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _aimag_c10.lo `test -f 'generated/_aimag_c10.F90' || echo '$(srcdir)/'`generated/_aimag_c10.F90
|
||||||
|
|
||||||
|
_aimag_c16.lo: generated/_aimag_c16.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _aimag_c16.lo `test -f 'generated/_aimag_c16.F90' || echo '$(srcdir)/'`generated/_aimag_c16.F90
|
||||||
|
|
||||||
_exp_r4.lo: generated/_exp_r4.F90
|
_exp_r4.lo: generated/_exp_r4.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _exp_r4.lo `test -f 'generated/_exp_r4.F90' || echo '$(srcdir)/'`generated/_exp_r4.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _exp_r4.lo `test -f 'generated/_exp_r4.F90' || echo '$(srcdir)/'`generated/_exp_r4.F90
|
||||||
|
|
||||||
@ -1179,6 +1215,18 @@ _asin_r10.lo: generated/_asin_r10.F90
|
|||||||
_asin_r16.lo: generated/_asin_r16.F90
|
_asin_r16.lo: generated/_asin_r16.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asin_r16.lo `test -f 'generated/_asin_r16.F90' || echo '$(srcdir)/'`generated/_asin_r16.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asin_r16.lo `test -f 'generated/_asin_r16.F90' || echo '$(srcdir)/'`generated/_asin_r16.F90
|
||||||
|
|
||||||
|
_asinh_r4.lo: generated/_asinh_r4.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asinh_r4.lo `test -f 'generated/_asinh_r4.F90' || echo '$(srcdir)/'`generated/_asinh_r4.F90
|
||||||
|
|
||||||
|
_asinh_r8.lo: generated/_asinh_r8.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asinh_r8.lo `test -f 'generated/_asinh_r8.F90' || echo '$(srcdir)/'`generated/_asinh_r8.F90
|
||||||
|
|
||||||
|
_asinh_r10.lo: generated/_asinh_r10.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asinh_r10.lo `test -f 'generated/_asinh_r10.F90' || echo '$(srcdir)/'`generated/_asinh_r10.F90
|
||||||
|
|
||||||
|
_asinh_r16.lo: generated/_asinh_r16.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _asinh_r16.lo `test -f 'generated/_asinh_r16.F90' || echo '$(srcdir)/'`generated/_asinh_r16.F90
|
||||||
|
|
||||||
_acos_r4.lo: generated/_acos_r4.F90
|
_acos_r4.lo: generated/_acos_r4.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acos_r4.lo `test -f 'generated/_acos_r4.F90' || echo '$(srcdir)/'`generated/_acos_r4.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acos_r4.lo `test -f 'generated/_acos_r4.F90' || echo '$(srcdir)/'`generated/_acos_r4.F90
|
||||||
|
|
||||||
@ -1191,6 +1239,18 @@ _acos_r10.lo: generated/_acos_r10.F90
|
|||||||
_acos_r16.lo: generated/_acos_r16.F90
|
_acos_r16.lo: generated/_acos_r16.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acos_r16.lo `test -f 'generated/_acos_r16.F90' || echo '$(srcdir)/'`generated/_acos_r16.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acos_r16.lo `test -f 'generated/_acos_r16.F90' || echo '$(srcdir)/'`generated/_acos_r16.F90
|
||||||
|
|
||||||
|
_acosh_r4.lo: generated/_acosh_r4.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acosh_r4.lo `test -f 'generated/_acosh_r4.F90' || echo '$(srcdir)/'`generated/_acosh_r4.F90
|
||||||
|
|
||||||
|
_acosh_r8.lo: generated/_acosh_r8.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acosh_r8.lo `test -f 'generated/_acosh_r8.F90' || echo '$(srcdir)/'`generated/_acosh_r8.F90
|
||||||
|
|
||||||
|
_acosh_r10.lo: generated/_acosh_r10.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acosh_r10.lo `test -f 'generated/_acosh_r10.F90' || echo '$(srcdir)/'`generated/_acosh_r10.F90
|
||||||
|
|
||||||
|
_acosh_r16.lo: generated/_acosh_r16.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _acosh_r16.lo `test -f 'generated/_acosh_r16.F90' || echo '$(srcdir)/'`generated/_acosh_r16.F90
|
||||||
|
|
||||||
_atan_r4.lo: generated/_atan_r4.F90
|
_atan_r4.lo: generated/_atan_r4.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atan_r4.lo `test -f 'generated/_atan_r4.F90' || echo '$(srcdir)/'`generated/_atan_r4.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atan_r4.lo `test -f 'generated/_atan_r4.F90' || echo '$(srcdir)/'`generated/_atan_r4.F90
|
||||||
|
|
||||||
@ -1203,6 +1263,18 @@ _atan_r10.lo: generated/_atan_r10.F90
|
|||||||
_atan_r16.lo: generated/_atan_r16.F90
|
_atan_r16.lo: generated/_atan_r16.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atan_r16.lo `test -f 'generated/_atan_r16.F90' || echo '$(srcdir)/'`generated/_atan_r16.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atan_r16.lo `test -f 'generated/_atan_r16.F90' || echo '$(srcdir)/'`generated/_atan_r16.F90
|
||||||
|
|
||||||
|
_atanh_r4.lo: generated/_atanh_r4.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atanh_r4.lo `test -f 'generated/_atanh_r4.F90' || echo '$(srcdir)/'`generated/_atanh_r4.F90
|
||||||
|
|
||||||
|
_atanh_r8.lo: generated/_atanh_r8.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atanh_r8.lo `test -f 'generated/_atanh_r8.F90' || echo '$(srcdir)/'`generated/_atanh_r8.F90
|
||||||
|
|
||||||
|
_atanh_r10.lo: generated/_atanh_r10.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atanh_r10.lo `test -f 'generated/_atanh_r10.F90' || echo '$(srcdir)/'`generated/_atanh_r10.F90
|
||||||
|
|
||||||
|
_atanh_r16.lo: generated/_atanh_r16.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _atanh_r16.lo `test -f 'generated/_atanh_r16.F90' || echo '$(srcdir)/'`generated/_atanh_r16.F90
|
||||||
|
|
||||||
_sin_r4.lo: generated/_sin_r4.F90
|
_sin_r4.lo: generated/_sin_r4.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _sin_r4.lo `test -f 'generated/_sin_r4.F90' || echo '$(srcdir)/'`generated/_sin_r4.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _sin_r4.lo `test -f 'generated/_sin_r4.F90' || echo '$(srcdir)/'`generated/_sin_r4.F90
|
||||||
|
|
||||||
@ -1410,6 +1482,9 @@ _mod_r10.lo: generated/_mod_r10.F90
|
|||||||
_mod_r16.lo: generated/_mod_r16.F90
|
_mod_r16.lo: generated/_mod_r16.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _mod_r16.lo `test -f 'generated/_mod_r16.F90' || echo '$(srcdir)/'`generated/_mod_r16.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _mod_r16.lo `test -f 'generated/_mod_r16.F90' || echo '$(srcdir)/'`generated/_mod_r16.F90
|
||||||
|
|
||||||
|
misc_specifics.lo: generated/misc_specifics.F90
|
||||||
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o misc_specifics.lo `test -f 'generated/misc_specifics.F90' || echo '$(srcdir)/'`generated/misc_specifics.F90
|
||||||
|
|
||||||
f2c_specifics.lo: intrinsics/f2c_specifics.F90
|
f2c_specifics.lo: intrinsics/f2c_specifics.F90
|
||||||
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o f2c_specifics.lo `test -f 'intrinsics/f2c_specifics.F90' || echo '$(srcdir)/'`intrinsics/f2c_specifics.F90
|
$(LIBTOOL) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o f2c_specifics.lo `test -f 'intrinsics/f2c_specifics.F90' || echo '$(srcdir)/'`intrinsics/f2c_specifics.F90
|
||||||
|
|
||||||
@ -2844,6 +2919,9 @@ fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
|
|||||||
|
|
||||||
@MAINTAINER_MODE_TRUE@$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
|
@MAINTAINER_MODE_TRUE@$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
|
||||||
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $(srcdir)/$@
|
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $(srcdir)/$@
|
||||||
|
|
||||||
|
@MAINTAINER_MODE_TRUE@$(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
|
||||||
|
@MAINTAINER_MODE_TRUE@ m4 -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $(srcdir)/$@
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
51
libgfortran/generated/_acosh_r10.F90
Normal file
51
libgfortran/generated/_acosh_r10.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10)
|
||||||
|
#ifdef HAVE_ACOSHL
|
||||||
|
|
||||||
|
elemental function specific__acosh_r10 (parm)
|
||||||
|
real (kind=10), intent (in) :: parm
|
||||||
|
real (kind=10) :: specific__acosh_r10
|
||||||
|
|
||||||
|
specific__acosh_r10 = acosh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_acosh_r16.F90
Normal file
51
libgfortran/generated/_acosh_r16.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16)
|
||||||
|
#ifdef HAVE_ACOSHL
|
||||||
|
|
||||||
|
elemental function specific__acosh_r16 (parm)
|
||||||
|
real (kind=16), intent (in) :: parm
|
||||||
|
real (kind=16) :: specific__acosh_r16
|
||||||
|
|
||||||
|
specific__acosh_r16 = acosh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_acosh_r4.F90
Normal file
51
libgfortran/generated/_acosh_r4.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4)
|
||||||
|
#ifdef HAVE_ACOSHF
|
||||||
|
|
||||||
|
elemental function specific__acosh_r4 (parm)
|
||||||
|
real (kind=4), intent (in) :: parm
|
||||||
|
real (kind=4) :: specific__acosh_r4
|
||||||
|
|
||||||
|
specific__acosh_r4 = acosh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_acosh_r8.F90
Normal file
51
libgfortran/generated/_acosh_r8.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8)
|
||||||
|
#ifdef HAVE_ACOSH
|
||||||
|
|
||||||
|
elemental function specific__acosh_r8 (parm)
|
||||||
|
real (kind=8), intent (in) :: parm
|
||||||
|
real (kind=8) :: specific__acosh_r8
|
||||||
|
|
||||||
|
specific__acosh_r8 = acosh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_aimag_c10.F90
Normal file
51
libgfortran/generated/_aimag_c10.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_COMPLEX_10)
|
||||||
|
|
||||||
|
|
||||||
|
elemental function specific__aimag_c10 (parm)
|
||||||
|
complex (kind=10), intent (in) :: parm
|
||||||
|
real (kind=10) :: specific__aimag_c10
|
||||||
|
|
||||||
|
specific__aimag_c10 = aimag (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
51
libgfortran/generated/_aimag_c16.F90
Normal file
51
libgfortran/generated/_aimag_c16.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_COMPLEX_16)
|
||||||
|
|
||||||
|
|
||||||
|
elemental function specific__aimag_c16 (parm)
|
||||||
|
complex (kind=16), intent (in) :: parm
|
||||||
|
real (kind=16) :: specific__aimag_c16
|
||||||
|
|
||||||
|
specific__aimag_c16 = aimag (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
51
libgfortran/generated/_aimag_c4.F90
Normal file
51
libgfortran/generated/_aimag_c4.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_COMPLEX_4)
|
||||||
|
|
||||||
|
|
||||||
|
elemental function specific__aimag_c4 (parm)
|
||||||
|
complex (kind=4), intent (in) :: parm
|
||||||
|
real (kind=4) :: specific__aimag_c4
|
||||||
|
|
||||||
|
specific__aimag_c4 = aimag (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
51
libgfortran/generated/_aimag_c8.F90
Normal file
51
libgfortran/generated/_aimag_c8.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_COMPLEX_8)
|
||||||
|
|
||||||
|
|
||||||
|
elemental function specific__aimag_c8 (parm)
|
||||||
|
complex (kind=8), intent (in) :: parm
|
||||||
|
real (kind=8) :: specific__aimag_c8
|
||||||
|
|
||||||
|
specific__aimag_c8 = aimag (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
51
libgfortran/generated/_asinh_r10.F90
Normal file
51
libgfortran/generated/_asinh_r10.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10)
|
||||||
|
#ifdef HAVE_ASINHL
|
||||||
|
|
||||||
|
elemental function specific__asinh_r10 (parm)
|
||||||
|
real (kind=10), intent (in) :: parm
|
||||||
|
real (kind=10) :: specific__asinh_r10
|
||||||
|
|
||||||
|
specific__asinh_r10 = asinh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_asinh_r16.F90
Normal file
51
libgfortran/generated/_asinh_r16.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16)
|
||||||
|
#ifdef HAVE_ASINHL
|
||||||
|
|
||||||
|
elemental function specific__asinh_r16 (parm)
|
||||||
|
real (kind=16), intent (in) :: parm
|
||||||
|
real (kind=16) :: specific__asinh_r16
|
||||||
|
|
||||||
|
specific__asinh_r16 = asinh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_asinh_r4.F90
Normal file
51
libgfortran/generated/_asinh_r4.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4)
|
||||||
|
#ifdef HAVE_ASINHF
|
||||||
|
|
||||||
|
elemental function specific__asinh_r4 (parm)
|
||||||
|
real (kind=4), intent (in) :: parm
|
||||||
|
real (kind=4) :: specific__asinh_r4
|
||||||
|
|
||||||
|
specific__asinh_r4 = asinh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_asinh_r8.F90
Normal file
51
libgfortran/generated/_asinh_r8.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8)
|
||||||
|
#ifdef HAVE_ASINH
|
||||||
|
|
||||||
|
elemental function specific__asinh_r8 (parm)
|
||||||
|
real (kind=8), intent (in) :: parm
|
||||||
|
real (kind=8) :: specific__asinh_r8
|
||||||
|
|
||||||
|
specific__asinh_r8 = asinh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_atanh_r10.F90
Normal file
51
libgfortran/generated/_atanh_r10.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10)
|
||||||
|
#ifdef HAVE_ATANHL
|
||||||
|
|
||||||
|
elemental function specific__atanh_r10 (parm)
|
||||||
|
real (kind=10), intent (in) :: parm
|
||||||
|
real (kind=10) :: specific__atanh_r10
|
||||||
|
|
||||||
|
specific__atanh_r10 = atanh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_atanh_r16.F90
Normal file
51
libgfortran/generated/_atanh_r16.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16)
|
||||||
|
#ifdef HAVE_ATANHL
|
||||||
|
|
||||||
|
elemental function specific__atanh_r16 (parm)
|
||||||
|
real (kind=16), intent (in) :: parm
|
||||||
|
real (kind=16) :: specific__atanh_r16
|
||||||
|
|
||||||
|
specific__atanh_r16 = atanh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_atanh_r4.F90
Normal file
51
libgfortran/generated/_atanh_r4.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4)
|
||||||
|
#ifdef HAVE_ATANHF
|
||||||
|
|
||||||
|
elemental function specific__atanh_r4 (parm)
|
||||||
|
real (kind=4), intent (in) :: parm
|
||||||
|
real (kind=4) :: specific__atanh_r4
|
||||||
|
|
||||||
|
specific__atanh_r4 = atanh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
51
libgfortran/generated/_atanh_r8.F90
Normal file
51
libgfortran/generated/_atanh_r8.F90
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
#include "c99_protos.inc"
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8)
|
||||||
|
#ifdef HAVE_ATANH
|
||||||
|
|
||||||
|
elemental function specific__atanh_r8 (parm)
|
||||||
|
real (kind=8), intent (in) :: parm
|
||||||
|
real (kind=8) :: specific__atanh_r8
|
||||||
|
|
||||||
|
specific__atanh_r8 = atanh (parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
211
libgfortran/generated/misc_specifics.F90
Normal file
211
libgfortran/generated/misc_specifics.F90
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
! Copyright 2002 Free Software Foundation, Inc.
|
||||||
|
! Contributed by Paul Brook <paul@nowt.org>
|
||||||
|
!
|
||||||
|
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
!
|
||||||
|
!GNU libgfortran is free software; you can redistribute it and/or
|
||||||
|
!modify it under the terms of the GNU General Public
|
||||||
|
!License as published by the Free Software Foundation; either
|
||||||
|
!version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
!In addition to the permissions in the GNU General Public License, the
|
||||||
|
!Free Software Foundation gives you unlimited permission to link the
|
||||||
|
!compiled version of this file into combinations with other programs,
|
||||||
|
!and to distribute those combinations without any restriction coming
|
||||||
|
!from the use of this file. (The General Public License restrictions
|
||||||
|
!do apply in other respects; for example, they cover modification of
|
||||||
|
!the file, and distribution when not linked into a combine
|
||||||
|
!executable.)
|
||||||
|
!
|
||||||
|
!GNU libgfortran is distributed in the hope that it will be useful,
|
||||||
|
!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
!GNU General Public License for more details.
|
||||||
|
!
|
||||||
|
!You should have received a copy of the GNU General Public
|
||||||
|
!License along with libgfortran; see the file COPYING. If not,
|
||||||
|
!write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
!Boston, MA 02110-1301, USA.
|
||||||
|
!
|
||||||
|
!This file is machine generated.
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__nint_4_4 (parm)
|
||||||
|
real (kind=4) , intent (in) :: parm
|
||||||
|
integer (kind=4) :: specific__nint_4_4
|
||||||
|
specific__nint_4_4 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__nint_4_8 (parm)
|
||||||
|
real (kind=8) , intent (in) :: parm
|
||||||
|
integer (kind=4) :: specific__nint_4_8
|
||||||
|
specific__nint_4_8 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__nint_4_10 (parm)
|
||||||
|
real (kind=10) , intent (in) :: parm
|
||||||
|
integer (kind=4) :: specific__nint_4_10
|
||||||
|
specific__nint_4_10 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__nint_4_16 (parm)
|
||||||
|
real (kind=16) , intent (in) :: parm
|
||||||
|
integer (kind=4) :: specific__nint_4_16
|
||||||
|
specific__nint_4_16 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__nint_8_4 (parm)
|
||||||
|
real (kind=4) , intent (in) :: parm
|
||||||
|
integer (kind=8) :: specific__nint_8_4
|
||||||
|
specific__nint_8_4 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__nint_8_8 (parm)
|
||||||
|
real (kind=8) , intent (in) :: parm
|
||||||
|
integer (kind=8) :: specific__nint_8_8
|
||||||
|
specific__nint_8_8 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__nint_8_10 (parm)
|
||||||
|
real (kind=10) , intent (in) :: parm
|
||||||
|
integer (kind=8) :: specific__nint_8_10
|
||||||
|
specific__nint_8_10 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__nint_8_16 (parm)
|
||||||
|
real (kind=16) , intent (in) :: parm
|
||||||
|
integer (kind=8) :: specific__nint_8_16
|
||||||
|
specific__nint_8_16 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__nint_16_4 (parm)
|
||||||
|
real (kind=4) , intent (in) :: parm
|
||||||
|
integer (kind=16) :: specific__nint_16_4
|
||||||
|
specific__nint_16_4 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__nint_16_8 (parm)
|
||||||
|
real (kind=8) , intent (in) :: parm
|
||||||
|
integer (kind=16) :: specific__nint_16_8
|
||||||
|
specific__nint_16_8 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__nint_16_10 (parm)
|
||||||
|
real (kind=10) , intent (in) :: parm
|
||||||
|
integer (kind=16) :: specific__nint_16_10
|
||||||
|
specific__nint_16_10 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__nint_16_16 (parm)
|
||||||
|
real (kind=16) , intent (in) :: parm
|
||||||
|
integer (kind=16) :: specific__nint_16_16
|
||||||
|
specific__nint_16_16 = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__char_1_i4 (parm)
|
||||||
|
integer (kind=4) , intent (in) :: parm
|
||||||
|
character (kind=1,len=1) :: specific__char_1_i4
|
||||||
|
specific__char_1_i4 = char (parm, kind=1)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__char_1_i8 (parm)
|
||||||
|
integer (kind=8) , intent (in) :: parm
|
||||||
|
character (kind=1,len=1) :: specific__char_1_i8
|
||||||
|
specific__char_1_i8 = char (parm, kind=1)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__char_1_i16 (parm)
|
||||||
|
integer (kind=16) , intent (in) :: parm
|
||||||
|
character (kind=1,len=1) :: specific__char_1_i16
|
||||||
|
specific__char_1_i16 = char (parm, kind=1)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__len_1_i4 (parm)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm
|
||||||
|
integer (kind=4) :: specific__len_1_i4
|
||||||
|
specific__len_1_i4 = len (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__len_1_i8 (parm)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm
|
||||||
|
integer (kind=8) :: specific__len_1_i8
|
||||||
|
specific__len_1_i8 = len (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__len_1_i16 (parm)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm
|
||||||
|
integer (kind=16) :: specific__len_1_i16
|
||||||
|
specific__len_1_i16 = len (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_4)
|
||||||
|
elemental function specific__index_1_i4 (parm1, parm2)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm1, parm2
|
||||||
|
integer (kind=4) :: specific__index_1_i4
|
||||||
|
specific__index_1_i4 = index (parm1, parm2)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_8)
|
||||||
|
elemental function specific__index_1_i8 (parm1, parm2)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm1, parm2
|
||||||
|
integer (kind=8) :: specific__index_1_i8
|
||||||
|
specific__index_1_i8 = index (parm1, parm2)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (HAVE_GFC_INTEGER_16)
|
||||||
|
elemental function specific__index_1_i16 (parm1, parm2)
|
||||||
|
character (kind=1,len=*) , intent (in) :: parm1, parm2
|
||||||
|
integer (kind=16) :: specific__index_1_i16
|
||||||
|
specific__index_1_i16 = index (parm1, parm2)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
|
@ -69,6 +69,7 @@ end subroutine
|
|||||||
|
|
||||||
REAL_HEAD(abs)
|
REAL_HEAD(abs)
|
||||||
REAL_BODY(abs)
|
REAL_BODY(abs)
|
||||||
|
|
||||||
! abs is special in that the result is real
|
! abs is special in that the result is real
|
||||||
elemental function f2c_specific__abs_c4 (parm) result (res)
|
elemental function f2c_specific__abs_c4 (parm) result (res)
|
||||||
COMPLEX, intent(in) :: parm
|
COMPLEX, intent(in) :: parm
|
||||||
@ -76,6 +77,21 @@ elemental function f2c_specific__abs_c4 (parm) result (res)
|
|||||||
res = abs(parm)
|
res = abs(parm)
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
! aimag is special in that the result is real
|
||||||
|
elemental function f2c_specific__aimag_c4 (parm)
|
||||||
|
complex(kind=4), intent(in) :: parm
|
||||||
|
double precision :: f2c_specific__aimag_c4
|
||||||
|
f2c_specific__aimag_c4 = aimag(parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
elemental function f2c_specific__aimag_c8 (parm)
|
||||||
|
complex(kind=8), intent(in) :: parm
|
||||||
|
double precision :: f2c_specific__aimag_c8
|
||||||
|
f2c_specific__aimag_c8 = aimag(parm)
|
||||||
|
end function
|
||||||
|
|
||||||
|
|
||||||
REAL_HEAD(exp)
|
REAL_HEAD(exp)
|
||||||
REAL_BODY(exp)
|
REAL_BODY(exp)
|
||||||
COMPLEX_HEAD(exp)
|
COMPLEX_HEAD(exp)
|
||||||
@ -109,6 +125,15 @@ REAL_BODY(acos)
|
|||||||
REAL_HEAD(atan)
|
REAL_HEAD(atan)
|
||||||
REAL_BODY(atan)
|
REAL_BODY(atan)
|
||||||
|
|
||||||
|
REAL_HEAD(asinh)
|
||||||
|
REAL_BODY(asinh)
|
||||||
|
|
||||||
|
REAL_HEAD(acosh)
|
||||||
|
REAL_BODY(acosh)
|
||||||
|
|
||||||
|
REAL_HEAD(atanh)
|
||||||
|
REAL_BODY(atanh)
|
||||||
|
|
||||||
REAL_HEAD(sin)
|
REAL_HEAD(sin)
|
||||||
REAL_BODY(sin)
|
REAL_BODY(sin)
|
||||||
COMPLEX_HEAD(sin)
|
COMPLEX_HEAD(sin)
|
||||||
|
64
libgfortran/m4/misc_specifics.m4
Normal file
64
libgfortran/m4/misc_specifics.m4
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
include(head.m4)dnl
|
||||||
|
dnl
|
||||||
|
dnl This file contains the specific functions that are not handled in the
|
||||||
|
dnl m4/specific.m4 file.
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "kinds.inc"
|
||||||
|
|
||||||
|
dnl This is from GNU m4 examples file foreach.m4:
|
||||||
|
divert(-1)
|
||||||
|
# foreach(x, (item_1, item_2, ..., item_n), stmt)
|
||||||
|
define(`foreach', `pushdef(`$1', `')_foreach(`$1', `$2',
|
||||||
|
`$3')popdef(`$1')')
|
||||||
|
define(`_arg1', `$1')
|
||||||
|
define(`_foreach',
|
||||||
|
`ifelse(`$2', `()', ,
|
||||||
|
`define(`$1', _arg1$2)$3`'_foreach(`$1', (shift$2),
|
||||||
|
`$3')')')
|
||||||
|
# traceon(`define', `foreach', `_foreach', `ifelse')
|
||||||
|
divert
|
||||||
|
|
||||||
|
dnl NINT specifics
|
||||||
|
foreach(`ikind', `(4, 8, 16)', `foreach(`rkind', `(4, 8, 10, 16)', `
|
||||||
|
`#if defined (HAVE_GFC_REAL_'rkind`) && defined (HAVE_GFC_INTEGER_'ikind`)'
|
||||||
|
elemental function specific__nint_`'ikind`_'rkind (parm)
|
||||||
|
real (kind=rkind) , intent (in) :: parm
|
||||||
|
integer (kind=ikind) :: specific__nint_`'ikind`_'rkind
|
||||||
|
specific__nint_`'ikind`_'rkind = nint (parm)
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
')')
|
||||||
|
|
||||||
|
dnl CHAR specifics
|
||||||
|
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
|
||||||
|
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
|
||||||
|
elemental function specific__char_`'ckind`_i'ikind (parm)
|
||||||
|
integer (kind=ikind) , intent (in) :: parm
|
||||||
|
character (kind=ckind,len=1) :: specific__char_`'ckind`_i'ikind
|
||||||
|
specific__char_`'ckind`_i'ikind` = char (parm, kind='ckind`)'
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
')')
|
||||||
|
|
||||||
|
dnl LEN specifics
|
||||||
|
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
|
||||||
|
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
|
||||||
|
elemental function specific__len_`'ckind`_i'ikind (parm)
|
||||||
|
character (kind=ckind,len=*) , intent (in) :: parm
|
||||||
|
integer (kind=ikind) :: specific__len_`'ckind`_i'ikind
|
||||||
|
specific__len_`'ckind`_i'ikind` = len (parm)'
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
')')
|
||||||
|
|
||||||
|
dnl INDEX specifics
|
||||||
|
foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', `
|
||||||
|
`#if defined (HAVE_GFC_INTEGER_'ikind`)'
|
||||||
|
elemental function specific__index_`'ckind`_i'ikind (parm1, parm2)
|
||||||
|
character (kind=ckind,len=*) , intent (in) :: parm1, parm2
|
||||||
|
integer (kind=ikind) :: specific__index_`'ckind`_i'ikind
|
||||||
|
specific__index_`'ckind`_i'ikind` = index (parm1, parm2)'
|
||||||
|
end function
|
||||||
|
#endif
|
||||||
|
')')
|
@ -6,7 +6,7 @@ define(get_typename2, `$1 (kind=$2)')dnl
|
|||||||
define(get_typename, `get_typename2(ifelse($1,i,integer,ifelse($1,r,real,ifelse($1,l,logical,ifelse($1,c,complex,unknown)))),`$2')')dnl
|
define(get_typename, `get_typename2(ifelse($1,i,integer,ifelse($1,r,real,ifelse($1,l,logical,ifelse($1,c,complex,unknown)))),`$2')')dnl
|
||||||
define(atype_name, get_typename(atype_letter,atype_kind))dnl
|
define(atype_name, get_typename(atype_letter,atype_kind))dnl
|
||||||
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
|
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
|
||||||
define(rtype_name,get_typename(ifelse(name,abs,ifelse(atype_letter,c,r,atype_letter),atype_letter),atype_kind))dnl
|
define(rtype_name,get_typename(ifelse(name,abs,ifelse(atype_letter,c,r,atype_letter),ifelse(name,aimag,ifelse(atype_letter,c,r,atype_letter),atype_letter)),atype_kind))dnl
|
||||||
define(function_name,ifelse(name,conjg,`specific__conjg_'atype_kind,`specific__'name`_'atype_code))dnl
|
define(function_name,ifelse(name,conjg,`specific__conjg_'atype_kind,`specific__'name`_'atype_code))dnl
|
||||||
|
|
||||||
define(type,ifelse(atype_letter,l,LOGICAL,ifelse(atype_letter,i,INTEGER,ifelse(atype_letter,r,REAL,ifelse(atype_letter,c,COMPLEX,UNKNOW)))))dnl
|
define(type,ifelse(atype_letter,l,LOGICAL,ifelse(atype_letter,i,INTEGER,ifelse(atype_letter,r,REAL,ifelse(atype_letter,c,COMPLEX,UNKNOW)))))dnl
|
||||||
@ -17,8 +17,8 @@ dnl nothing. The list is currently:
|
|||||||
dnl - integer and logical specifics require no libm function
|
dnl - integer and logical specifics require no libm function
|
||||||
dnl - AINT requires the trunc() family functions
|
dnl - AINT requires the trunc() family functions
|
||||||
dnl - ANINT requires round()
|
dnl - ANINT requires round()
|
||||||
dnl - CONJG, DIM, SIGN require no libm function
|
dnl - AIMAG, CONJG, DIM, SIGN require no libm function
|
||||||
define(needed,ifelse(atype_letter,i,`none',ifelse(atype_letter,l,`none',ifelse(name,aint,trunc,ifelse(name,anint,round,ifelse(name,conjg,none,ifelse(name,dim,none,ifelse(name,sign,none,ifelse(name,abs,fabs,name)))))))))dnl
|
define(needed,ifelse(atype_letter,i,`none',ifelse(atype_letter,l,`none',ifelse(name,aint,trunc,ifelse(name,anint,round,ifelse(name,aimag,none,ifelse(name,conjg,none,ifelse(name,dim,none,ifelse(name,sign,none,ifelse(name,abs,fabs,name))))))))))dnl
|
||||||
define(prefix,ifelse(atype_letter,c,C,`'))dnl
|
define(prefix,ifelse(atype_letter,c,C,`'))dnl
|
||||||
|
|
||||||
dnl Special case for fabs, for which the corresponding complex function
|
dnl Special case for fabs, for which the corresponding complex function
|
||||||
|
Loading…
Reference in New Issue
Block a user