2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20847
PR fortran/20856
* symbol.c (check_conflict): Prevent common variables and
function results from having the SAVE attribute,as required
by the standard.
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20847
gfortran.dg/save_common.f90: New test.
PR fortran/20856
gfortran.dg/save_result.f90: New test.
From-SVN: r105325
2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>
* io/unix.c: Remove parts of patch of 2005/10/07 that cause
input from the terminal to hang.
From-SVN: r105324
cp:
PR c++/21592
* pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REF
with already looked up member functions. Assert we're not
returning a NON_DEPENDENT_EXPR with unknown type.
* typeck.c (finish_class_member_access_expr): We can get
non-template-id-expr baselinks. If the lookup finds a baselink,
remember it even inside templates.
testsuite:
PR c++/21592
* g++.dg/template/dependent-expr1.C: Add new expected error.
* g++.dg/template/dependent-expr2.C: Adjust error text.
* g++.dg/template/overload6.C: New.
From-SVN: r105313
cp:
PR c++/23797
* parser.c (cp_parser_functional_cast): Cope when TYPE is not a
TYPE_DECL. Use dependent_type_p to check type.
* pt.c (uses_template_parms_p): Use dependent_type_p for a
TYPE_DECL.
(type_dependent_expression_p): Assert we've not been given a
TYPE_DECL.
testsuite:
PR c++/23797
* g++.dg/other/typename8.C: New.
From-SVN: r105312
cp:
PR c++/21117
* decl.c (check_function_type): Correctly overwrite incomplete
return type with void type.
* typeck.c (check_return_expr): If the function's return type is
void, don't try and convert a return expr.
testsuite:
PR c++/21117
* g++.dg/other/return1.C: New.
From-SVN: r105310
2005-10-12 Paolo Bonzini <bonzini@gnu.org>
PR c++/24052
* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Print
an ADDR_EXPR of a LABEL_DECL as &&.
==> testsuite/ChangeLog <==
2005-10-12 Paolo Bonzini <bonzini@gnu.org>
PR c++/24052
* g++.dg/ext/label5.C: New.
From-SVN: r105297
PR c++/19964
* stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
type.
cp:
PR c++/19964
* cp/class.c (walk_subobject_offsets): Don't walk error_mark_node.
testsuite:
PR c++/19964
* g++.dg/parse/crash31.C: New.
From-SVN: r105293
* gcc.dg/ipa/ipa-1.c: New test.
* gcc.dg/ipa/ipa-2.c: New test.
* gcc.dg/ipa/ipa-3.c: New test.
* gcc.dg/ipa/ipa-4.c: New test.
* gcc.dg/ipa/ipa-5.c: New test.
* gcc.dg/ipa/ipa.exp: New file.
From-SVN: r105291
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24207
* resolve.c (resolve_symbol): Exclude use and host associated
symbols from the test for private objects in a public namelist.
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24207
gfortran.dg/private_type_3.f90: New test.
From-SVN: r105289
* trans-common.c (build_field): Fix comment typo.
(create_common): Set backend_decl of COMMON or EQUIVALENCEd
variables to a VAR_DECL with the COMPONENT_REF in
DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly.
* f95-lang.c (gfc_expand_function): Emit debug info for
EQUIVALENCEd variables if the equiv union is going to be output.
From-SVN: r105288
PR fortran/20786
* iresolve.c (gfc_resolve_aint, gfc_resolve_anint ): Type conversion
of the argument.
gfortran.dg/aint_anint_1.f90: New test.
From-SVN: r105276
PR rtl-optimization/13931
* combine.c: Revert patch of 2003-05-14, and:
(try_combine): Only set elim_i1 and elim_i2 if the destination is
completely killed in the appropriate insn.
(distribute_notes): Don't skip multiple hard register test for
elim_i1 and elim_i2.
From-SVN: r105275
PR libgfortran/24313
* c99_functions.c (csqrtf, csqrt): Fix choice of branch cut. Note
csqrt{f} were imported from glibc, and this bug is still present
there. glibc PR is 1146.
From-SVN: r105274
PR c/24255
* c-typeck.c (convert_for_assignment): Use build_constructor_single
to initialize a transparent union instead of a nop_expr.
From-SVN: r105270
PR c++/21089
* call.c (convert_like_real): Use decl_constant_value, not
integral_constant_value.
* init.c (constant_value_1): New function.
(integral_constant_value): Use it.
(decl_constant_value): Likewise.
* typeck.c (decay_conversion): Use decl_constant_value, not
integral_constant_value.
PR c++/21089
* g++.dg/init/float1.C: New test.
From-SVN: r105256
PR middle-end/24263
* convert.c (convert_to_real): Revert 2005-10-05 patch.
Only apply the optimization for rounding builtins if the inner
cast is also an extension.
From-SVN: r105249
PR c++/21369
* parser.c (cp_parser_elaborated_type_specifier): Don't treat
class types as templates if the type is not appearing as part of a
type definition or declaration.
PR c++/21369
* g++.dg/parse/ret-type3.C: New test.
From-SVN: r105241
* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
for setting MMX register to 0 rather than mmx.
* g++.dg/opt/mmx2.C: New test.
From-SVN: r105230
PR target/12098
* configure.ac: Move gas check from mips specific case to common case.
Do check for GNU as for mips*-*-* and *-*-hpux* targets.
* configure: Regenerate
* doc/install.texi: Update.
From-SVN: r105200
Mark Mitchell <mark@codesourcery.com>
PR c++/23437
* parser.c (cp_parser_template_argument_list): Do not treat
contents of argument list as part of a constant expression.
PR c++/23437
* g++.dg/template/arg4.C: New test.
From-SVN: r105199
PR c++/24275
* pt.c (instantiate_decl): Instantiate the initializer of
a static data member in the namespace containing the class
containing the static data member.
PR c++/24275
* g++.dg/template/static19.C: New test.
From-SVN: r105173