* stmt.c (check_unique_operand_names): Expect operand names to
be strings rather than identifiers. Use simple_cst_equal to
compare them.
(resolve_operand_name_1): Make same identifier to string change here.
* c-parse.in (asm_operand): Convert a named operand into a string.
* cp/parse.y (asm_operand): Likewise.
From-SVN: r52269
PR c++ 5373.
* g++.dg/parse/stmtexpr1.C: New test.
PR c++/5373.
* semantics.c (finish_expr_stmt): Remember the type of the
expression before any conversions are performed.
From-SVN: r52264
PR c++/5189.
* call.c (add_template_candidate_real): Do not treat member
templates as copy constructors.
PR c++/5189.
* g++.dg/template/copy1.C: New test.
From-SVN: r52260
2002-04-06 Mark Mitchell <mark@codesourcery.com>
PR c++/5571
* stor-layout.c (layout_decl): Reset the RTL for the decl.
* decl.c (duplicate_decls): Do not copy the RTL for a variable
declaration if the old variable had an incomplete type and the new
variable does not.
(complete_vars): Do not call layout_decl for completed variables.
From-SVN: r52258
* recog.c (offsettable_address_p): Match the logic in adjust_address.
* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
in 64-bit mode only. Use only for 32-bit or MEDLOW.
From-SVN: r52250
(strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA)
does not define strtoll or strtoull, but does define strtol
and strtoul which are the same since in 64 bit mode
sizeof(long) == sizeof(long long).
From-SVN: r52247
2002-04-12 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Doxygenate std::bitset<>. Clean up
trailing spaces, indentation, and macro names. Make exception
messages more informative.
From-SVN: r52233
* config/ia64/ia64.h (ASM_SPEC): Moved from here ...
* config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
overrides the definition in config/svr4.h.
From-SVN: r52228
* decl.c (duplicate_decls): Don't try to unify an implicit typedef
with an explicit one.
(follow_tag_typedef): New.
(lookup_tag): Use it to extract the tag of an explicit typedef.
(xref_tag): Likewise.
From-SVN: r52213
2002-04-11 Andrew Haley <aph@redhat.com>
* typeck.c (type_after_usual_arithmetic_conversions):
If two types have the same variant, return immediately.
When two floating-point operands are the same precision:
convert to float if one of the operands is float;
if neither operand is one of the standard types, return the type
of the first operand.
From-SVN: r52209
* pa.c (pa_output_function_prologue): Don't accumulate the total
number of code bytes when using TARGET_64BIT, or gas, SOM and not
the portable runtime.
(output_deferred_plabels): Handle 64bit plabels.
(output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
generating pic code using the GAS assembler for object formats that
are not SOM (ie., ELF32 and ELF64).
(output_millicode_call): Check attribute type if attribute length is 28.
Likewise use $PIC_pcrel$0. Only call get_attr_length and
dbr_sequence_length once.
(output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
dbr_sequence_length once.
* pa.h (TARGET_SOM): Define if not defined.
* pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
with GAS and not SOM.
(jump, call_internal_reg, call_value_internal_reg): Likewise.
* som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
From-SVN: r52196
2002-04-11 David O'Brien <obrien@FreeBSD.org>
* config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
(DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
(USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
elfos.h and dbxelf.h values are fine now.
* config/i386/freebsd.h, config/alpha/freebsd.h
(DEFAULT_PCC_STRUCT_RETURN): Define to 0.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20020411175216.B11442@redhat.com>
From-SVN: r52194
* configure.host: Set can_unwind_signal on hosts which support it.
Don't set CHECKREFSPEC and DIVIDESPEC for FreeBSD.
* configure.in: Set CHECKREFSPEC and DIVIDESPEC if not using SJLJ
exceptions and can_unwind_signal isn't set.
* configure: Rebuilt.
From-SVN: r52193
2002-04-11 David O'Brien <obrien@FreeBSD.org>
* config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
or set Acpu or Amachine. Reformat.
(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
define.
(LINK_SPEC): Do not need to undef.
* config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
* config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
define.
* config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
(ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
(LINK_SPEC): Do not need to undef.
(DONT_USE_BUILTIN_SETJMP): Do not define.
* config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
(CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
(DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
Remove trailing spaces.
* config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
__ELF__, or set Acpu or Amachine. Reformat.
(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
define.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20020411160138.A11250@redhat.com>
From-SVN: r52191
2002-04-11 David O'Brien <obrien@FreeBSD.org>
* config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
all other *-*-freebsd* targets.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20020411174756.A11442@redhat.com>
From-SVN: r52189