Paolo Carlini [Sun, 22 Feb 2004 11:13:27 +0000 (11:13 +0000)]
locale_facets.tcc (money_put<>::_M_insert): Restructure formatting of value component...
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):
Restructure formatting of value component, first dealing with
the non-decimal digits; use reserve.
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class money_get): Inherit
from money_base too; tweak declaration of _M_extract, now
parameterized on _Intl too.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update definition to use the cache; call reserve on __res to
avoid multiple reallocations; fix parsing of sign component
according to 22.2.6.1.2, p3.
(money_get<>::do_get(long double&),
money_get<>::do_get(string_type&)): Update calls of _M_extract.
* src/locale-inst.cc: Add instantiations of
money_get::_M_extract<false> and money_get::_M_extract<true>.
* testsuite/22_locale/money_get/get/char/14.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object file when targetting cygwin.
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object
file when targetting cygwin.
* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
overridden by top-level Makefile.
Alan Modra [Sat, 21 Feb 2004 13:03:40 +0000 (13:03 +0000)]
combine.c (can_combine_p): Don't ignore SETs marked with REG_EH_REGION notes.
* combine.c (can_combine_p): Don't ignore SETs marked with
REG_EH_REGION notes.
(try_combine): When attemting to fix unrecognized insns, don't
split a PARALLEL that contains the original i2.
Ziemowit Laski [Sat, 21 Feb 2004 09:08:37 +0000 (09:08 +0000)]
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.
Mark Mitchell [Fri, 20 Feb 2004 23:51:07 +0000 (23:51 +0000)]
9533-1.cc: Open FIFO for writing with ios_base::in|ios_base::out.
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
FIFO for writing with ios_base::in|ios_base::out.
* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
* testsuite/27_io/objects/char/7.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
with "r+".
re PR c++/12007 (Multiple inheritance float pass by value fails)
PR c++/12007
* dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
are set for parameters before outputing debugging information.
* cp/method.c (use_thunk): Always clone function argument tree.
Per Bothner [Fri, 20 Feb 2004 20:02:27 +0000 (12:02 -0800)]
input.h: Don't #include line-map.h.
* input.h: Don't #include line-map.h. It may cause link problems
with undefined linemap_line_start when line-map.h is included but
line-map.o is not linked, as currently happens with gengtype on
compilers that don't support inline.
* toplev.c: So we do have to explicitly #include line-map.h here.
Mohan Embar [Fri, 20 Feb 2004 12:55:00 +0000 (12:55 +0000)]
install.texi: Moved --disable-libgcj and --with-system-zlib documentation to new section for...
* doc/install.texi: Moved --disable-libgcj and
--with-system-zlib documentation to new section for
Java-specific options.
Added explicit Cross-Compiler-Specific Options subheading.
Added section for Java-specific options.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r78166
Arnaud Charlet [Fri, 20 Feb 2004 11:55:27 +0000 (12:55 +0100)]
[multiple changes]
2004-02-20 Robert Dewar <dewar@gnat.com>
* bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
2004-02-20 Ed Schonberg <schonberg@gnat.com>
* freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
itype references for the constrained designated type of a component
whose base type is already frozen.
* sem_ch12.adb (Analyze_Formal_Package): Create a new defining
identifier for a phantom package that rewrites the formal package
declaration with a box. The Add semantic decorations for the defining
identifier from the original node (that represents the formal package).
Kazu Hirata [Fri, 20 Feb 2004 06:46:42 +0000 (06:46 +0000)]
gcc.c (process_command): Allow translation of the copyright symbol but not the rest of the copyright message.
gcc/
* gcc.c (process_command): Allow translation of the copyright
symbol but not the rest of the copyright message.
* gcov.c (print_version): Likewise. Allow translation of the
message about warranty.
gcc/f/
* Make-lang.in (g77spec.o): Depend on intl.h.
* g77spec.c: Include intl.h.
(lang_specific_driver): Allow translation of the copyright
symbol but not the rest of the copyright message. Allow
translation of the message about warranty.
Mark Mitchell [Fri, 20 Feb 2004 06:43:08 +0000 (06:43 +0000)]
re PR c++/14186 (enum in base class conflicts with derived class)
PR c++/14186
* name-lookup.c (push_class_level_binding): Do not complain about
adding a binding for a member whose name is the same as the
enclosing class if the member is located in a base class of the
current class.
cris.md ("*andsi_movu"): Correct parentheses in predicate.
* config/cris/cris.md ("*andsi_movu"): Correct parentheses in
predicate.
("*andsi_clear"): Tweak constraints to not match postincrement.
Adjust the predicate to exclude a volatile memory reference.
("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
("*andhi_clear_unsigned"): Remove, non-matching pattern.
James E Wilson [Fri, 20 Feb 2004 01:20:33 +0000 (01:20 +0000)]
Fix latent problem found by Mostafa Hagog.
* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
for operand2. Add condition that requires register_operand operand2
before reload.
Zack Weinberg [Thu, 19 Feb 2004 17:21:14 +0000 (17:21 +0000)]
sdbout.c (preinit_symbols, [...]): New statics.
* sdbout.c (preinit_symbols, sdbout_initialized): New statics.
(sdbout_symbol): If called before sdbout_init, queue DECL for
later and return.
(sdbout_init): Set sdbout_initialized true, process decls
queued earlier by sdbout_symbol.
(sdbout_finish): Use size_t for index variable.
Ian Lance Taylor [Thu, 19 Feb 2004 15:24:02 +0000 (15:24 +0000)]
reload1.c (reload): Correct comment.
* reload1.c (reload): Correct comment.
(scan_paradoxical_subregs): Remove #if 0 and old comment.
* doc/extend.texi (Local Reg Vars): Remove obsolete comment that
register variables are not used by reload.
re PR target/14209 (Bug in cris.md, shrinking access size of postincrement.)
PR target/14209
* config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
constraints to not match postincrement. Adjust the predicate to
exclude a volatile memory reference.
Kazu Hirata [Thu, 19 Feb 2004 11:06:26 +0000 (11:06 +0000)]
hooks.c (hook_void_tree_int): Remove.
* hooks.c (hook_void_tree_int): Remove.
(hook_void_constcharptr): Likewise.
(hook_int_void_0): Likewise.
* hooks.h: Remove the prototypes for the above three
functions.
* targhooks.c (hook_bool_machine_mode_true): Remove.
* targhooks.h: Remove the prototype for
hook_bool_machine_mode_true.
Eric Botcazou [Thu, 19 Feb 2004 09:02:48 +0000 (10:02 +0100)]
re PR target/12916 (No vector ABI)
PR target/12916
* config/sparc/sparc.h (NPARM_REGS): Delete.
(BASE_RETURN_VALUE_REG): Likewise.
(BASE_OUTGOING_VALUE_REG): Likewise.
(BASE_PASSING_ARG_REG): Likewise.
(BASE_INCOMING_ARG_REG): Likewise.
* config/sparc/sparc.c (sparc_strict_argument_naming): Test
TARGET_ARCH64, not TARGET_V9.
(function_arg_slotno): Dispatch based on the mode class.
Handle vector modes like floating-point modes.
(function_arg_record_value_1): Handle vector types like
floating-point types.
(function_arg_record_value_2): Likewise.
Calculate regno after mode transformation.
(function_arg): Handle vector modes like floating-point modes.
(function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
If ARCH64, do not recheck alignment.
(function_arg_pass_by_reference): Reorder the conditions.
(sparc_return_in_memory): Move after function_arg_padding.
Implement calling conventions for vector modes.
(sparc_struct_value_rtx): Move after sparc_return_in_memory.
(function_value): Move scope of 'regbase'.
Implement calling conventions for vector modes.
(sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
(sparc_va_arg): Use function_arg_pass_by_reference to test whether
the argument is passed by reference.
(sparc_type_code): Handle vector types.
Matt Austern [Thu, 19 Feb 2004 05:52:38 +0000 (05:52 +0000)]
gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined...
* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
(init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
spec string.
* doc/tm.texi (REAL_LIBGCC_SPEC): Document.
Zack Weinberg [Wed, 18 Feb 2004 23:58:00 +0000 (23:58 +0000)]
dwarf2out.c (loclabel_num): Move outside #ifdef DWARF2_DEBUGGING_INFO and mark with GTY(()).
* dwarf2out.c (loclabel_num): Move outside #ifdef
DWARF2_DEBUGGING_INFO and mark with GTY(()).
* config/ia64/ia64.c (struct extern_func_list,extern_func_head):
Mark with GTY(()).
(ia64_hpux_add_extern_decl): Save the decl, not the name string.
Allocate memory with ggc_alloc. No need to copy anything.
(ia64_hpux_file_end): Update to match.
Per Bothner [Wed, 18 Feb 2004 22:02:39 +0000 (14:02 -0800)]
re PR preprocessor/14103 (ICEs on "gcc -E -imacros foo.h baz.c")
* cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
partly reverts my 2003-10-01 change, because we're back to logically
including <command line> inside the main line.
* cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
* cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
Fixes PR preprocessor/14103.
* cppfiles.c (_cpp_stack_include): When appropriate decrement
line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
(cpp_push_include): Don't need to increment pfile's line field.
* line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
* c-ppoutput.c (print struct): New first_time field.
(init_pp_output): Set print.first_time.
(pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
which is set also for (say) <command line>. Clear print.first_time.
* cppfiles.c (struct _cpp_file): Comment and type for pch field
does not match the code, so fix both.
(should_stack_file): Inline include_pch_p function.
(include_pch_p): Remove pointless function.
Kazu Hirata [Wed, 18 Feb 2004 21:50:25 +0000 (21:50 +0000)]
h8300-protos.h: Update the prototype for expand_a_rotate().
* config/h8300/h8300-protos.h: Update the prototype for
expand_a_rotate().
* config/h8300/h8300.c (expand_a_rotate): Remove the first
argument.
* config/h8300/h8300.md: Update all callers.
Richard Earnshaw [Wed, 18 Feb 2004 18:44:23 +0000 (18:44 +0000)]
re PR target/13866 (ICE in extract_insn, at recog.c:2083)
PR target/13866
* arm.c (load_multiple_operation): Don't insist that the source reg
of a post-increment component is the same as the destination.
(store_multiple_operation): Likewise.