[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 |
||
---|---|---|
.. | ||
COPYING.LIB | ||
Makefile.in | ||
PROJECTS | ||
README | ||
Version.c | ||
access_.c | ||
acconfig.h | ||
aclocal.m4 | ||
alarm_.c | ||
chdir_.c | ||
chmod_.c | ||
config.hin | ||
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)