PR other/17361
* c-opts.c (permit_fortran_options): Delete/obsolete global variable.
(c_common_init_options): Remove #ifdef CL_F77 code. Scan command
line options for "-lang-asm" and if found allow any of the C-family
front-end options.
(c_common_handle_option): Remove last use of permit_fortran_options.
From-SVN: r88906
PR c++/17936
* cp-tree.h (CLASSTYPE_TEMPLATE_SPECIALIZATION): Add a comment.
* pt.c (optimize_specialization_lookup_p): Do not optimize lookups
for members of partial or explicit specializations.
PR c++/17936
* g++.dg/template/spec18.C: New test.
From-SVN: r88905
2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/16614 continued.
* include/ext/mt_allocator.h
(__per_type_pool_policy::_S_get_pool): Use saner defaults based on
specific type characteristics.
(__pool_base): Add constructor that takes a _Tune argument.
(__pool): Same.
* testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
* testsuite/ext/mt_allocator/tune-4.cc: Same.
* testsuite/ext/mt_allocator/tune-3.cc: Same.
From-SVN: r88902
PR middle-end/17657
* stmt.c (add_case_node): Add additional type argument. Declare
as static to match prototype. Convert the upper and lower bounds
to the specified index type. Optimize away case ranges/values
that are outside the index type's bounds. Truncate case ranges
that span the index type's bounds.
(expand_case): Avoid unnessary computation and memory allocation
when index type is error_mark_node. Pass index_type as required
by change to add_case_node API. No need to convert case range
bounds to index_type, this is now done by add_case_node.
* gcc.dg/switch-4.c: New test case.
From-SVN: r88881
2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
* gimplify.c (gimple_push_condition): Make sure that we don't
have any saved condition cleanup if we were at the top level.
From-SVN: r88877
* config/frv/frv.md (*adddi3_internal): Change name to...
(adddi3): ...replacing the exisiting define_expand. Combine
alternatives. Fix the range of the constant constraints ('J' instead
of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
to extract the lower and upper halves of the DImode operands.
Always use addi3_lower and adddi3_upper, not the subdi3 forms.
(adddi3_lower): Fix the range of the constant constraints and
remove the bogus operands[2] check.
(adddi3_upper): Use gpr_or_int10_operand as the predicate for
operand 2. Use addxi to handle constant operands.
(subdi3_lower, subdi3_upper): Don't handle constant operands.
From-SVN: r88876
2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/17907
* semantics.c (add_decl_expr): If the decl has a size which
has side effects then the decl expression needs a cleanup point.
2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/17907
* g++.dg/eh/cleanup5.C: New test.
From-SVN: r88867
PR c/17881
* c-decl.c (grokparms): Don't warn for parameters of incomplete
type in declarations that are not definitions except for the case
of parameters of void type.
testsuite:
* parm-incomplete-1.c: New test.
From-SVN: r88850
2004-10-10 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
Give __ret a default value, thus avoiding spurious warnings.
* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
words or linux.words, otherwise exit.
* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
From-SVN: r88848
2004-10-08 Bryce McKinlay <mckinlay@redhat.com>
* java/util/Calendar.java (set): Invalidate DST_OFFSET
field as a DST boundary may have been crossed.
* java/util/GregorianCalendar.java (add): Throw
IllegalArgumentException on attempt to add to DST_OFFSET or
ZONE_OFFSET fields. Update javadoc.
From-SVN: r88847
PR c++/17867
* error.c (dump_expr): Correct handling of AGGR_INIT_EXPRs using a
constructor.
PR c++/17670
* init.c (build_new): Correct comments.
* parser.c (cp_parser_new_expression): Use NULL_TREE for nelts in
the non-array case.
PR c++/17821
* parser.c (cp_parser_postfix_dot_deref_expression): If the
pseduo-destructor-name production does not work, fall back to the
ordinary production.
PR c++/17826
* tree.c (cp_tree_equal): Handle a BASELINK.
PR c++/17687
* g++.dg/parse/error19.C: New test.
PR c++/17670
* g++.dg/init/new11.C: New test.
PR c++/17821
* g++.dg/parse/error20.C: New test.
PR c++/17826
* g++.dg/template/crash24.C: New test.
From-SVN: r88836
PR c/17301
* builtins.c (expand_builtin_va_start): Check for too few
arguments to va_start.
testsuite:
* gcc.dg/pr17301-1.c: New test.
From-SVN: r88835
PR c/17189
* c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
fields a pedwarn. Pedwarn here for unnamed structs/unions if
pedantic.
* c-parse.in (component_decl): Don't pedwarn here for unnamed
fields.
testsuite:
* gcc.dg/anon-struct-5.c: New test.
From-SVN: r88834
2004-10-09 Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/17853
* simplify-rtx.c (simplify_relational_operation): Correct comment.
Reorganize handling of comparison operations with floating point
results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
Likewise, introduce support for comparison operations with vector
result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
* doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
* doc/tm.texi: Likewise.
2004-10-09 Stuart Hastings <stuart@apple.com>
Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/17853
* gcc.dg/i386-mmx-5.c: New testcase.
From-SVN: r88826