2008-01-08 Richard Guenther <rguenther@suse.de>
PR middle-end/31863
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
out early if the result will be unused.
* g++.dg/torture/pr31863.C: New testcase.
From-SVN: r131405
2008-01-08 Richard Guenther <rguenther@suse.de>
PR fortran/34706
PR tree-optimization/34683
* trans-types.c (gfc_get_array_type_bounds): Use an array type
with known size for accesses if that is known.
From-SVN: r131404
2008-01-08 Paolo Carlini <pcarlini@suse.de>
* testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Do
not include <cassert>.
* testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
Likewise.
* testsuite/util/testsuite_common_types.h: Include <algorithm>.
From-SVN: r131402
2008-01-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34683
* tree-ssa-operands.c (operand_build_cmp): Export.
* tree-ssa-operands.h (operand_build_cmp): Declare.
* tree-vn.c (vuses_compare): Remove.
(sort_vuses): Use operand_build_cmp.
(sort_vuses_heap): Likewise.
* tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
to re-use old VEC if available. Do not sort already sorted VUSEs.
(vdefs_to_vec): Do not sort already sorted VDEFs.
From-SVN: r131400
2008-01-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34476
* expr.c (find_array_element): Check that the array bounds are
constant before using them. Use lower, as well as upper bound.
(check_restricted): Allow implied index variable.
2008-01-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34476
* gfortran.dg/parameter_array_init_3.f90: New test.
From-SVN: r131396
2008-01-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34681
* trans_array.c (gfc_trans_deferred_array): Do not null the
data pointer on entering scope, nor deallocate it on leaving
scope, if the symbol has the 'save' attribute.
PR fortran/34704
* trans_decl.c (gfc_finish_var_decl): Derived types with
allocatable components and an initializer must be TREE_STATIC.
2008-01-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34681
PR fortran/34704
* gfortran.dg/alloc_comp_default_init_1.f90: New test.
From-SVN: r131395
PR target/34682
* config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
negxf2. Macroize expander using X87MODEF mode iterator. Change
predicates of op0 and op1 to register_operand.
(abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize expander
using X87MODEF mode iterator. Change predicates of op0 and op1 to
register_operand.
("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
corresponding patterns and macroize using MODEF macro. Change
predicates of op0 and op1 to register_operand and remove
"m" constraint. Disparage "r" alternative with "!".
("*absneg<mode>2_i387"): Rename from corresponding patterns and
macroize using X87MODEF macro. Change predicates of op0 and op1
to register_operand and remove "m" constraint. Disparage "r"
alternative with "!".
(absneg splitter with memory operands): Remove.
("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
patterns and macroize using X87MODEF mode iterator.
* config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
Change predicate of op1 to register_operand.
* config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
for memory operands.
From-SVN: r131381
libcpp
2008-01-07 Fred Fish <fnf@specifix.com>
PR preprocessor/30363:
* traditional.c (replace_args_and_push): Add local variable
cxtquote, calculate the replacement text size assuming a
worst case of every input character quoted with backslash,
and properly handle output quoting of quote characters in
actual arguments used in function-like macros.
gcc/testsuite
2008-01-07 Fred Fish <fnf@specifix.com>
PR preprocessor/30363:
* gcc.dg/cpp/trad/macroargs.c: Add code to test quoting in
macro expansions.
From-SVN: r131379
2008-01-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34672
* module.c (write_generic): Rewrite completely.
(write_module): Change call to write_generic.
2008-01-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34672
* gfortran.dg/use_only_2.f90: New test.
From-SVN: r131377
2008-01-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34683
* tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
VOPs of the needed size to save memory. Use VEC_quick_push
to save compile-time.
(vdefs_to_vec): Likewise.
From-SVN: r131375
2008-01-07 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/34680
* include/bits/locale_classes.h (has_facet<>, use_facet<>): Do not
use dynamic_cast when run-time type identification is disabled; do
not mark inline; only declare, define...
* include/bits/locale_classes.tcc: ... here.
From-SVN: r131372
2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34659
* scanner.c (load_line): Do not count ' ' as printable when checking for
continuations.
From-SVN: r131371
2008-01-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34545
* module.c (load_needed): If the namespace has no proc_name
give it the module symbol.
2008-01-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34545
* gfortran.dg/use_12.f90: New test.
From-SVN: r131364
2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34387
* trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert
the dummy variable expression, test for NULL, and pass the variable
address to the called function.
From-SVN: r131356