2006-08-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/28788
REGRESSION FIX
* symbol.c (gfc_use_derived): Never eliminate the symbol,
following reassociation of use associated derived types.
2006-08-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/28788
* gfortran.dg/used_types_5.f90: New test.
* gfortran.dg/used_types_6.f90: New test.
From-SVN: r116552
PR c++/28860
* cp-tree.h (maybe_process_partial_specialization): Return
tree instead of void.
* parser.c (cp_parser_class_head): Use return value of
maybe_process_partial_specialization.
* pt.c (maybe_process_partial_specialization): Return error_mark_node
for broken specializations, TYPE otherwise. Check for template
template parameters.
* g++.dg/template/ttp22.C: New test.
From-SVN: r116541
2006-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/28354
* io/write.c: Check for special case of zero precision in format
and pre-round the real value.
From-SVN: r116502
PR other/28797
* cp-demangle.c (d_pointer_to_member_type): Do add a substitution
for a qualified member which is not a function.
* testsuite/demangle-expected: Add test case.
From-SVN: r116493
PR c++/28058
* pt.c (register_specialization): Return error_mark_node for
specialization-after-instantiation.
* decl2.c (mark_used): Mark the main function used when one of its
clones is used.
PR c++/28058
* g++.dg/template/spec31.C: New test.
From-SVN: r116491
2006-08-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28830
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
lockfree_weaktoshared.cc: Rename to...
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
default_weaktoshared.cc: ... this; test the default base class.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
mutex_weaktoshared.cc: Run like the other thread tests.
From-SVN: r116489
* tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
temporary visit flags on CASE_LABEL_EXPRs.
* c-common.c (match_case_to_enum): Add function comment. Avoid
O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
(c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
CASE_HIGH_SEEN for enumerated types. If the switch expression is
a constant, only warn if that constant value isn't handled.
* gcc.dg/Wswitch-enum-2.c: New test case.
* gcc.dg/Wswitch-enum-3.c: Likewise.
From-SVN: r116481
PR c++/28736
PR c++/28737
PR c++/28738
* pt.c (process_template_parm): Store invalid template
parameters as a TREE_LIST with a TREE_VALUE of error_mark_node.
(push_inline_template_parms_recursive): Check for template
parameters having a TREE_VALUE of error_mark_node rather than
check the parameter itself.
(mangle_class_name_for_template): Likewise.
(comp_template_parms): When comparing the individual template
parameters, return 1 if either is error_mark_node.
(current_template_args): Robustify.
(redeclare_class_template): Likewise.
* g++.dg/template/void10.C: New test.
* g++.dg/template/void8.C: New test.
* g++.dg/template/void9.C: New test.
* g++.dg/template/void3.C: Adjust error markers.
* g++.dg/template/void4.C: Likewise.
* g++.dg/template/crash55.C: Likewise.
* g++.dg/template/void7.C: Likewise.
From-SVN: r116473
* config/xtensa/xtensa.c (function_arg_boundary): New.
(function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
STACK_BOUNDARY.
* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
function_arg_boundary function that limits alignment to STACK_BOUNDARY.
From-SVN: r116469
PR middle-end/28683
* cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
3 following insns.
* gcc.c-torture/compile/20060823-1.c: New test.
From-SVN: r116467
2006-08-26 Richard Guenther <rguenther@suse.de>
PR middle-end/28814
* fold-const.c (fold_binary): Fold temporary to correct
type before constructing new comparison.
* gcc.dg/torture/pr28814.c: New testcase.
From-SVN: r116439
PR c/28299
* c-decl.c (start_function): Don't try to process prototype
information from old declaration that isn't a function.
testsuite:
* gcc.dg/funcdef-var-1.c, gcc.dg/funcdef-var-2.c: New tests.
* gcc.dg/pr20368-1.c, gcc.dg/pr20368-2.c, gcc.dg/pr20368-3.c:
Expect extra diagnostics.
From-SVN: r116435
gcc:
PR tree-optimization/16876
* c-typeck.c (c_convert_parm_for_inlining): Don't take early
exit if PARM doesn't match VALUE.
testsuite:
gcc.dg/noncompile/pr16876.c: New test.
From-SVN: r116424
cp/
PR c++/27787
* decl.c (make_typename_type): Only try and resolve it when
context is not dependent. Refactor.
* decl2.c (check_classfn): Push to class scope before looking for
the function.
testsuite/
PR c++/27787
* g++.dg/template/typename10.C: New.
* g++.dg/template/lookup4.C: Remove bogus error marker.
From-SVN: r116409