* class.c (add_method): Just check processing_template_decl to
determine whether or not we are within a template.
* decl2.c (maybe_retrofit_in_chrg): Likewise.
* init.c (decl_constant_value): Check the type of the declaration,
not TREE_READONLY.
* name-lookup.c (maybe_push_to_top_level): Rename to ...
(push_to_top_level): ... this.
* name-lookup.h (maybe_push_to_top_level): Do not declare it.
* pt.c (push_template_decl_real): Reorder condition for speed.
(convert_template_argument): Use dependency-checking functions in
place of uses_template_parms.
(lookup_template_class): Avoid calling uses_template_parms more
than once.
(uses_template_parms): Reimplement, using dependency-checking
functions.
(instantiate_class_template): Use push_to_top_level, not
maybe_push_to_top_level.
(type_unification_real): Simplify.
(type_dependent_expression_p): Handle OFFSET_REFs and
TEMPLATE_DECLs.
(any_dependent_template_arguments_p): Handle multiple levels of
template argument.
* semantics.c (expand_or_defer_fn): Do not check
uses_template_parms for template instantiations.
* typeck.c (comptypes): Avoid calling cp_type_quals.
From-SVN: r76647
* config/ia64/ia64-protos.h: Remove the prototype for
ia64_setup_incoming_varargs and ia64_return_in_memory.
* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(ia64_setup_incoming_varargs): Adjust the arguments to meet
the requirement of TARGET_SETUP_INCOMING_VARARGS.
(ia64_return_in_memory): Make it static. Change the return
type to bool from int. Add an argument.
(ia64_struct_value_rtx): New.
* config/ia64/ia64.h: Remove commented-out definitions of
PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
PROMOTE_PROTOTYPES.
(RETURN_IN_MEMORY): Remove.
(STRUCT_VALUE_REGNUM): Likewise.
(STRICT_ARGUMENT_NAMING): Likewise.
From-SVN: r76635
2004-01-26 Ed Schonberg <schonberg@gnat.com>
* exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
one-dimensional array an slice assignments, when component type is
controlled.
* exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
component type is controlled, and control_actions are in effect, use
TSS procedure rather than generating inline code.
* exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
arrays with controlled components.
2004-01-26 Vincent Celier <celier@gnat.com>
* gnatcmd.adb (GNATCmd): Add specification of argument file on the
command line for the non VMS case.
* gnatlink.adb (Process_Binder_File): When building object file, if
GNU linker is used, put all object paths between quotes, to prevent ld
error when there are unusual characters (such as '!') in the paths.
* Makefile.generic: When there are sources in Ada and the main is in
C/C++, invoke gnatmake with -B, instead of -z.
* vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
from VMS_Conversion.
(Process_Argument): New procedure, extracted from VMS_Conversion. Add
specification of argument file on the command line.
2004-01-26 Bernard Banner <banner@gnat.com>
* Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
2004-01-26 Ed Schonberg <schonberg@gnat.com>
* snames.adb: Update copyright notice.
Add info on slice assignment for controlled arrays.
From-SVN: r76634
PR target/13666
* config/sparc/sparc.c (function_arg_union_value): New function.
(function_arg): Use it to deal with unions.
(function_value): Likewise. Define 'regbase' only for ARCH64.
Replace a conditional statement by a simpler one.
From-SVN: r76628
PR c++/13833
* call.c (build_over_call): Do not convert arguments when
processing a template.
* pt.c (build_non_dependent_expr): Do not build a
NON_DEPENDENT_EXPR for arithmetic constants.
PR c++/13833
* g++.dg/template/cond3.C: New test.
From-SVN: r76616
PR c++/13810
* parser.c (cp_parser_type_parameter): When cp_parser_id_expression
returns a TYPE_DECL. no further lookup is required.
* semantics.c (check_template_template_default_arg): A TYPE_DECL
is invalid. Rework to give better diagnostics.
From-SVN: r76593
* config/mips/mips.c (mips_offset_within_object_p): New function.
(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
ABI has 64-bit pointers and the object file only allows 32-bit symbols.
From-SVN: r76586
2004-01-25 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/TextArea.java: Fix indentation. Flesh out javadocs.
(getMinimumSize (int, int)): Fix FIXME -- return Dimension (0,0)
when peer is null.
(setColumns): Remove FIXME -- peer will retrieve number of
columns by calling getColumns.
(setRows): Likewise for number of rows.
(next_text_number): New field.
(paramString): Fix param string.
(generateName): New method.
(getUniqueLong): New method.
From-SVN: r76577