[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
2003-04-11 Bud Davis <bdavis9659@comcast.net>
PR Fortran/9263
* gcc/f/data.c (ffedata_advance_): Check initial, final and
increment values for INTEGER typeness.
PR Fortran/1832
* libf2c/libI77/iio.c (z_putc): Check for overflowing length
of output string.
* gcc/f/news.texi: Document these fixes.
PR Fortran/9263
* g77.f-torture/noncompile/9263.f: New test
PR Fortran/1832
* g77.f-torture/execute/1832.f: New test
From-SVN: r65481
2003-03-24 Bud Davis <bdavis9659@comcast.net>
PR fortran/10197
* libI77/open.c (f_open): A DIRECT ACCESS file is
UNFORMATTED by default.
From-SVN: r64821
2002-10-18 Krister Walfridsson <cato@df.lth.se>
* libU77/configure.in (_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED,
__EXTENSIONS__, _FILE_OFFSET_BITS): Check that _XOPEN_SOURCE 500L
may be defined before defining these.
* libU77/configure: Regenerate.
* libI77/configure.in (_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED,
__EXTENSIONS__, _FILE_OFFSET_BITS): Check that _XOPEN_SOURCE 500L
may be defined before defining these.
* libI77/configure: Regenerate.
From-SVN: r59639
maintainer-scripts:
* update_version: Do not check in files which are unchanged.
* gcc_release: Only update the version in gcc/version.c.
gcc:
* version.c (version_string): Now const char[].
* version.h: Update to match.
gcc/ada:
* Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
* Makefile.in (TOOLS_LIBS): Add ../../version.o.
* gnatvsn.ads: Gnat_Version_String is now a function.
* gnatvsn.adb: New file. When asked for Gnat_Version_String,
copy the C version_string into a String and return it.
* gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
Remove pragma Ident (Gnat_Version_String). If this was the
sole use of package Gnatvsn, remove the with statement too.
* gnat1drv.adb: Tweak -gnatv output.
gcc/f:
* Make-lang.in (g77spec.o): Don't depend on f/version.h.
(f/parse.o): Depend on version.h not f/version.h.
(g77version.o, f/version.o): Delete all references.
* com.c (ffecom_init_0): Fix transposed array indices in bsearch test.
* g77spec.c: Don't include f/version.h or refer to ffe_version_string.
* parse.c: Use version_string, not ffe_version_string.
* version.c, version.h: Delete files.
libf2c:
* libF77/Version.c: Rename junk to __LIBF77_VERSION__. Add
external decls for __LIBI77_VERSION__ and __LIBU77_VERSION__.
Delete __G77_LIBF77_VERSION__
(g77__fvers__): Print all three __LIB*77_VERSION__ strings,
and __VERSION__ if we have it; nothing else.
* libI77/Version.c: Provide only __LIBI77_VERSION__ (formerly junk).
* libU77/Version.c: Provide only __LIBU77_VERSION__ (formerly junk).
From-SVN: r57461
2002-08-31 Toon Moene <toon@moene.indiv.nluug.nl>
PR fortran/6367
* libI77/rsne.c (x_rsne): Use local variable no2 to count further
list elements to read.
From-SVN: r56706