* invoke.texi (-fdump-translation-unit): New option.
* Make-lang.in (CXX_SRCS): Add dump.c.
* Makefile.in (CXX_OBJS): Add dump.o.
(dump.o): New target.
* cp-tree.h (DECL_CONV_FN_P): Document.
(DECL_OVERLOADED_OPERATOR_P): New function.
(TYPE_PTRMEM_CLASS_TYPE): New macro.
(TYPE_PTRMEM_POINTED_TO_TYPE): Likewise.
(PTRMEM_CST_CLASS): Use TYPE_PTRMEM_CLASS_TYPE.
(ASM_VOLATILE_P): New macro.
(STMT_LINENO): Likewise.
(cp_namespace_decls): New function.
(dump_node_to_file): New function.
* decl.c (cp_namespace_decls): New function.
(walk_namespaces_r): Use it.
(wrapup_globals_for_namespace): Likewise.
* decl2.c (flag_dump_translation_unit): New variable.
(lang_decode_option): Handle -fdump-translation-unit.
(finish_file): If flag_dump_translation_unit is set, dump the
translation unit.
* dump.c: New file.
* lang-options.h: Add -fdump-translation-unit.
* pt.c (tsubst_template_parms): Robustify.
(tsubst_decl): Use DECL_OVERLOADED_OPERATOR_P.
(tsubst_expr): Use STMT_LINENO.
* semantics.c (finish_asm_stmt): Eliminate duplicate code. Check
for invalid cv-qualifiers even while building templates.
From-SVN: r28434
* c-decl.c (get_parm_info, store_parm_decls): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* c-typecheck.c (convert_arguments): Ditto.
* expr.h: Supply default for PROMOTE_PROTOTYPES (0).
From-SVN: r28420
* java/decl.c (start_java_method): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* java/expr.c (pop_arguments): Ditto.
* java/parse.y (expand_start_java_method): Ditto.
From-SVN: r28419
* call.c (convert_default_arg, build_over_call): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* decl.c (grokparams): Ditto.
* pt.c (tsubst_decl): Ditto.
* typeck.c (convert_arguments): Ditto.
From-SVN: r28418
* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
MAX_WCHAR_TYPE defined in sparc.h.
* config/sparc/linuxaout.h: Likewise.
* config/sparc/linux64.h: Likewise.
Also default to -mvis if CPU is UltraSPARC.
From-SVN: r28416
* class.c (mark_overriders): Fix order of args to overrides.
(warn_hidden): Likewise. Fix for having virtual and non-virtual
functions with the same name.
From-SVN: r28415
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
(RTX_OK_FOR_OLO10): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
%lo(), allow it in addresses...
(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
does not make sense.
* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
(sparc_output_scratch_registers): New function.
(output_function_prologue, sparc_flat_output_function_prologue): Use
it.
* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
defined.
* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
* configure.in: Add check for .register pseudo-op support in as and
check for offsetable %lo().
* acconfig.h: Add templates for the above checks.
* configure: Regenerate.
Richard Henderson <rth@cygnus.com>
* sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
* sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
* sparc/sol2.h (TARGET_DEFAULT): Likewise.
From-SVN: r28414
* config/float-sparc.h: New file.
* configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
sparc-*-linux-gnu and sparc64-*-linux*.
From-SVN: r28412
* rs6000.c (rs6000_va_list): Type is an array.
(rs6000_va_start): Don't doubly adjust for varargs.
(rs6000_va_arg): Evaluate long long GPR adjustment.
From-SVN: r28408
* pa.c (legitimize_pic_address): Clarify comments. Do not call the
pic_load_label generator directly.
* pa.md (pic_load_label): Clarify comments. Remove modes on operands.
No longer a named pattern.
From-SVN: r28401