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.
From-SVN: r78087
* 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.
From-SVN: r78072
PR c++/14181
* parser.c (cp_parser_new_expression): Parse an ill-formed
direct-new-declarator after a parenthesized type-id to emit good
diagnostic.
From-SVN: r78067
* 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.
From-SVN: r78061
* 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.
* cpphash.h (struct cpp_buffer): Remove unused search_cached field.
From-SVN: r78049
* 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.
From-SVN: r78047
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.
From-SVN: r78041
2004-02-18 Emmanuel Briot <briot@act-europe.fr>
* ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
Scan_ALI can be used for multiple ALI files without reinitializing
between calls.
2004-02-18 Robert Dewar <dewar@gnat.com>
* debug.adb: Minor reformatting.
2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
to zero if there is an address clause.
2004-02-18 Thomas Quinot <quinot@act-europe.fr>
* exp_util.adb (Side_Effect_Free): Any literal is side effects free.
2004-02-18 Gary Dismukes <dismukes@gnat.com>
* layout.adb (Layout_Component_List): Revise generation of call to
discriminant-checking function to pass selections of all of the type's
discriminants rather than just the variant-controlling discriminant.
2004-02-18 Olivier Hainque <hainque@act-europe.fr>
* 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
fail in the current setup and triggers spurious system error messages.
Pretend it occurred and failed instead.
2004-02-18 Vincent Celier <celier@gnat.com>
* bld.adb: Mark FLDFLAGS as saved
(Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
it is not the root project. Put each directory to be
extended between double quotes to prevent it to be expanded on Windows.
(Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
the project file. Set them back to their initial values if they have not
been set in the project file.
* gprcmd.adb: (Gprdebug, Debug): New global variables
(Display_Command): New procedure
(Usage): Document new command "linkopts"
Call Display_Command when env var GPRDEBUG has the value "TRUE"
Implement new command "linkopts"
Remove quotes that may be around arguments for "extend"
Always call Normalize_Pathname with arguments formatted for the platform
* Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
Change @echo to @$(display) in target clean to be able to clean silently
* Makefile.prolog: Save FLDFLAGS and give it an initial empty value
* prj-part.adb (Project_Path_Name_Of): Do not put final result in
canonical case.
* prj-part.adb (Parse_Single_Project): Always call with From_Extended
= Extending_All when current project is an extending all project.
* vms_conv.adb (Output_File_Expected): New Boolean global variable,
set to True only for LINK command, after Unix switch -o.
(Process_Arguments): Set Output_File_Expected to True for LINK command
after Unix switch -o. When Output_File_Expected is True, never add an
extension to a file name.
* 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
option file name, only to the --for-linker= switch.
(Option_File_Name): If option file name do not end with ".opt", append
"/OPTIONS".
2004-02-18 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r78024
* configure.ac: When generating auto-build.h, pass
--enable-languages to the sub-configure.
Put quotes around ${program_transform_name} when generating
name of as, ld, nm, objdump.
* configure: Regenerate.
From-SVN: r78012
(s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
(s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
(s-preds, s-iov): Do not depend on move-if-change.
(gcc/ada)
* Make-lang.in (stamp-sdefault): Do not depend on
move-if-change.
From-SVN: r78011
2004-02-17 Stefan Olsson <stefan@xapa.se>
* include/ext/mt_allocator.h: Removed the last
pointer. Deallocated blocks are now added to the front of
freelists as proposed by Felix Yen. This gives roughly 10%
performance boost and saves some memory.
* docs/html/ext/mt_allocator.html: Change due to that deallocated
blocks now are added to the front of freelists. The reason to this
approach is also explained.
From-SVN: r78009
* config/h8300/h8300-protos.h: Update the prototype of
fix_bit_operand().
* config/h8300/h8300.c (fix_bit_operand): Remove the second
argument "what".
* config/h8300/h8300.md: Update all callers.
From-SVN: r78006