* configure.ac (mudflap_cv_entry_point): Use quadrigraphs to declare
$name as array of characters with unknown bound. Also store into the
array.
* configure: Regenerate.
From-SVN: r104964
2005-10-04 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md ("TDSI","DP"): New mode macros.
("TE","tg"): New mode attributes.
("sync_compare_and_swap<mode>"): Replace with a define_expand.
("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
dword_mode and one for GPRmode.
From-SVN: r104952
libcpp/
PR preprocessor/13726
* directives.c (check_eol_return_comments): New static function.
(parse_include): Add buf parameter. Change all callers.
(do_include_common): If not discard comments, turn on
save_comments. Pass collected comments to include callback.
* include/cpplib.h (struct cpp_callbacks): Add new parameter to
include callback: cpp_token list.
gcc/
PR preprocessor/13726
* c-ppoutput.c (cb_include): Add comments parameter, and print out
any comments passed in.
gcc/testsuite/
PR preprocessor/13726
* gcc.dg/cpp/cmdlne-dI-C.c: New test.
* gcc.dg/cpp/cmdlne-dI-C.h: New file.
From-SVN: r104951
PR ada/19382
* builtins.c (fold_builtin_memcmp): When constructing the pointer
type used to access data in the inlined length == 1 case, use
build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
(fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
From-SVN: r104948
* config/i386/i386.h (TARGET_FISTTP): Enable also for
TARGET_SSE3 and only for TARGET_80387.
* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
(fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
Do not depend on TARGET_80387.
From-SVN: r104947
2005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
* tree.c (last_annotated_node): Change type to location_t*.
(annotate_with_file_line): Reflect the change of
last_annotated_node type.
From-SVN: r104944
2005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23125
* decl.c (make_rtl_for_nonlocal_decl): Use set_user_assembler_name
instead of change_decl_assembler_name.
2005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23125
* c-decl.c (finish_decl): Use set_user_assembler_name even for
register variables.
* varasm.c (make_decl_rtl): If a register variable does not
have a set user assmbler name, error out.
Decode the asmspec is now name+1 bypassing '*'.
2005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23125
* gcc.dg/register-var-3.c: New test.
From-SVN: r104942
2005-10-05 Steven Bosscher <stevenb@suse.de>
gcc/
PR tree-optimization/23049
* tree-ssa-dom.c (thread_across_edge): Make sure that the condition
of a COND_EXPR is folded before calling fold on the whole rhs of a
conditional assignment.
* doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
document that a COND_EXPR may appear there.
testsuite/
* gcc.dg/pr23049.c: New test.
* gcc.dg/ucnid-4.c: Fix test.
From-SVN: r104938
PR 23445
* tree-vrp.c (extract_range_from_assert): If the new numeric
range created out of the assertion contradicts the existing
numeric range of the ASSERT_EXPR variable, make the new range
varying.
testsuite/
PR 23445
* gcc.c-torture/compile/pr23445.c: New test.
From-SVN: r104936
Backport from libtool CVS:
2002-11-03 Ossama Othman <ossama@doc.ece.uci.edu>
* ltmain.sh: add support for installing into temporary
staging area (e.g. 'make install DESTDIR=...')
From-SVN: r104913
PR c++/17775
* repo.c: Include flags.h.
(finish_repo): Add -frandom-seed to the arguments.
PR c++/17775
* g++.dg/template/repo4.C: New test.
From-SVN: r104898
* gimplify.c (find_single_pointer_decl_1): New static function.
(find_single_pointer_decl): New static function.
(internal_get_tmp_var): For a formal variable, set restrict base
information if appropriate.
* alias.c (find_base_decl): If a VAR_DECL has a restrict base,
return it.
* tree.h (DECL_BASED_ON_RESTRICT_P): Define.
(DECL_GET_RESTRICT_BASE): Define.
(SET_DECL_RESTRICT_BASE): Define.
(decl_restrict_base_lookup): Declare.
(decl_restrict_base_insert): Declare.
(struct tree_decl_with_vis): Add based_on_restrict_p field.
* tree.c (restrict_base_for_decl): New static variable.
(init_ttree): Initialize restrict_base_for_decl.
(copy_node_stat): Copy restrict base information.
(decl_restrict_base_lookup): New function.
(decl_restrict_base_insert): New function.
(print_restrict_base_statistics): New static function.
(dump_tree_statistics): Call print_restrict_base_statistics.
From-SVN: r104890
PR libfortran/19308
PR fortran/20120
PR libfortran/22437
* Makefile.am: Add generated files for large real and integers
kinds. Add a rule to create the kinds.inc c99_protos.inc files.
Use kinds.inc to preprocess Fortran generated files.
* libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE,
GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16,
gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16,
gfc_array_l16.
* mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and
HAVE_GFC_COMPLEX_* when these types are available.
* intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16.
* m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4,
m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4,
m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4,
m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4,
m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4,
m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4,
m4/sum.m4, m4/transpose.m4: Protect generated functions with
appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives.
* Makefile.in: Regenerate.
* all files in generated/: Regenerate.
* f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long
double builtin function.
(gfc_init_builtin_functions): Add mfunc_longdouble,
mfunc_clongdouble and func_clongdouble_longdouble trees. Build
them for round, trunc, cabs, copysign and pow functions.
* iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add
case for kind 10 and 16.
* trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16,
exponent10 and exponent16.
(gfc_build_intrinsic_function_decls): Build nodes for int16,
real10, real16, complex10 and complex16 types. Build all possible
combinations for function _gfortran_pow_?n_?n. Build function
calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16.
* trans-expr.c (gfc_conv_power_op): Add case for integer(16),
real(10) and real(16).
* trans-intrinsic.c: Add suppport for long double builtin
functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION
macros.
(gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and
real(16) kinds.
(gfc_build_intrinsic_lib_fndecls): Add support for real10_decl
and real16_decl in library functions.
(gfc_get_intrinsic_lib_fndecl): Add cases for real and complex
kinds 10 and 16.
(gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16)
kinds.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_ishftc): Add case for integer(16) kind.
* trans-types.c (gfc_get_int_type, gfc_get_real_type,
gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in
the case of kinds not available.
* trans.h: Declare trees for cpowl10, cpowl16, ishftc16,
exponent10 and exponent16.
* gfortran.dg/large_real_kind_2.F90: New test.
* gfortran.dg/large_integer_kind_2.f90: New test.
From-SVN: r104889
2005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
* testsuite/lib/jni.exp (gcj_jni_test_one): For
darwin, use -shared-libgcc not -lgcc_s, and explain why.
(gcj_jni_invocation_test_one): Likewise.
From-SVN: r104878
PR c++/23840
* tree.c (lvalue_p1): A VA_ARG_EXPR with class type is an lvalue,
when class rvalues are lvalues.
PR c++/23840
* g++.dg/expr/stdarg1.C: New test.
From-SVN: r104877
PR 24142
* tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
case of anti-ranges.
testsuite/
PR 24142
* gcc.c-torture/execute/pr24142.c: New test.
From-SVN: r104874
2005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
PR c/18851
* c-typeck.c (tagged_tu_seen): Rename to ...
(tagged_tu_seen_cache): this and add val field.
(comptypes): Move functional to comptypes_internal
and free tagged_tu_seen.
(comptypes_internal): New function and call comptypes_internal
instead of comptypes. Speed up by sibcalling
tagged_types_tu_compatible_p.
(alloc_tagged_tu_seen): New function
(free_all_tagged_tu_seen_up_to): New function.
(tagged_types_tu_compatible_p): Return the val of the seen two
types.
Add that the two types are the same to tagged_tu_seen_base
if they are and call comptypes_internal instead of comptypes.
<case UNION_TYPE>: Speed up common type where the fields are
in the same order.
(function_types_compatible_p): Call comptypes_internal instead of
comptypes.
(type_lists_compatible_p): Likewise.
(all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
From-SVN: r104873
2005-10-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24054
* include/tr1/hashtable (erase(const key_type&)): Return the
number of elements erased.
* testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
From-SVN: r104867
PR 24141
* tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
non-null range as a last resort.
testsuite/
PR 24141
* gcc.c-torture/execute/pr24141.c: New test.
From-SVN: r104859