* config/mips/mips-protos.h (mulsidi3_gen_fn): New typedef.
(mips_mulsidi3_gen_fn): Declare new function.
* config/mips/mips.c (mips_mulsidi3_gen_fn): New function.
* config/mips/mips.md (<u>mulsidi3): Change condition to use
mips_mulsidi3_gen_fn. Use mips_mulsidi3_gen_fn to generate the
insn.
(<u>mulsidi3_64bit): Don't match for ISA_HAS_DMUL3.
(mulsidi3_64bit_dmul): New define_insn.
testsuite/
* gcc.target/mips/mult-1.c: Forbid octeon.
* gcc.target/mips/octeon-dmul-3.c: New test.
From-SVN: r154410
PR c++/9050, DR 147, DR 318
* parser.c (cp_parser_lookup_name): If the name matches the explicit
class scope, we're naming the constructor.
(cp_parser_constructor_declarator_p): Just use cp_parser_unqualified_id
if we have a nested-name-specifier.
(cp_parser_direct_declarator): Handle getting an overload set as a
constructor declarator.
(cp_parser_unqualified_id): Avoid looking up the constructor when
naming the destructor.
(cp_parser_diagnose_invalid_type_name): Give good
diagnostic for improper use of constructor as template.
* typeck.c (finish_class_member_access_expr): Give good diagnostic
about calling constructor.
* error.c (dump_aggr_type): Don't print A::A for injected-class-name.
From-SVN: r154403
PR Testsuite/42114
* gcc-dg/c99-stdint-1.c: Condition test for target without signal.h. XFAIL ptrdiff range test for avr.
* gcc-dg/c99-stdint-2.c: XFAIL for avr target.
* gcc-dg/c99-stdint-5.c: Condition test for target without signal.h.
* gcc-dg/c99-stdint-6.c: Ditto.
From-SVN: r154392
* config/i386/i386-builtin-types.awk: New file.
* config/i386/i386-builtin-types.def: New file.
* config/i386/t-i386: Use them to build i386-builtin-types.inc.
* config/i386/i386.c: Include it.
(ix86_builtin_type_tab, ix86_get_builtin_type): New.
(ix86_builtin_func_type_tab, ix86_get_builtin_func_type): New.
(struct builtin_isa): Remove GTY marker. Replace tree type with
ix86_builtin_func_type; add set_and_not_built_p.
(def_builtin): Change type parameter to tcode; use
ix86_get_builtin_func_type; update all callers. Accept zero mask
to mean the builtin is unconditionally available.
(ix86_add_new_builtins): Use set_and_not_built_p instead of type
being set to NULL.
(enum ix86_special_builtin_type, enum ix86_builtin_type): Remove.
Update some users to rationalized enumeration codes from new include.
(enum multi_arg_type): Remove. Replace all enumeration values
with defines to new ix86_builtin_func_type.
(ix86_init_mmx_sse_builtins): Don't build any types here. Defer
all type resolution to def_builtin.
(ix86_init_builtin_types): Split out from ...
(ix86_init_builtins): ... here. Use ix86_get_builtin_func_type.
From-SVN: r154388
gcc/cp/
2009-11-20 Simon Martin <simartin@users.sourceforge.net>
PR c++/38646
* pt.c (process_partial_specialization): Do not turn wrongly located
parameter pack arguments into error_mark_node.
Split too long lines into two.
gcc/testsuite/
2009-11-20 Simon Martin <simartin@users.sourceforge.net>
PR c++/38646
* g++.dg/cpp0x/pr38646.C: New test.
From-SVN: r154378
2009-11-17 Olga Golovanevsky <olga@il.ibm.com>
PR middle-end/39960
* ipa-struct-reorg.c (find_pos_in_stmt): New parameter.
(ref_pos): New field in structure.
(insert_new_var_in_stmt): New function.
From-SVN: r154374
cp/
2009-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42060
* except.c (build_throw): Check the tree returned by
decay_conversion for error_mark_node.
testsuite/
2009-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42060
* g++.dg/cpp0x/initlist28.C: New.
From-SVN: r154371
2009-11-20 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/42104
* trans-expr.c (gfc_conv_procedure_call): If procedure pointer
component call, use the component's 'always_explicit' attr
for array arguments.
2009-11-20 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/42104
* gfortran.dg/proc_ptr_comp_23.f90 : New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r154358
PR c++/42115
* call.c (build_op_delete_call): Don't complain about using
op delete (void *, size_t) for placement delete if there's an
op delete (void *).
From-SVN: r154357
* pex-unix.c (pex_child_error): Define writeerr macro to avoid
unused result warnings from write(3) calls. Undefine writeerr
after all uses.
From-SVN: r154344
2009-11-19 Rafael Avila de Espindola <espindola@google.com>
* g++.dg/plugin/selfassign.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
* gcc.dg/plugin/ggcplug.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
* gcc.dg/plugin/selfassign.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
2009-11-19 Basile Starynkevitch <basile@starynkevitch.net>
Rafael Avila de Espindola <espindola@google.com>
* doc/plugins.texi (Plugin initialization): Added advices for
retrieving the version of GCC at plugin compilation and loading
times.
From-SVN: r154342
2009-11-19 Janus Weil <janus@gcc.gnu.org>
* trans-expr.c (conv_isocbinding_procedure): New function.
(gfc_conv_procedure_call): Move ISO_C_BINDING stuff to
separate function.
From-SVN: r154327