gcc/libf2c/libU77
Ziemowit Laski 8bb418a3d5 darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
[gcc/ChangeLog]
2004-02-21  Ziemowit Laski  <zlaski@apple.com>

        * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
        SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
        * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
        * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
        (vector, pixel, bool): #define to __vector, __pixel and __bool.
        (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
        portion of header.
        (__altivec_link_error_invalid_argument): Remove prototype; will use
        __builtin_altivec_compiletime_error("vec_*") instead.
        (vec_*): Fix/complete set of available operation overloads given the
        existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
        cv-correctness of pointer arguments; in C, always check for correct
        argument types before macro expansion.
        * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
        defining Darwin/PowerPC-specific '-f[no-]altivec' and
        '-W[no-]altivec-long-deprecated' switches.
        * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
        '__vector', '__pixel' and '__bool' macros using
        '__attribute__((altivec(...)))' types.
        * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
        bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
        bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
        New type nodes.
        (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
        handling '-W[no-]altivec-long-deprecated'.
        (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
        (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
        altivec_expand_dst_builtin): Remove casts from integer literals.
        (altivec_expand_builtin): Likewise; handle expansion of new
        '__builtin_altivec_compiletime_error' function.
        (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
        types, and make them distinct from other vector types; register
        '__builtin_altivec_compiletime_error' function.
        (print_operand): For 'P', print a full target register name instead of
        merely its number.
        (rs6000_attribute_table): Add "altivec" attribute.
        (rs6000_handle_altivec_attribute): New function.
        * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
        '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
        maps to).
        (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
        declare.
        (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.

[gcc/testsuite/ChangeLog]
2004-02-21  Ziemowit Laski  <zlaski@apple.com>

        * g++.dg/ext/altivec-1.C: Generalize target triple.
        * g++.dg/ext/altivec-2.C: New test case.
        * g++.dg/ext/altivec_check.h: New file.
        * gcc.dg/altivec-1.c: Generalize target triple;
        include altivec_check.h and call altivec_check().
        * gcc.dg/altivec-[2-5].c: Generalize target triple.
        * gcc.dg/altivec-6.c: New test case.
        * gcc.dg/altivec-[7-9].c: Generalize target triple; add
        type casts as needed.
        * gcc.dg/altivec-10.c: Include altivec_check.h and call
        altivec_check().
        * gcc.dg/altivec-12.c: New test case.
        * gcc.dg/altivec-varargs-1.c: Generalize target triple;
        include altivec_check.h and call altivec_check().
        * gcc.dg/altivec_check.h: New file.

From-SVN: r78215
2004-02-21 09:08:37 +00:00
..
COPYING.LIB
Makefile.in
PROJECTS
README
Version.c
access_.c
acconfig.h
aclocal.m4
alarm_.c
chdir_.c
chmod_.c
config.hin darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options. 2004-02-21 09:08:37 +00:00
configure
configure.in
ctime_.c
date_.c
datetime_.c
dtime_.c
etime_.c
fdate_.c
fgetc_.c
flush1_.c
fnum_.c
fputc_.c
fstat_.c
gerror_.c
getcwd_.c
getgid_.c
getlog_.c
getpid_.c
getuid_.c
gmtime_.c
hostnm_.c
idate_.c
ierrno_.c
irand_.c
isatty_.c
itime_.c
kill_.c
link_.c
lnblnk_.c
lstat_.c
ltime_.c
mclock_.c
perror_.c
rand_.c
rename_.c
secnds_.c
second_.c
sleep_.c
srand_.c
stamp-h.in
stat_.c
symlnk_.c
sys_clock_.c
time_.c
ttynam_.c
u77-test.f
umask_.c
unlink_.c
vxtidate_.c
vxttime_.c

README

19970811						    -*-text-*-

g77 libU77
----------

This directory contains an implementation of most of the `traditional'
Unix libU77 routines, mostly an interface to libc and libm routines
and some extra ones for time and date etc.  It's intended for use with
g77, to whose configuration procedure it's currently tied, but should
be compatible with f2c otherwise, if using the same f2c.h.

The contents of libU77 and its interfaces aren't consistent across
implementations.  This one is mostly taken from documentation for (an
old version of) the Convex implementation and the v2 SunPro one.
As of g77 version 0.5.20, most of these routines have been made
into g77 intrinsics.  Some routines have a version with a name prefixed
by `vxt', corresponding to the VMS Fortran versions, and these should
be integrated with g77's intrinsics visibility control.

A few routines are currently missing; in the case of `fork', for
instance, because they're probably not useful, and in the case of
`qsort' and those for stream-based i/o handling, because they need
more effort/research.  The configuration should weed out those few
which correspond to facilities which may not be present on some Unix
systems, such as symbolic links.  It's unclear whether the interfaces
to the native library random number routines should be retained, since
their implementation is likely to be something one should avoid
assiduously.

This library has been tested it under SunOS4.1.3 and Irix5.2 and there
has been some feedback from Linux; presumably potential problems lie
mainly with systems with impoverished native C library support which
haven't been properly taken care of with autoconf.

There's another GPL'd implementation of this stuff which I only found
out about recently (despite having looked) and I haven't yet checked
how they should be amalgamated.

Dave Love <d.love@dl.ac.uk>  Aug '95
(minor changes by Craig Burley <burley@gnu.org> Aug '97)