summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/f/intdoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/f/intdoc.c')
-rw-r--r--contrib/gcc/f/intdoc.c101
1 files changed, 56 insertions, 45 deletions
diff --git a/contrib/gcc/f/intdoc.c b/contrib/gcc/f/intdoc.c
index 0ac39ff..7e0a630 100644
--- a/contrib/gcc/f/intdoc.c
+++ b/contrib/gcc/f/intdoc.c
@@ -1,6 +1,6 @@
/* intdoc.c
Copyright (C) 1997 Free Software Foundation, Inc.
- Contributed by James Craig Burley (burley@gnu.org).
+ Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -46,30 +46,30 @@ typedef enum
#define FFEINTRIN_DOC 1
#include "intrin.h"
-char *family_name (ffeintrinFamily family);
+const char *family_name (ffeintrinFamily family);
static void dumpif (ffeintrinFamily fam);
static void dumpendif (void);
static void dumpclearif (void);
static void dumpem (void);
-static void dumpgen (int menu, char *name, char *name_uc,
+static void dumpgen (int menu, const char *name, const char *name_uc,
ffeintrinGen gen);
-static void dumpspec (int menu, char *name, char *name_uc,
+static void dumpspec (int menu, const char *name, const char *name_uc,
ffeintrinSpec spec);
-static void dumpimp (int menu, char *name, char *name_uc, size_t genno, ffeintrinFamily family,
+static void dumpimp (int menu, const char *name, const char *name_uc, size_t genno, ffeintrinFamily family,
ffeintrinImp imp, ffeintrinSpec spec);
-static char *argument_info_ptr (ffeintrinImp imp, int argno);
-static char *argument_info_string (ffeintrinImp imp, int argno);
-static char *argument_name_ptr (ffeintrinImp imp, int argno);
-static char *argument_name_string (ffeintrinImp imp, int argno);
+static const char *argument_info_ptr (ffeintrinImp imp, int argno);
+static const char *argument_info_string (ffeintrinImp imp, int argno);
+static const char *argument_name_ptr (ffeintrinImp imp, int argno);
+static const char *argument_name_string (ffeintrinImp imp, int argno);
#if 0
-static char *elaborate_if_complex (ffeintrinImp imp, int argno);
-static char *elaborate_if_maybe_complex (ffeintrinImp imp, int argno);
-static char *elaborate_if_real (ffeintrinImp imp, int argno);
+static const char *elaborate_if_complex (ffeintrinImp imp, int argno);
+static const char *elaborate_if_maybe_complex (ffeintrinImp imp, int argno);
+static const char *elaborate_if_real (ffeintrinImp imp, int argno);
#endif
-static void print_type_string (char *c);
+static void print_type_string (const char *c);
int
-main (int argc, char **argv)
+main (int argc, char **argv ATTRIBUTE_UNUSED)
{
if (argc != 1)
{
@@ -86,22 +86,22 @@ Usage: intdoc > intdoc.texi\n\
struct _ffeintrin_name_
{
- char *name_uc;
- char *name_lc;
- char *name_ic;
+ const char *name_uc;
+ const char *name_lc;
+ const char *name_ic;
ffeintrinGen generic;
ffeintrinSpec specific;
};
struct _ffeintrin_gen_
{
- char *name; /* Name as seen in program. */
+ const char *name; /* Name as seen in program. */
ffeintrinSpec specs[2];
};
struct _ffeintrin_spec_
{
- char *name; /* Uppercase name as seen in source code,
+ const char *name; /* Uppercase name as seen in source code,
lowercase if no source name, "none" if no
name at all (NONE case). */
bool is_actualarg; /* Ok to pass as actual arg if -pedantic. */
@@ -111,11 +111,11 @@ struct _ffeintrin_spec_
struct _ffeintrin_imp_
{
- char *name; /* Name of implementation. */
+ const char *name; /* Name of implementation. */
#if 0 /* FFECOM_targetCURRENT == FFECOM_targetGCC */
ffecomGfrt gfrt; /* gfrt index in library. */
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
- char *control;
+ const char *control;
};
static struct _ffeintrin_name_ names[] = {
@@ -124,11 +124,13 @@ static struct _ffeintrin_name_ names[] = {
#define DEFGEN(CODE,NAME,SPEC1,SPEC2)
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP)
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL)
+#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD)
#include "intrin.def"
#undef DEFNAME
#undef DEFGEN
#undef DEFSPEC
#undef DEFIMP
+#undef DEFIMPY
};
static struct _ffeintrin_gen_ gens[] = {
@@ -137,11 +139,13 @@ static struct _ffeintrin_gen_ gens[] = {
{ NAME, { SPEC1, SPEC2, }, },
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP)
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL)
+#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD)
#include "intrin.def"
#undef DEFNAME
#undef DEFGEN
#undef DEFSPEC
#undef DEFIMP
+#undef DEFIMPY
};
static struct _ffeintrin_imp_ imps[] = {
@@ -151,9 +155,13 @@ static struct _ffeintrin_imp_ imps[] = {
#if 0 /* FFECOM_targetCURRENT == FFECOM_targetGCC */
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, FFECOM_gfrt ## GFRT, CONTROL },
+#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
+ { NAME, FFECOM_gfrt ## GFRT, CONTROL },
#elif 1 /* FFECOM_targetCURRENT == FFECOM_targetFFE */
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, CONTROL },
+#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
+ { NAME, CONTROL },
#else
#error
#endif
@@ -162,6 +170,7 @@ static struct _ffeintrin_imp_ imps[] = {
#undef DEFGEN
#undef DEFSPEC
#undef DEFIMP
+#undef DEFIMPY
};
static struct _ffeintrin_spec_ specs[] = {
@@ -170,29 +179,31 @@ static struct _ffeintrin_spec_ specs[] = {
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP) \
{ NAME, CALLABLE, FAMILY, IMP, },
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL)
+#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD)
#include "intrin.def"
#undef DEFGEN
#undef DEFSPEC
#undef DEFIMP
+#undef DEFIMPY
};
-struct cc_pair { ffeintrinImp imp; char *text; };
+struct cc_pair { ffeintrinImp imp; const char *text; };
-static char *descriptions[FFEINTRIN_imp] = { 0 };
+static const char *descriptions[FFEINTRIN_imp] = { 0 };
static struct cc_pair cc_descriptions[] = {
#define DEFDOC(IMP,SUMMARY,DESCRIPTION) { FFEINTRIN_imp ## IMP, DESCRIPTION },
#include "intdoc.h0"
#undef DEFDOC
};
-static char *summaries[FFEINTRIN_imp] = { 0 };
+static const char *summaries[FFEINTRIN_imp] = { 0 };
static struct cc_pair cc_summaries[] = {
#define DEFDOC(IMP,SUMMARY,DESCRIPTION) { FFEINTRIN_imp ## IMP, SUMMARY },
#include "intdoc.h0"
#undef DEFDOC
};
-char *
+const char *
family_name (ffeintrinFamily family)
{
switch (family)
@@ -313,7 +324,7 @@ dumpem ()
}
static void
-dumpgen (int menu, char *name, char *name_uc, ffeintrinGen gen)
+dumpgen (int menu, const char *name, const char *name_uc, ffeintrinGen gen)
{
size_t i;
int total = 0;
@@ -366,7 +377,7 @@ For information on other intrinsics with the same name:\n");
}
static void
-dumpspec (int menu, char *name, char *name_uc, ffeintrinSpec spec)
+dumpspec (int menu, const char *name, const char *name_uc, ffeintrinSpec spec)
{
dumpif (specs[spec].family);
dumpimp (menu, name, name_uc, 0, specs[spec].family, specs[spec].implementation,
@@ -375,13 +386,13 @@ dumpspec (int menu, char *name, char *name_uc, ffeintrinSpec spec)
}
static void
-dumpimp (int menu, char *name, char *name_uc, size_t genno, ffeintrinFamily family, ffeintrinImp imp,
- ffeintrinSpec spec)
+dumpimp (int menu, const char *name, const char *name_uc, size_t genno,
+ ffeintrinFamily family, ffeintrinImp imp, ffeintrinSpec spec)
{
- char *c;
+ const char *c;
bool subr;
- char *argc;
- char *argi;
+ const char *argc;
+ const char *argi;
int colon;
int argno;
@@ -399,7 +410,7 @@ dumpimp (int menu, char *name, char *name_uc, size_t genno, ffeintrinFamily fami
|| (summaries[imp] != NULL))
{
int spaces = INDENT_SUMMARY - 14 - strlen (name);
- char *c;
+ const char *c;
if (spec != FFEINTRIN_specNONE)
spaces -= (3 + strlen (specs[spec].name)); /* See XYZZY1 above */
@@ -509,8 +520,8 @@ external procedure.\n\
if (!subr)
{
int other_arg;
- char *arg_string;
- char *arg_info;
+ const char *arg_string;
+ const char *arg_info;
if ((c[colon + 1] >= '0')
&& (c[colon + 1] <= '9'))
@@ -1019,7 +1030,7 @@ Intrinsic groups: ");
if (descriptions[imp] != NULL)
{
- char *c = descriptions[imp];
+ const char *c = descriptions[imp];
printf ("\
@noindent\n\
@@ -1056,10 +1067,10 @@ Description:\n\
}
}
-static char *
+static const char *
argument_info_ptr (ffeintrinImp imp, int argno)
{
- char *c = imps[imp].control;
+ const char *c = imps[imp].control;
static char arginfos[8][32];
static int argx = 0;
int i;
@@ -1099,20 +1110,20 @@ argument_info_ptr (ffeintrinImp imp, int argno)
return c;
}
-static char *
+static const char *
argument_info_string (ffeintrinImp imp, int argno)
{
- char *p;
+ const char *p;
p = argument_info_ptr (imp, argno);
assert (p != NULL);
return p;
}
-static char *
+static const char *
argument_name_ptr (ffeintrinImp imp, int argno)
{
- char *c = imps[imp].control;
+ const char *c = imps[imp].control;
static char argnames[8][32];
static int argx = 0;
int i;
@@ -1148,10 +1159,10 @@ argument_name_ptr (ffeintrinImp imp, int argno)
return c;
}
-static char *
+static const char *
argument_name_string (ffeintrinImp imp, int argno)
{
- char *p;
+ const char *p;
p = argument_name_ptr (imp, argno);
assert (p != NULL);
@@ -1159,7 +1170,7 @@ argument_name_string (ffeintrinImp imp, int argno)
}
static void
-print_type_string (char *c)
+print_type_string (const char *c)
{
char basic = c[0];
char kind = c[1];
OpenPOWER on IntegriCloud