Jan Hubicka [Tue, 29 Jul 2008 17:10:55 +0000 (19:10 +0200)]
c-decl.c (merge_decls): Do not handle DECL_INLINE.
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
(grokdeclarator): Likewise.
* langhooks.c (lhd_warn_unused_global_decl): Use
DECL_DECLARED_INLINE_P.
* print-tree.c (print_node): Remove DECL_INLINE check.
From-SVN: r138258
Richard Guenther [Tue, 29 Jul 2008 17:09:26 +0000 (17:09 +0000)]
re PR tree-optimization/36945 (PRE/SCCVN do not handle aggregate function arguments correctly)
2008-07-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36945
* tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
Record invariant addresses un-decomposed.
(copy_reference_ops_from_call): Record reference call
arguments properly. Simplify.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): New
helper split out from ...
(create_component_ref_by_pieces): ... here. Simplify.
Prepare for recursive invocation for call arguments.
(create_expression_by_pieces): Adjust call to
create_component_ref_by_pieces.
(compute_avail): Process operand 2 of reference ops.
* gcc.dg/tree-ssa/ssa-pre-18.c: New testcase.
From-SVN: r138257
Richard Guenther [Tue, 29 Jul 2008 17:07:42 +0000 (17:07 +0000)]
gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for OBJ_TYPE_REF.
2008-07-29 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for
OBJ_TYPE_REF.
From-SVN: r138256
Paolo Carlini [Tue, 29 Jul 2008 17:06:24 +0000 (17:06 +0000)]
utility: Include <initializer_list>, per the current WP.
2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/utility: Include <initializer_list>, per the current WP.
* testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
don't use -std=gnu++0x unnecessarily.
* testsuite/18_support/numeric_limits/char16_32_t.cc: Use
dg-require-cstdint.
* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
From-SVN: r138255
Jan Hubicka [Tue, 29 Jul 2008 17:02:45 +0000 (19:02 +0200)]
trans.c (process_inlined_subprograms): Remove tree_really_inline check.
* trans.c (process_inlined_subprograms): Remove tree_really_inline
check.
From-SVN: r138254
Jakub Jelinek [Tue, 29 Jul 2008 16:31:18 +0000 (18:31 +0200)]
class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT from ctype's sizes.
* class.c (build_utf8_ref): Set DECL_SIZE and DECL_SIZE_UNIT
from ctype's sizes.
From-SVN: r138252
Jakub Jelinek [Tue, 29 Jul 2008 16:30:32 +0000 (18:30 +0200)]
class.c (build_utf8_ref): Pad initializer string to utf8const_type's alignment.
* class.c (build_utf8_ref): Pad initializer string to utf8const_type's
alignment.
From-SVN: r138251
Jakub Jelinek [Tue, 29 Jul 2008 16:29:33 +0000 (18:29 +0200)]
re PR c++/36852 (Two dimensional array in template method argument list incorrectly interpreted.)
PR c++/36852
* tree.c (cplus_array_hash, build_cplus_array_type_1): Hash on
TYPE_UID instead of pointers.
* g++.dg/pch/array-1.C: New test.
* g++.dg/pch/array-1.Hs: New file.
From-SVN: r138250
Jakub Jelinek [Tue, 29 Jul 2008 16:27:50 +0000 (18:27 +0200)]
* c-format.c (check_format_types): Revert unwanted checkin.
From-SVN: r138249
Arnaud Charlet [Tue, 29 Jul 2008 15:50:16 +0000 (17:50 +0200)]
Resync.
From-SVN: r138248
Arnaud Charlet [Tue, 29 Jul 2008 15:46:37 +0000 (17:46 +0200)]
gcc-interface: New directory.
* gcc-interface: New directory.
* ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
to gcc-interface subdirectory.
From-SVN: r138246
Aaron W. LaFramboise [Tue, 29 Jul 2008 14:10:03 +0000 (08:10 -0600)]
Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
From-SVN: r138245
Jan Hubicka [Tue, 29 Jul 2008 11:00:58 +0000 (13:00 +0200)]
flags.h (flag_really_no_inline): Remove.
* flags.h (flag_really_no_inline): Remove.
* cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
* toplev.c (flag_really_no_inline): Remove.
* c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
* ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
(cgraph_decide_inlining_incrementally): Likewise.
(compute_inline_parameters): Likewise.
* opts.c (decode_options): Simplify.
* c-opts.c (c_common_post_options): Do not set flag_no_inline.
* common.opt (finline): Initialize to 1.
* tree-inline.c (inlinable_function_p): Check flag_no_inline.
* lang.c (java_post_options): Remove handling of flag_no_inline.
* misc.c (gnat_post_options): Do not set flag_no_inline.
* options.c (gfc_post_options): Do not set flag_no_inline.
From-SVN: r138238
Jan Hubicka [Tue, 29 Jul 2008 10:52:16 +0000 (10:52 +0000)]
predict.c (always_optimize_for_size_p): New function.
* predict.c (always_optimize_for_size_p): New function.
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
functions.
(rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
* function.c (prepare_function_start): Set default profile.
* function.h (rtl_data): Add maybe_hot_insn_p.
* cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
(construct_exit_block): Likewise.
(tree_expand_cfg): Likewise.
* basic-block.h
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
optimize_edge_for_size_p, optimize_edge_for_speed_p,
optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
(rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
Declare.
From-SVN: r138237
Jan Hubicka [Tue, 29 Jul 2008 10:49:30 +0000 (12:49 +0200)]
optimize.c (maybe_clone_body): Remove DECL_INLINE.
* optimize.c (maybe_clone_body): Remove DECL_INLINE.
* decl.c (duplicate_decls): Likewise.
(grokfndecl): Likewise.
(start_method): Likewise.
* method.c (make_thunk, make_alias_for, implicitly_declare_fn):
Likewise.
* pt.c (register_specialization, regenerate_decl_from_template):
Likewise.
* decl2.c (grokfield): Likewise.
From-SVN: r138236
Manuel López-Ibáñez [Tue, 29 Jul 2008 10:00:25 +0000 (10:00 +0000)]
re PR c/34985 (Warning "defined but not used" despite __attribute__((__used__)))
2008-07-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 34985
* c-decl.c (merge_decls): Merge USED flags.
cp/
* decl.c (duplicate_decls): Merge USED flags.
testsuite/
* gcc.dg/pr34985.c: New.
* g++.dg/warn/pr34985.C: New.
From-SVN: r138235
Daniel Kraft [Tue, 29 Jul 2008 09:11:51 +0000 (11:11 +0200)]
re PR fortran/36403 (Some fortran tests using eoshift fail on SH)
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* trans-intrinsic.c (conv_generic_with_optional_char_arg): New method
to append a string-length even if the string argument is missing, e.g.
for EOSHIFT.
(gfc_conv_intrinsic_function): Call the new method for EOSHIFT, PACK
and RESHAPE.
2008-07-29 Daniel Kraft <d@domob.eu>
PR fortran/36403
* gfortran.dg/char_eoshift_5.f90: New test.
* gfortran.dg/intrinsic_optional_char_arg_1.f90: New test.
From-SVN: r138234
Kaz Kojima [Tue, 29 Jul 2008 09:07:49 +0000 (09:07 +0000)]
sh.c (sh_gimplify_va_arg_expr): Unshare the addr...
* config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
next_stack, lab_false and lab_over trees.
From-SVN: r138233
Kaveh R. Ghazi [Tue, 29 Jul 2008 00:45:52 +0000 (00:45 +0000)]
gfortran.h (try): Remove macro.
* gfortran.h (try): Remove macro. Replace try with gfc_try
throughout.
* array.c: Likewise.
* check.c: Likewise.
* cpp.c: Likewise.
* cpp.h: Likewise.
* data.c: Likewise.
* data.h: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* intrinsic.h: Likewise.
* io.c: Likewise.
* match.h: Likewise.
* parse.c: Likewise.
* parse.h: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* trans-openmp.c: Likewise.
* trans-types.c: Likewise.
From-SVN: r138226
GCC Administrator [Tue, 29 Jul 2008 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138224
Jason Merrill [Tue, 29 Jul 2008 00:06:08 +0000 (20:06 -0400)]
re PR c++/36943 ([c++0x] Use of nested C++0x initializer list for non-aggregate rejected)
PR c++/36943
* decl.c (reshape_init_r): Allow C++0x initializer lists.
From-SVN: r138221
Paolo Carlini [Mon, 28 Jul 2008 23:28:16 +0000 (23:28 +0000)]
re PR libstdc++/36949 ([C++0x] make_shared does not initialize enable_shared_from_this' internal shared_count)
2008-07-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/36949
* include/tr1_impl/boost_shared_ptr.h
(__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
__enable_shared_from_this_helper.
* testsuite/20_util/shared_ptr/creation/36949.cc: New.
From-SVN: r138219
Richard Guenther [Mon, 28 Jul 2008 20:32:32 +0000 (20:32 +0000)]
re PR ada/36957 (ACATS
ce3801b ICE emit_move_insn, at expr.c:3381 post tuple merge)
2008-07-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36957
* tree-flow.h (tree_ssa_useless_type_conversion): Remove.
(useless_type_conversion_p): Remove.
(types_compatible_p): Remove.
* gimple.h (tree_ssa_useless_type_conversion): Declare.
(useless_type_conversion_p): Declare.
(types_compatible_p): Declare.
(gimple_expr_type): Return the base type only if it is
trivially convertible to the subtype.
From-SVN: r138217
Andreas Tobler [Mon, 28 Jul 2008 20:30:00 +0000 (20:30 +0000)]
configure.ac: Use the m4_do macro to concatenate the warnings into one string in...
2008-07-28 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Use the m4_do macro to concatenate the warnings into
one string in ACX_PROG_CC_WARNING_OPTS,
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
* configure: Regenerate.
From-SVN: r138216
Aldy Hernandez [Mon, 28 Jul 2008 19:50:50 +0000 (19:50 +0000)]
fix typo
From-SVN: r138215
Ilie Garbacea [Mon, 28 Jul 2008 18:47:44 +0000 (18:47 +0000)]
configure.tgt: Enable futex for MIPS.
* configure.tgt: Enable futex for MIPS.
* config/linux/mips/futex.h: New file.
Co-Authored-By: Chao-ying Fu <fu@mips.com>
From-SVN: r138214
Richard Guenther [Mon, 28 Jul 2008 18:29:04 +0000 (18:29 +0000)]
tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
2008-07-28 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
(insert_fake_stores): Remove.
(realify_fake_stores): Likewise.
(execute_pre): Remove dead code.
* tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary
case.
(find_func_aliases): Deal with it here instead.
Re-enable gcc_unreachable call.
From-SVN: r138213
Aldy Hernandez [Mon, 28 Jul 2008 17:37:05 +0000 (17:37 +0000)]
MAINTAINERS: Add Jakub and myself as gimple maintainers.
* MAINTAINERS: Add Jakub and myself as gimple maintainers.
From-SVN: r138211
Tobias Burnus [Mon, 28 Jul 2008 16:02:51 +0000 (18:02 +0200)]
Make-lang.in: Remove -Wno-* from fortran-warn.
2008-07-28 Tobias Burnus <burnus@net-b.de>
* Make-lang.in: Remove -Wno-* from fortran-warn.
From-SVN: r138208
Richard Biener [Mon, 28 Jul 2008 14:33:56 +0000 (14:33 +0000)]
backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
2008-07-28 Richard Guenther <rguenther@suse.de>
Merge from gimple-tuples-branch.
* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
* gimple.def: New file.
* gsstruct.def: Likewise.
* gimple-iterator.c: Likewise.
* gimple-pretty-print.c: Likewise.
* tree-gimple.c: Removed. Merged into ...
* gimple.c: ... here. New file.
* tree-gimple.h: Removed. Merged into ...
* gimple.h: ... here. New file.
* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
--enable-checking=gimple flag.
* config.in: Likewise.
* configure: Regenerated.
* tree-ssa-operands.h: Tuplified.
* tree-vrp.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-dump.c: Likewise.
* tree-complex.c: Likewise.
* cgraphbuild.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-pretty-print.c: Likewise.
* tracer.c: Likewise.
* gengtype.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* value-prof.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-tailcall.c: Likewise.
* value-prof.h: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* tree-pass.h: Likewise.
* ipa-cp.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-scalar-evolution.h: Likewise.
* target.h: Likewise.
* lambda-mat.c: Likewise.
* tree-phinodes.c: Likewise.
* diagnostic.h: Likewise.
* builtins.c: Likewise.
* tree-ssa-alias-warnings.c: Likewise.
* cfghooks.c: Likewise.
* fold-const.c: Likewise.
* cfghooks.h: Likewise.
* omp-low.c: Likewise.
* tree-ssa-dse.c: Likewise.
* ipa-reference.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* toplev.c: Likewise.
* tree-gimple.c: Likewise.
* tree-gimple.h: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sccvn.h: Likewise.
* cgraphunit.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-call-cdce.c: Likewise.
* ipa-pure-const.c: Likewise.
* c-format.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-nrv.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* ipa-utils.c: Likewise.
* tree-ssa-propagate.h: Likewise.
* tree-ssa-alias.c: Likewise.
* gimple-low.c: Likewise.
* tree-ssa-sink.c: Likewise.
* ipa-inline.c: Likewise.
* c-semantics.c: Likewise.
* dwarf2out.c: Likewise.
* expr.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* predict.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-parloops.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* matrix-reorg.c: Likewise.
* c-decl.c: Likewise.
* tree-eh.c: Likewise.
* c-pretty-print.c: Likewise.
* lambda-trans.c: Likewise.
* function.c: Likewise.
* langhooks.c: Likewise.
* ebitmap.h: Likewise.
* tree-vectorizer.c: Likewise.
* function.h: Likewise.
* langhooks.h: Likewise.
* tree-vectorizer.h: Likewise.
* ipa-type-escape.c: Likewise.
* ipa-type-escape.h: Likewise.
* domwalk.c: Likewise.
* tree-if-conv.c: Likewise.
* profile.c: Likewise.
* domwalk.h: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-flow-inline.h: Likewise.
* tree-affine.c: Likewise.
* tree-vect-analyze.c: Likewise.
* c-typeck.c: Likewise.
* gimplify.c: Likewise.
* coretypes.h: Likewise.
* tree-ssa-phiopt.c: Likewise.
* calls.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree.def: Likewise.
* tree-dfa.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* cfgexpand.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-predcom.c: Likewise.
* lambda.h: Likewise.
* tree-mudflap.c: Likewise.
* ipa-prop.c: Likewise.
* print-tree.c: Likewise.
* tree-ssa-copy.c: Likewise.
* ipa-prop.h: Likewise.
* tree-ssa-forwprop.c: Likewise.
* ggc-page.c: Likewise.
* c-omp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-nested.c: Likewise.
* tree-ssa.c: Likewise.
* lambda-code.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-inline.c: Likewise.
* tree-inline.h: Likewise.
* tree-iterator.c: Likewise.
* tree-optimize.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-vect-transform.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* cfgloop.c: Likewise.
* system.h: Likewise.
* tree-profile.c: Likewise.
* cfgloop.h: Likewise.
* c-gimplify.c: Likewise.
* c-common.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-flow.h: Likewise.
* c-common.h: Likewise.
* basic-block.h: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-ssa-structalias.h: Likewise.
* tree-cfg.c: Likewise.
* passes.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa-struct-reorg.h: Likewise.
* tree-ssa-reassoc.c: Likewise.
* cfgrtl.c: Likewise.
* varpool.c: Likewise.
* stmt.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* langhooks-def.h: Likewise.
* tree-ssa-operands.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/frv/frv.c: Likewise.
* config/s390/s390.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32c/m32c-protos.h: Likewise.
* config/spu/spu.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/i386/i386.c: Likewise.
* config/sh/sh.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/pa/pa.c: Likewise.
* config/mips/mips.c: Likewise.
From-SVN: r138207
Simon Baldwin [Mon, 28 Jul 2008 11:55:11 +0000 (11:55 +0000)]
c-pragma.c (handle_pragma_message): New function.
* c-pragma.c (handle_pragma_message): New function.
(init_pragma): Register handle_pragma_message.
* doc/extend.texi (Diagnostic Pragmas): Added #pragma message
documentation.
* gcc.dg/pragma-message.c: New.
From-SVN: r138206
GCC Administrator [Mon, 28 Jul 2008 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138201
Victor Kaplansky [Sun, 27 Jul 2008 21:44:25 +0000 (21:44 +0000)]
re PR tree-optimization/35252 (No vectorization for complex arrays)
2008-07-27 Victor Kaplansky <victork@il.ibm.com>
PR tree-optimization/35252
* tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
REALPART_EXPR to be considered as same load operation.
testsuite
PR tree-optimization/35252
* gcc.dg/vect/vect-complex-1.c, gcc.dg/vect/vect-complex-2.c,
gcc.dg/vect/fast-math-vect-complex-3.c,
gcc.dg/vect/vect-complex-4.c: New tests.
From-SVN: r138198
H.J. Lu [Sun, 27 Jul 2008 17:40:04 +0000 (17:40 +0000)]
re PR c++/36944 (Revision 138123 breaks constructors with default arguments)
gcc/cp/
2008-07-27 H.J. Lu <hongjiu.lu@intel.com>
PR c++/36944
* class.c (type_has_user_provided_default_constructor): Handle
default parameters.
gcc/testsuite/
2008-07-27 H.J. Lu <hongjiu.lu@intel.com>
PR c++/36944
* g++.dg/other/pr36944.C: New.
From-SVN: r138194
Eric Botcazou [Sun, 27 Jul 2008 16:55:31 +0000 (16:55 +0000)]
re PR tree-optimization/36830 (STORAGE_ERROR raised compiling s-os_lib.adb)
PR tree-optimization/36830
* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
(expressions_equal_p): Return false if only one operand is null.
From-SVN: r138191
Daniel Franke [Sun, 27 Jul 2008 16:32:14 +0000 (12:32 -0400)]
re PR fortran/36724 (ICE: (character pointer targets substring))
2008-07-27 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36724
* gfortran.dg/pointer_to_substring.f90: New test.
From-SVN: r138190
Paolo Carlini [Sun, 27 Jul 2008 15:49:12 +0000 (15:49 +0000)]
decl.c (push_library_fn): Add a parameter for the exceptions that the function may throw.
2008-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (push_library_fn): Add a parameter for the exceptions that
the function may throw.
(push_void_library_fn, push_throw_library_fn, expand_static_init):
Adjust.
(build_library_fn): Change to static.
* cp-tree.h: Adjust declarations.
* except.c (declare_nothrow_library_fn): New.
(do_get_exception_ptr, do_begin_catch, do_free_exception,
do_allocate_exception): Use the latter, adjust the declarations
(ie, add empty exception-specification), consistently with the
actual implementation in libsupc++.
From-SVN: r138189
Tobias Burnus [Sun, 27 Jul 2008 10:45:44 +0000 (12:45 +0200)]
re PR fortran/36132 (_gfortran_internal_pack on optional arguments)
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* trans.c (gfc_trans_runtime_check): Allow run-time warning
* besides
run-time error.
* trans.h (gfc_trans_runtime_check): Update declaration.
* trans-array.c
* (gfc_trans_array_ctor_element,gfc_trans_array_bound_check,
gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias):
Updated gfc_trans_runtime_check calls.
(gfc_conv_array_parameter): Implement flag_check_array_temporaries,
fix packing/unpacking for nonpresent optional actuals to optional
formals.
* trans-array.h (gfc_conv_array_parameter): Update declaration.
* trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign,
gfc_conv_function_call): Updated gfc_trans_runtime_check calls.
(gfc_conv_function_call): Update gfc_conv_array_parameter calls.
* trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check
calls.
* trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto.
(gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for
gfc_conv_array_parameter.
* trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto.
* trans-decl.c (gfc_build_builtin_function_decls): Add
gfor_fndecl_runtime_warning_at.
* lang.opt: New option fcheck-array-temporaries.
* gfortran.h (gfc_options): New flag_check_array_temporaries.
* options.c (gfc_init_options, gfc_handle_option): Handle flag.
* invoke.texi: New option fcheck-array-temporaries.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* runtime/error.c: New function runtime_error_at.
* gfortran.map: Ditto.
* libgfortran.h: Ditto.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
gfortran.dg/internal_pack_4.f90: New.
gfortran.dg/internal_pack_5.f90: New.
gfortran.dg/array_temporaries_2.f90: New.
From-SVN: r138186
GCC Administrator [Sun, 27 Jul 2008 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138184
Gerald Pfeifer [Sat, 26 Jul 2008 21:41:15 +0000 (21:41 +0000)]
install.texi (powerpc-*-netbsd*): Remove redundant texinfo version requirements.
* doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
version requirements.
From-SVN: r138181
Eric Botcazou [Sat, 26 Jul 2008 19:03:37 +0000 (19:03 +0000)]
Fix nits.
From-SVN: r138180
Olivier Hainque [Sat, 26 Jul 2008 14:26:45 +0000 (14:26 +0000)]
collect2.c (symkind): New enum.
* collect2.c (symkind): New enum. Symbol kinds we care about.
(is_ctor_dtor): Return symkind instead of int. Adjust prototype,
code and head comment accordingly.
(scan_prog_file): Use symkind names instead of bare integers.
From-SVN: r138179
Thomas Koenig [Sat, 26 Jul 2008 10:30:50 +0000 (10:30 +0000)]
re PR fortran/36934 (Spurious "ambiguous reference to...ERROR"/ICE)
2008-07-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36934
* gfortran.dg/allocatable_module_1.f90: New test case.
From-SVN: r138167
Jan Hubicka [Sat, 26 Jul 2008 10:03:01 +0000 (12:03 +0200)]
cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
* cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
* cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
(cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
* dojump.c (clear_pending_stack_adjust): Likewise.
* print-tree.c (print_node): Ignore DECL_INLINE.
* tree-inline.c (inlinable_function_p): Likewise.
From-SVN: r138165
GCC Administrator [Sat, 26 Jul 2008 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138159
Michael Meissner [Fri, 25 Jul 2008 23:44:24 +0000 (23:44 +0000)]
Fix IA-64 breakage...
Fix IA-64 breakage; Make hot/cold optimization conversation port specific; Move
disabling of scheduling from OVERRIDE_OPTIONS to OPTIMIZATION_OPTIONS
Files modified:
gcc/doc/extend.texi
gcc/doc/tm.texi
gcc/target.h
gcc/ChangeLog
gcc/testsuite/gcc.target/i386/cmov8.c
gcc/testsuite/gcc.target/i386/funcspec-10.c
gcc/testsuite/gcc.target/i386/funcspec-11.c
gcc/testsuite/ChangeLog
gcc/target-def.h
gcc/c-common.c
gcc/config/i386/i386.c
gcc/config/ia64/ia64.c
From-SVN: r138154
Jan Hubicka [Fri, 25 Jul 2008 21:05:23 +0000 (21:05 +0000)]
Fix changelog entry of my earlier commit.
From-SVN: r138151
Jan Hubicka [Fri, 25 Jul 2008 21:03:34 +0000 (23:03 +0200)]
typeck.c (inline_conversion): Remove.
* typeck.c (inline_conversion): Remove.
(cp_build_function_call): Do not use inline_conversion.
* decl.c (duplicate_decls): Do not insist on inline being declared
early.
(start_cleanup_fn): Do not assume that INLINE flags prevent function
from being output. We now remove static functions always.
(finish_function): Do return warning on all static functions.
* call.c (build_over_call): Do not use inline_conversion.
* cp-tree.h (possibly_inlined_p): Declare.
(inline_conversion): Remove.
* pt.c (instantiate_decl): Use possibly_inlined_p predicate.
* decl2.c (cp_write_global_declarations): Likewise.
(mark_used): Likewise.
(possibly_inlined_p): New functions.
From-SVN: r138150
Martin Jambor [Fri, 25 Jul 2008 20:30:35 +0000 (22:30 +0200)]
re PR tree-optimization/36926 (Revision 138092 breaks building of xalancbmk)
2008-07-25 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/36926
* ipa-prop.c (ipa_analyze_call_uses): Call
ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
From-SVN: r138148
Joseph Myers [Fri, 25 Jul 2008 16:21:05 +0000 (17:21 +0100)]
iwmmxt.md (movv8qi_internal, [...]): Add mem = reg alternative.
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Add mem = reg alternative.
From-SVN: r138146
Andreas Tobler [Fri, 25 Jul 2008 15:59:12 +0000 (15:59 +0000)]
re PR bootstrap/36918 (Bootstrap failure on sparc: assertion failure in options.c)
2008-07-25 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/36918
* config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
DEFAULT_PCC_STRUCT_RETURN to 127.
From-SVN: r138145
Joseph Myers [Fri, 25 Jul 2008 15:49:36 +0000 (16:49 +0100)]
target-supports.exp (check_effective_target_arm_thumb1_ok): New.
* lib/target-supports.exp (check_effective_target_arm_thumb1_ok):
New.
* g++.dg/inherit/thunk8.C: Use it.
From-SVN: r138143
Jason Merrill [Fri, 25 Jul 2008 15:18:16 +0000 (11:18 -0400)]
class.c (type_has_user_provided_default_constructor): Handle templates.
* class.c (type_has_user_provided_default_constructor): Handle
templates.
From-SVN: r138142
Jan Hubicka [Fri, 25 Jul 2008 14:25:39 +0000 (14:25 +0000)]
Remove files that was intended to be removed in last commit.
From-SVN: r138141
Jan Hubicka [Fri, 25 Jul 2008 13:11:32 +0000 (15:11 +0200)]
cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
* cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
(build_cgraph_edges): Likewise.
* cgraph.c (cgraph_node): Do not update assembler hash.
(cgraph_remove_node): Drop non-unit-at-a-time code.
* tree-pass.h (pass_O0_always_inline): Remove.
* ipa-reference.c (gate_reference): Remove unit-at-a-time check.
* toplev.c (process_options): Flag unit-at-a-time does not imply
no section anchors.
* cgraphunit.c: Update comments.
(decide_is_function_needed): Drop non-unit-at-a-time mode.
(cgraph_assemble_pending_functions): Remove.
(cgraph_reset_node): Drop non-unit-at-a-time code.
(cgraph_finalize_function): Likewise.
(cgraph_analyze_function): Likewise.
(cgraph_finalize_compilation_unit): Likewise.
(cgraph_expand_function): Likewise.
(cgraph_optimize): Likesise.
(save_inline_function_body): Likewise.
* ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
* tree-ssa-alias.c (maybe_be_aliased): Likewise.
* ipa-inline.c: Update comments.
(enum inlining_mode): remove INLINE_SPEED.
(cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
(cgraph_mark_inline_edge): Likewise.
(try_inline): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_gate_inlining): Remove.
(cgraph_early_inlining): Remove flag_unit_at_a_time checks.
(cgraph_gate_early_inlining): Likewise.
(gate_inline_passes): Remove.
(pass_inline_parameters, pass_ipa_inline): Remove gates.
(cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
pass_O0_always_inline): Remove.
* c-pch.c (c_pch_matching): Remove -funit-at-a-time.
* dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
* opts.c (no_unit_at_a_time_default): Remove.
(decode_options): Remove flag_unit_at_a_time reset and warning.
* opts.h (no_unit_at_a_time_default): Remove.
* c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
early in GNU dialect.
(merge_decls): Update comment; drop unit-at-a-time check.
(finish_decl): Likewise.
(grok_declaration): Remove flag_inline_trees code.
(finish_functions): Return on function returning non-void on all
statics.
* ipa-tye-escape.c (gate_type_escape_vars): Remove.
* cfgexpand.c (expand_one_static_var): Remove.
(expand_one_var): Remove expand_one_static_var call.
(expand_used_vars_for_block): Remove flag_unit_a_time check.
* c-opts.c (c_common_post_options): Remove flag_inline_trees code
and flag_unit_at_a-time compatibility checks.
* varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
* tree-inline.c (flag_inline_trees): Remove.
(inlinable_function_p): Don't check it.
(expand_call_inline): Remove non-unit-at-a-time code.
* tree-inline.h (flag_inline_trees): Remove.
* tree-optimize.c (execute_early_local_optimizations): Remove
unit-at-a-time checks.
(tree_rest_of_compilation): Likewise.
* combine.c (setup_incoming_promotions): Likewise.
* tree-profile.c (tree_gen_ic_func_profiler): Likewise.
* tree-ssa-structalias.c (delete_points_to_sets): Likewise.
* passes.c (pass_inline_parameters): Update comments; remove
O0_alwaysinline pass.
(execute_one_ipa_transform_pass): Do not reset in_gimple_form.
(execute_one_pass): Likewise.
* i386.c (ix86_function_regparm): Remove unit-at-a-time check.
(ix86_function_sseregparm): Likewise.
* arm.c (arm_function_in_section_p): Likewise.
* bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
* varpool.c: Update comments.
(decide_is_variable_needed): Remove unit-at-a-time checks.
(varpool_finalize_decl): Likewise.
* ada/utils.c (end_subprog_body): Remove inline trees check.
* ada/misc.c (gnat_post_options): Do not set flag_inline_trees.
* fortran/options.c (gfc_post_options): Remove flag_unline_trees code.
* gcc.dg/winline-4.c: Remove.
* gcc.dg/pch/valid-3.hs: Remove.
* gcc.dg/pch/valid-3.c: Remove.
* g++.old-deja/g++.brendan/crash52.C: Accept returning void warning
* g++.old-deja/g++.jason/report.C: Likewise.
* testsuite/g++.dg/warn/pr23075.C: We get returning void warning
instead of control flow warning.
* cp/decl.c (duplicate_decls): Update comment and unit-at-a-time.
(grogfndecl): Drop flag_inline_trees code.
* cp/pt.c (instantiate_decl): Drop flag_iline_trees code.
* cp/lex.c (cxx_init): Do not set unit-at-a-time.
* java/decl.c: Include cgraph.h
(end_java_method): Remove non-unit-at-a-time code.
(java_mark_decl_local): Likewise; sanity check that we don't touch
finalized nodes.
From-SVN: r138140
Rainer Orth [Fri, 25 Jul 2008 12:27:29 +0000 (12:27 +0000)]
* raise-gcc.c: Move tsystem.h before tm.h.
From-SVN: r138139
GCC Administrator [Fri, 25 Jul 2008 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138131
Kaz Kojima [Fri, 25 Jul 2008 00:14:57 +0000 (00:14 +0000)]
sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer to 2 instead of -1.
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
to 2 instead of -1.
(OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal
to 2.
From-SVN: r138128
Paolo Carlini [Thu, 24 Jul 2008 22:47:26 +0000 (22:47 +0000)]
re PR libstdc++/36924 (mt_allocator/deallocate_local_thread-5.cc and ext/mt_allocator/deallocate_local_thread-7.cc fail sometimes)
2008-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/36924
Revert:
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
Holds the lib that defines clock_gettime (-lrt or -lposix4).
* src/Makefile.am: Use it.
* configure: Regenerate.
* configure.in: Likewise.
* Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* libsup++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
From-SVN: r138127
Jason Merrill [Thu, 24 Jul 2008 19:15:00 +0000 (15:15 -0400)]
Implement defaulted/deleted functions as per N2346
Implement defaulted/deleted functions as per N2346
* cp-tree.h (struct lang_decl_flags): Add defaulted_p bitfield.
(DECL_DELETED_FN): New macro.
(DECL_DEFAULTED_FN): New macro.
* class.c (user_provided_p): New fn.
(defaultable_fn_p): New fn.
(type_has_user_provided_constructor): New fn.
(type_has_user_provided_default_constructor): New fn.
(check_methods): A defaulted fn is still trivial.
(check_bases_and_members): Likewise.
* decl.c (grok_special_member_properties): Likewise.
(duplicate_decls): Complain about redeclaring a function as deleted.
(start_decl): initialized==2 means deleted.
(cp_finish_decl): Handle deleted/defaulted semantics.
* decl2.c (grokfield): Likewise.
(mark_used): Check DECL_DEFAULTED_FN instead of DECL_ARTIFICIAL.
Complain about using a deleted fn.
* init.c (build_value_init_1): Use type_has_user_provided_constructor.
(perform_member_init): Check for a user-provided default constructor
even if TYPE_NEEDS_CONSTRUCTING.
(build_new_1): Likewise.
* call.c (build_over_call): Don't call mark_used twice.
* method.c (implicitly_declare_fn): Set DECL_DEFAULTED_FN.
* search.c (check_final_overrider): Check for deleted mismatch.
* parser.c (cp_parser_init_declarator): Tell start_decl about =delete.
(cp_parser_pure_specifier): Handle =default and =delete.
* error.c (maybe_warn_cpp0x): Suggest -std=gnu++0x as well.
From-SVN: r138123
Daniel Kraft [Thu, 24 Jul 2008 18:52:51 +0000 (20:52 +0200)]
re PR fortran/33141 (Intrinsic procedures: Improve warning/error with -std=*)
2008-07-24 Daniel Kraft <d@domob.eu>
PR fortran/33141
* lang.opt (Wnonstd-intrinsics): Removed option.
(Wintrinsics-std), (Wintrinsic-shadow): New options.
* invoke.texi (Option Summary): Removed -Wnonstd-intrinsics
from the list and added -Wintrinsics-std and -Wintrinsic-shadow.
(Error and Warning Options): Documented the new options and removed
the documentation for -Wnonstd-intrinsics.
* gfortran.h (gfc_option_t): New members warn_intrinsic_shadow and
warn_intrinsics_std, removed warn_nonstd_intrinsics.
(gfc_is_intrinsic): Renamed from gfc_intrinsic_name.
(gfc_warn_intrinsic_shadow), (gfc_check_intrinsic_standard): New.
* decl.c (match_procedure_decl): Replaced gfc_intrinsic_name by
the new name gfc_is_intrinsic.
(warn_intrinsic_shadow): New helper method.
(gfc_match_function_decl), (gfc_match_subroutine): Call the new method
warn_intrinsic_shadow to check the just-parsed procedure.
* expr.c (check_init_expr): Call new gfc_is_intrinsic to check whether
the function called is really an intrinsic in the selected standard.
* intrinsic.c (gfc_is_intrinsic): Renamed from gfc_intrinsic_name and
extended to take into account the selected standard settings when trying
to find out whether a symbol is an intrinsic or not.
(gfc_check_intrinsic_standard): Made public and extended.
(gfc_intrinsic_func_interface), (gfc_intrinsic_sub_interface): Removed
the calls to check_intrinsic_standard, this check now happens inside
gfc_is_intrinsic.
(gfc_warn_intrinsic_shadow): New method defined.
* options.c (gfc_init_options): Initialize new warning flags to false
and removed intialization of Wnonstd-intrinsics flag.
(gfc_post_options): Removed logic for Wnonstd-intrinsics flag.
(set_Wall): Set new warning flags and removed Wnonstd-intrinsics flag.
(gfc_handle_option): Handle the new flags and removed handling of the
old Wnonstd-intrinsics flag.
* primary.c (gfc_match_rvalue): Replaced call to gfc_intrinsic_name by
the new name gfc_is_intrinsic.
* resolve.c (resolve_actual_arglist): Ditto.
(resolve_generic_f), (resolve_unknown_f): Ditto.
(is_external_proc): Ditto.
(resolve_generic_s), (resolve_unknown_s): Ditto.
(resolve_symbol): Ditto and ensure for symbols declared INTRINSIC that
they are really available in the selected standard setting.
2008-07-24 Daniel Kraft <d@domob.eu>
PR fortran/33141
* gfortran.dg/intrinsic_shadow_1.f03: New test for -Wintrinsic-shadow.
* gfortran.dg/intrinsic_shadow_2.f03: Ditto.
* gfortran.dg/intrinsic_shadow_3.f03: Ditto.
* gfortran.dg/intrinsic_std_1.f90: New test for -Wintrinsics-std.
* gfortran.dg/intrinsic_std_2.f90: Ditto.
* gfortran.dg/intrinsic_std_3.f90: Ditto.
* gfortran.dg/intrinsic_std_4.f90: Ditto.
* gfortran.dg/warn_std_1.f90: Removed option -Wnonstd-intrinsics.
* gfortran.dg/warn_std_2.f90: Replaced -Wnonstd-intrinsics by
-Wintrinsics-std and adapted expected errors/warnings.
* gfortran.dg/warn_std_3.f90: Ditto.
* gfortran.dg/c_sizeof_2.f90: Adapted expected error/warning message.
* gfortran.dg/gamma_2.f90: Ditto.
* gfortran.dg/selected_char_kind_3.f90: Ditto.
* gfortran.dg/fmt_g0_2.f08: Call with -fall-intrinsics to allow abort.
From-SVN: r138122
Daniel Kraft [Thu, 24 Jul 2008 16:06:55 +0000 (18:06 +0200)]
match.c (gfc_match): Add assertion to catch wrong calls trying to match upper-case characters.
2008-07-24 Daniel Kraft <d@domob.eu>
* match.c (gfc_match): Add assertion to catch wrong calls trying to
match upper-case characters.
From-SVN: r138120
Kai Tietz [Thu, 24 Jul 2008 15:47:17 +0000 (15:47 +0000)]
i386.c (get_dllimport_decl): Treat user_label_prefix for imp symbol extension.
2008-07-24 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
imp symbol extension.
From-SVN: r138119
Thomas Koenig [Thu, 24 Jul 2008 09:26:43 +0000 (09:26 +0000)]
re PR fortran/29952 (Flag to give runtime information " array temporary was created for argument")
2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/29952
* gfortran.h: Add "warn_array_temp" to gfc_option_t.
* lang.opt: Add -Warray-temporaries.
* invoke.texi: Document -Warray-temporaries
* trans-array.h (gfc_trans_create_temp_array): Add argument of
type *locus.
(gfc_conv_loop_setup): Likewise.
* trans-array.c (gfc_trans_create_temp_array): If
-Warray-temporaries is given and locus is present, warn about
creation of array temporaries.
(gfc_trans_array_constructor_subarray): Add locus to call
of gfc_conv_loop_setup.
(gfc_trans_array_constructor): Add where argument. Pass where
argument to call of gfc_trans_create_temp_array.
(gfc_add_loop_ss_code): Add where argument. Pass where argument
to recursive call of gfc_add_loop_ss_code and to call of
gfc_trans_array_constructor.
(gfc_conv_loop_setup): Add where argument. Pass where argument
to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array.
(gfc_conv_expr_descriptor): Pass location to call of
gfc_conv_loop_setup.
(gfc_conv_array_parameter): If -Warray-temporaries is given,
warn about creation of temporary arrays.
* trans-expr.c (gfc_conv_subref_array_arg): Add where argument
to call to gfc_conv_loop_setup.
(gfc_conv_function_call): Add where argument to call to
gfc_trans_creat_temp_array.
(gfc_trans_subarray_assign): Likewise.
(gfc_trans_assignment_1): Add where argument to call to
gfc_conv_loop_setup.
* trans-stmt.c (gfc_conv_elemental_dependencies): Add where
argument to call to gfc_trans_create_temp_array.
(gfc_trans_call): Add where argument to call to gfc_conv_loop_setup.
(generate_loop_for_temp_to_lhs): Likewise.
(generate_loop_for_rhs_to_temp): Likewise.
(compute_inner_temp_size): Likewise.
(gfc_trans-pointer_assign_need_temp): Likewise.
(gfc_evaluate_where_mask): Likewise.
(gfc_trans_where_assign): Likewise.
(gfc_trans_where_3): Likewise.
* trans-io.c (transfer_srray_component): Add where argument
to function. Add where argument to call to gfc_conv_loop_setup.
(transfer_expr): Add where argument to call to
transfer_array_component.
(gfc_trans_transfer): Add where expression to call to
gfc_conv_loop_setup.
* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Add
where argument to call to gfc_conv_loop_setup.
(gfc_conv_intrinsic_count): Likewise.
(gfc_conv_intrinsic_arith): Likewise.
(gfc_conv_intrinsic_dot_product): Likewise.
(gfc_conv_intrinsic_minmaxloc): Likewise.
(gfc_conv_intrinsic_minmaxval): Likewise.
(gfc_conv_intrinsic_array_transfer): Warn about
creation of temporary array.
Add where argument to call to gfc_trans_create_temp_array.
* options.c (gfc_init_options): Initialize gfc_option.warn_array_temp.
(gfc_handle_option): Set gfc_option.warn_array_temp.
2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/29952
* gfortran.dg/array_temporaries_1.f90: New test case.
From-SVN: r138112
Ralf Wildenhues [Thu, 24 Jul 2008 06:35:21 +0000 (06:35 +0000)]
maint-tool (deps): Output config.h instead of stamp-h.
libiberty/
* maint-tool (deps): Output config.h instead of stamp-h.
* Makefile.in: Rebuild deps.
(maintainer-clean-subdir): Depend on stamp-h rather than config.h.
Reverts 2007-07-11 change.
From-SVN: r138110
Ian Lance Taylor [Thu, 24 Jul 2008 04:51:12 +0000 (04:51 +0000)]
tree-vrp.c (infer_value_range): Ignore asm statements when looking for memory accesses for...
./: * tree-vrp.c (infer_value_range): Ignore asm statements when
looking for memory accesses for -fdelete-null-pointer-checks.
testsuite/:
* gcc.target/i386/
20080723-1.c: New test.
From-SVN: r138107
Ben Elliston [Thu, 24 Jul 2008 03:59:55 +0000 (03:59 +0000)]
spu-c.c (__vector_keyword): New variable.
gcc/
* config/spu/spu-c.c (__vector_keyword): New variable.
(vector_keyword): Likewise.
(spu_categorize_keyword): New function.
(spu_macro_to_expand): Likewise.
(spu_cpu_cpp_builtins): Enable context-sensitive macros if not
compiling an ISO C dialect.
gcc/testsuite/
* gcc.target/spu/vector.c: New test.
* gcc.target/spu/vector-ansi.c: Likewise.
From-SVN: r138106
Ben Elliston [Thu, 24 Jul 2008 03:35:02 +0000 (03:35 +0000)]
rs6000-c.c: Move GTY(()) markers to match conventional usage.
* config/rs6000/rs6000-c.c: Move GTY(()) markers to match
conventional usage.
From-SVN: r138104
GCC Administrator [Thu, 24 Jul 2008 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138100
Aaron W. LaFramboise [Wed, 23 Jul 2008 22:50:42 +0000 (16:50 -0600)]
configure: Regenerate.
2008-07-23 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* configure: Regenerate.
* configure.ac: Require texinfo 4.7.
* doc/install.texi: Document texinfo 4.7 requirement.
From-SVN: r138097
Chris Fairles [Wed, 23 Jul 2008 22:17:31 +0000 (22:17 +0000)]
condition_variable: Update to N2691 WD.
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* include/std/condition_variable: Update to N2691 WD.
* include/std/mutex: Likewise.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
From-SVN: r138096
Martin Jambor [Wed, 23 Jul 2008 19:45:45 +0000 (21:45 +0200)]
ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed rather than for DECL_SAVED_TREE.
2008-07-23 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
rather than for DECL_SAVED_TREE.
* ipa-prop.c: Include diagnostic.h.
(ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
thoroughly.
(ipa_detect_param_modifications): Function rewritten from scratch.
(ipa_compute_jump_functions): Changed accesses to modification flags.
(ipa_free_node_params_substructures): Update flags destruction.
(ipa_node_duplication_hook): Update flags duplication.
(ipa_print_all_params_modified): Updated flag access.
* ipa-prop.h (struct ipa_param_flags): New structure.
(struct ipa_node_params): New field modification_analysis_done,
modified_flags changed into param_flags.
(ipa_is_ith_param_modified): Changed to use new flags.
* Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
* ipa-prop.c (ipa_print_all_jump_functions): Moved here from
ipa-cp.c and split into two functions.
(ipa_print_node_jump_functions): New function.
(compute_scalar_jump_functions): New function.
(type_like_member_ptr_p): New function.
(compute_pass_through_member_ptrs): New function.
(fill_member_ptr_cst_jump_function): New function.
(determine_cst_member_ptr): New function.
(compute_cst_member_ptr_arguments): New function.
(ipa_compute_jump_functions): Complete rewrite.
* ipa-prop.h (enum jump_func_type): Make explicit that we depend
on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
(struct ipa_member_ptr_cst): New structure.
(union jump_func_value): New field member_cst.
* ipa-cp.c (ipcp_lat_is_insertable): New function.
(ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
jump function types.
(ipcp_print_all_lattices): Slight fprintf rearrangement.
(ipcp_print_all_structures): Call ipa_print_all_jump_functions
instead of ipcp_print_all_jump_functions.
(ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
only for replacable scalars.
* doc/invoke.texi (Optimize options): Add description of
-findirect-inlining.
* common.opt (flag_indirect_inlining): New flag.
* opts.c (decode_options): Set flag_indirect_inlining when
optimize >= 3.
* ipa-inline.c: Include ipa-prop.h.
(inline_indirect_intraprocedural_analysis): New function.
(inline_generate_summary): Allocate parameter and argument info
structures, call inline_indirect_intraprocedural_analysis on each
node when doing indirect inlining and deallocate indirect inlining
data structures in the end.
* ipa-prop.c (ipa_create_param_decls_array): Return if already done.
(free_all_ipa_structures_after_iinln): New function.
(free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be
done.
* Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
* cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
(build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
of computing the frequency separately.
(rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
of computing the frequency separately.
* ipa-cp.c (ipcp_print_all_structures): Replace a call to
ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
* ipa-prop.c (ipa_get_member_ptr_load_param): New function.
(ipa_get_stmt_member_ptr_load_param): New function.
(ipa_is_ssa_with_stmt_def): New function.
(ipa_note_param_call): New function.
(ipa_analyze_call_uses): New function.
(ipa_analyze_stmt_uses): New function.
(ipa_analyze_params_uses): New function.
(ipa_free_node_params_substructures): Also free the param_calls linked
list.
(ipa_node_duplication_hook): Also duplicate the param_calls linked list.
(ipa_print_node_param_flags): New function.
(ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
(ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
* ipa-prop.h (struct ipa_param_flags): New field called.
(struct ipa_param_call_note): New structure.
(struct ipa_node_params): New fields param_calls and
uses_analysis_done.
(ipa_is_ith_param_called): New function.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
ipa_analyze_params_uses and dump parameter flags.
* ipa-inline.c (cgraph_decide_recursive_inlining): Call
ipa_propagate_indirect_call_infos if performing indirect inlining,
pass a new parameter new_edges to it.
(add_new_edges_to_heap): New fucntion.
(cgraph_decide_inlining_of_small_functions): New vector
new_indirect_edges for newly found indirect edges , call
ipa_propagate_indirect_call_infos after inlining.
(cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
inlining if performing indirect inlining. Call
free_all_ipa_structures_after_iinln when doing so too.
(inline_generate_summary): Do not call
free_all_ipa_structures_after_iinln here.
* ipa-prop.c (update_jump_functions_after_inlining): New function.
(print_edge_addition_message): New function.
(update_call_notes_after_inlining): New function.
(propagate_info_to_inlined_callees): New function.
(ipa_propagate_indirect_call_infos): New function.
* ipa-prop.h: Include cgraph.h
(struct ipa_param_call_note): Fields reordered, new field processed.
* cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
flag indirect_call.
* cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
rediscovered call statements.
* cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
(dump_cgraph_node): Dump also the indirect_call flag.
(cgraph_clone_edge): Copy also the indirect_call flag.
* tree-inline.c (copy_bb): Do not check for fndecls from call
expressions, check for edge availability when moving clones.
(get_indirect_callee_fndecl): New function.
(expand_call_inline): If callee declaration is not apprent from
the statement, try calling get_indirect_callee_fndecl. Do not
issue warnings or call sorry when not inlinings an indirect edge.
* Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
* ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
bit more frandly to matching.
* testsuite/g++.dg/ipa/iinline-1.C: New testcase.
* testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
* testsuite/gcc.dg/ipa/modif-1.c: New testcase.
From-SVN: r138092
Michael Meissner [Wed, 23 Jul 2008 19:03:40 +0000 (19:03 +0000)]
Fix PR 36907, breakage in building libobj with function specific changes
From-SVN: r138091
Manuel López-Ibáñez [Wed, 23 Jul 2008 15:57:49 +0000 (15:57 +0000)]
re PR c/35058 (-Werror= works only with some warnings)
2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 35058
* diagnostic.c (pedwarn): Add opt parameter.
(pedwarn0): New.
* c-tree.h (pedwarn_init): Add opt parameter.
(pedwarn_c90): Likewise.
(pedwarn_c99): Likewise.
* c-errors.c (pedwarn_c99): Likewise.
(pedwarn_c90): Likewise.
* toplev.h (pedwarn): Update declaration.
(pedwarn0): Declare.
* c-lex.c: All calls to pedwarn changed.
* builtins.c: All calls to pedwarn changed.
* toplev.c: All calls to pedwarn changed.
* c-decl.c: All calls to pedwarn changed.
* c-typeck.c: All calls to pedwarn changed.
* c-common.c: All calls to pedwarn changed.
* c-parser.c: All calls to pedwarn changed.
cp/
* typeck.c: All calls to pedwarn changed.
* decl.c: All calls to pedwarn changed.
* call.c: All calls to pedwarn changed.
* error.c: All calls to pedwarn changed.
* typeck2.c: All calls to pedwarn changed.
* pt.c: All calls to pedwarn changed.
* name-lookup.c: All calls to pedwarn changed.
* parser.c: All calls to pedwarn changed.
fortran/
* f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed.
testsuite/
* gcc.dg/Wdeclaration-after-statement-3.c: New.
* gcc/testsuite/gcc.dg/Wpointer-arith.c: New.
From-SVN: r138089
Chris Fairles [Wed, 23 Jul 2008 14:49:00 +0000 (14:49 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2008-07-23 Chris Fairles <chris.fairles@gmail.com>
* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
Holds the lib that defines clock_gettime (-lrt or -lposix4).
* src/Makefile.am: Use it.
* configure: Regenerate.
* configure.in: Likewise.
* Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* libsup++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
From-SVN: r138087
Michael Meissner [Wed, 23 Jul 2008 11:18:03 +0000 (11:18 +0000)]
Add missing ChangeLog from 138075
From-SVN: r138082
Michael Meissner [Wed, 23 Jul 2008 10:28:06 +0000 (10:28 +0000)]
Add ability to set target options (ix86 only) and optimization options on a function specific basis
From-SVN: r138075
Jerry DeLisle [Wed, 23 Jul 2008 04:36:54 +0000 (04:36 +0000)]
re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/36852
* gfortran.dg/namelist_52.f90: New test.
From-SVN: r138073
Jerry DeLisle [Wed, 23 Jul 2008 04:29:15 +0000 (04:29 +0000)]
re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36852
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer.
From-SVN: r138072
GCC Administrator [Wed, 23 Jul 2008 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138069
Ulrich Weigand [Tue, 22 Jul 2008 17:21:12 +0000 (17:21 +0000)]
target-supports.exp (check_effective_target_spu_auto_overlay): New procedure.
* lib/target-supports.exp (check_effective_target_spu_auto_overlay):
New procedure.
* lib/compat.exp (compat-execute): Use it to test whether toolchain
supports automatic overlay generation for the SPU.
From-SVN: r138064
Daniel Kraft [Tue, 22 Jul 2008 17:05:55 +0000 (19:05 +0200)]
re PR fortran/29835 (Error message of unknown edit descriptor needs improvement)
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* io.c (error_element), (format_locus): New static globals.
(unexpected_element): Spelled out this message fully.
(next_char): Keep track of locus when not MODE_STRING.
(next_char_not_space): Remember last parsed element in error_element.
(format_lex): Fix two indentation errors.
(check_format): Use format_locus and possibly error_element for a
slightly better error message on invalid format.
(check_format_string): Set format_locus to start of the string
expression used as format.
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* io/format.c (struct format_data): New member error_element.
(unexpected_element): Added '%c' to message.
(next_char): Keep track of last parsed character in fmt->error_element.
(format_error): If the message is unexpected_element, output the
offending character, too.
2008-07-22 Daniel Kraft <d@domob.eu>
PR fortran/29835
* gfortran.dg/fmt_error_3.f90: New test.
* gfortran.dg/fmt_error_4.f90: New test.
* gfortran.dg/fmt_error_5.f90: New test.
From-SVN: r138063
Paolo Carlini [Tue, 22 Jul 2008 13:52:14 +0000 (13:52 +0000)]
sso_string_base.h (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>, const _Alloc&)): Remove.
2008-07-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/sso_string_base.h
(__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
const _Alloc&)): Remove.
* include/ext/rc_string_base.h
(__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
const _Alloc&)): Likewise.
* include/ext/vstring.h
(__versa_string<>::__versa_string(std::initializer_list<_CharT>,
const _Alloc&)): Adjust.
From-SVN: r138058
Rafael Avila de Espindola [Tue, 22 Jul 2008 13:29:31 +0000 (13:29 +0000)]
c-typeck.c (build_external_ref): Don't call assemble_external.
2008-07-22 Rafael Avila de Espindola <espindola@google.com>
* c-typeck.c (build_external_ref): Don't call assemble_external.
* final.c (output_operand): Call assemble_external.
From-SVN: r138057
Thomas Koenig [Tue, 22 Jul 2008 10:27:10 +0000 (10:27 +0000)]
re PR fortran/36890 (libgfortran/io/file_pos.c:55: warning: comparison between signed and unsigned)
2008-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36890
* io/file_pos.c: Declare READ_CHUNK as signed to avoid
signed/unsigned comparison warning in formatted_backspace.
From-SVN: r138050
Manuel López-Ibáñez [Tue, 22 Jul 2008 09:45:58 +0000 (09:45 +0000)]
re PR preprocessor/28079 (#line range not verified without -pedantic)
2008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 28079
libcpp/
* directives.c (strtolinenum): Handle overflow.
(do_line): Give a warning if line number overflowed.
(do_linemarker): Update call to strtolinenum.
gcc/testsuite/
* gcc.dg/cpp/line6.c: New.
From-SVN: r138049
GCC Administrator [Tue, 22 Jul 2008 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138047
Jason Merrill [Mon, 21 Jul 2008 19:40:39 +0000 (15:40 -0400)]
Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
* include/debug/safe_association.h: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/vector: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/set.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/tr1_impl/unordered_map: Likewise.
* include/tr1_impl/hashtable: Likewise.
* include/tr1_impl/unordered_set: Likewise.
* include/tr1_impl/regex: Likewise.
* include/std/valarray: Likewise.
* include/std/unordered_map: Likewise.
* include/std/unordered_set: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/sso_string_base.h: Likewise.
* src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
* src/Makefile.in: Likewise.
* config/abi/pre/gnu.ver: Add new w?string exports.
...
From-SVN: r138043
Ralf Wildenhues [Mon, 21 Jul 2008 19:29:07 +0000 (19:29 +0000)]
objc-act.c: Fix comment typos.
gcc/objc/
* objc-act.c: Fix comment typos.
gcc/cp/
* call.c: Fix comment typos.
* class.c: Likewise.
* cp-tree.h: Likewise.
* cxx-pretty-print.c: Likewise.
* decl.c: Likewise.
* init.c: Likewise.
* name-lookup.c: Likewise.
* operators.def: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
From-SVN: r138042
Mark Mitchell [Mon, 21 Jul 2008 19:21:45 +0000 (19:21 +0000)]
arm-eabi-extra.ver: New file.
* config/os/gnu-linux/arm-eabi-extra.ver: New file.
* configure.host: Use it for arm*-*-linux-*eabi.
From-SVN: r138041
Ralf Wildenhues [Mon, 21 Jul 2008 19:17:08 +0000 (19:17 +0000)]
fmt_g0_3.f08: Fix typo in expected error message.
gcc/testsuite/
* gfortran.dg/fmt_g0_3.f08: Fix typo in expected error message.
gcc/fortran/
* expr.c (gfc_check_pointer_assign): Fix typo in string.
* io.c (check_format): Fix typo in string. Fix comment typos.
* parse.c (gfc_global_used): Likewise.
* resolve.c (resolve_allocate_expr): Likewise.
* symbol.c (gfc_set_default_type): Likewise.
* arith.c: Fix typos in comments.
* array.c: Likewise.
* data.c: Likewise.
* decl.c: Likewise.
* dependency.c: Likewise.
* f95-lang.c: Likewise.
* gfortran.h: Likewise.
* matchexp.c: Likewise.
* module.c: Likewise.
* primary.c: Likewise.
* scanner.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.
* trans.h: Likewise.
From-SVN: r138040
DJ Delorie [Mon, 21 Jul 2008 17:41:13 +0000 (13:41 -0400)]
h8300.c (h8300_hard_regno_scratch_ok): New.
* config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
(TARGET_HARD_REGNO_SCRATCH_OK): Define.
From-SVN: r138038
Ulrich Weigand [Mon, 21 Jul 2008 17:15:22 +0000 (17:15 +0000)]
spu.md ("div<mode>3"): Convert into expander, move original insn and splitter contents into ...
* config/spu/spu.md ("div<mode>3"): Convert into expander, move
original insn and splitter contents into ...
("*div<mode>3_fast"): ... this new pattern. Enable only if
flag_unsafe_math_optimizations. Add dummy scratch register.
("*div<mode>3_adjusted"): New insn and splitter. Enable only if
!flag_unsafe_math_optimizations. Returns number with next
highest magnitude if this is still less or equal to the true
quotient in magnitude.
From-SVN: r138036
Paolo Carlini [Mon, 21 Jul 2008 16:18:38 +0000 (16:18 +0000)]
re PR c++/36871 (__has_nothrow_copy(T) false for T with a template ctor)
/cp
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36871
PR c++/36872
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Only check
copy constructors and copy assignment operators proper.
/testsuite
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36871
PR c++/36872
* g++.dg/ext/has_nothrow_copy.C: Rename to...
* g++.dg/ext/has_nothrow_copy-1.C: ... this.
* g++.dg/ext/has_nothrow_copy-2.C: New.
* g++.dg/ext/has_nothrow_copy-3.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
From-SVN: r138034
Rafael Espindola [Mon, 21 Jul 2008 14:45:07 +0000 (14:45 +0000)]
Fix the year on the ChangeLog.
From-SVN: r138032
Rafael Avila de Espindola [Mon, 21 Jul 2008 14:29:27 +0000 (14:29 +0000)]
Makefile.in: Replace toplev.h with TOPLEV_H.
2007-07-21 Rafael Avila de Espindola <espindola@google.com>
* Makefile.in: Replace toplev.h with TOPLEV_H.
* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
* c-lex.c (fe_file_change): Don't set in_system_header.
* c-parser.c (c_token): Remove in_system_header.
(c_lex_one_token): Don't set in_system_header.
(c_parser_set_source_position_from_token): Don't set in_system_header.
* diagnostic.c (diagnostic_report_diagnostic): Use location from
diagnostic_info.
(warning_at): New.
* diagnostic.h (diagnostic_report_warnings_p): Add LOC argument.
* flags.h (in_system_header): Remove.
* function.c (saved_in_system_header): Remove.
(push_cfun): Don't set in_system_header.
(pop_cfun): Don't set in_system_header.
(push_struct_function): Don't set in_system_header.
* input.h (expanded_location): Add sysp.
(in_system_header_at): New.
(in_system_header): New.
* toplev.c (in_system_header): Remove.
* toplev.h: Include input.h
(warning_at): New.
* tree-cfg.c (execute_warn_function_return): Call warning_at.
* tree-ssa.c (warn_uninit): Call warning_at.
(warn_uninitialized_var): Update calls to warn_uninit.
(warn_uninitialized_phi): Update calls to warn_uninit.
* tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER.
(expand_location): Initialize xloc.sysp.
* tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at.
(tree_decl_with_vis): Remove in_system_header_flag.
2007-07-21 Rafael Avila de Espindola <espindola@google.com>
* parser.c (cp_token): Remove in_system_header.
(eof_token): Remove in_system_header.
(cp_lexer_get_preprocessor_token): Don't set in_system_header.
(cp_lexer_set_source_position_from_token): Don't set in_system_header.
(cp_parser_member_declaration): Use in_system_header_at.
* pt.c (lookup_template_class): Don't set DECL_IN_SYSTEM_HEADER.
(pop_tinst_level): Don't set in_system_header.
(instantiate_class_template): Don't set in_system_header.
(instantiate_decl): Don't set in_system_header.
(instantiate_pending_templates): Don't set in_system_header.
From-SVN: r138031
Thomas Koenig [Mon, 21 Jul 2008 10:05:32 +0000 (10:05 +0000)]
re PR libfortran/36773 (zero-sized arrays with cshift and eoshift)
2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36773
* intrinsics/cshift0.c (cshift0): Return early if size of array
is zero.
* intrinsics/eoshift0.c (eoshift0): Return early if size of
return array is zero.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* m4/eoshift1.m4 (eoshift1): Return early if size of array
is zero.
* m4/eoshift3.m4 (eoshift3): Likewise.
* m4/eoshift2.m4 (eoshift2): Return early if size of return
array is zero.
* m4/eoshift4.m4 (eoshift2): Return early if size of return
array is zero.
* generated/cshift1_16.c: Regenerated.
* generated/cshift1_4.c: Regenerated.
* generated/cshift1_8.c: Regenerated.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/36773
* gfortran.dg/zero_sized_5.f90: New test case.
From-SVN: r138027
Manuel López-Ibáñez [Mon, 21 Jul 2008 09:33:38 +0000 (09:33 +0000)]
line-map.h (linenum_type): New typedef.
2008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* include/line-map.h (linenum_type): New typedef.
(struct line_map): Use it.
(SOURCE_LINE): Second arguments is a LOCATION not a LINE.
(SOURCE_COLUMN): Likewise.
* macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
source_location values in a variable of type linenum_type.
* directives.c (struct if_stack): Use linenum_type.
(strtoul_for_line): Rename as strtolinenum.
(do_line): Use linenum_type.
(do_linemarker): Use linenum_type and strtolinenum.
(_cpp_do_file_change): Use linenum_t.
* line-map.c (linemap_add): Likewise.
(linemap_line_start): Likewise.
* traditional.c (struct fun_macro): 'line' is a source_location.
* errors.c (print_location): Use linenum_type.
* directives-only.c (_cpp_preprocess_dir_only): Likewise.
* internal.h (CPP_INCREMENT_LINE): Likewise.
* lex.c (_cpp_skip_block_comment): Use source_location.
From-SVN: r138026
Paolo Carlini [Mon, 21 Jul 2008 09:08:41 +0000 (09:08 +0000)]
re PR c++/36870 (__has_nothrow_constructor violates the ODR)
/cp
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36870
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Use
TYPE_NOTHROW_P, not TREE_NOTHROW.
(trait_expr_value): Likewise.
/testsuite
2008-07-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36870
* g++.dg/ext/has_nothrow_assign_odr.C: New.
* g++.dg/ext/has_nothrow_copy_odr.C: Likewise.
* g++.dg/ext/has_nothrow_constructor_odr.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Adjust.
* g++.dg/ext/has_nothrow_copy.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
From-SVN: r138024
Andreas Krebbel [Mon, 21 Jul 2008 06:54:34 +0000 (06:54 +0000)]
[multiple changes]
2008-07-21 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36822
* recog.c (asm_operand_ok): Change the order of the extra
memory constraint checks.
2008-07-17 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36822
* gcc.target/s390/pr36822.c: New testcase.
From-SVN: r138022