Eric Botcazou [Thu, 6 Sep 2007 14:47:56 +0000 (14:47 +0000)]
trans.c (convert_with_check): Update call to real_2expN.
* trans.c (convert_with_check): Update call to real_2expN.
From-SVN: r128185
Revital Eres [Thu, 6 Sep 2007 14:30:19 +0000 (14:30 +0000)]
Fix offsettable memory reference for 750CL
From-SVN: r128184
Pat Haugen [Thu, 6 Sep 2007 13:51:21 +0000 (13:51 +0000)]
reload.c (find_reloads_address_1): Try to preserve original base/index regclass of operands.
ChangeLog:
2007-09-06 Pat Haugen <pthaugen@us.ibm.com>
* reload.c (find_reloads_address_1): Try to preserve original
base/index regclass of operands.
* regrename.c (scan_rtx_address): Likewise.
(replace_oldest_value_addr): Likewise.
From-SVN: r128183
David Edelsohn [Thu, 6 Sep 2007 12:40:50 +0000 (12:40 +0000)]
libgfortran.h: Include config.h first.
* libgfortran.h: Include config.h first.
* io/io.h (struct stream): Rename truncate to trunc.
* io/unix.c (fd_open): Same.
(open_internal): Same.
From-SVN: r128182
Uros Bizjak [Thu, 6 Sep 2007 11:39:49 +0000 (13:39 +0200)]
sse3-addsubpd.c: Add -mfpmath=sse to dg-options.
* gcc.target/i386/sse3-addsubpd.c: Add -mfpmath=sse to dg-options.
* gcc.target/i386/sse3-addsubps.c: Ditto.
* gcc.target/i386/sse3-haddpd.c: Ditto.
* gcc.target/i386/sse3-haddps.c: Ditto.
* gcc.target/i386/sse3-hsubpd.c: Ditto.
* gcc.target/i386/sse3-hsubps.c: Ditto.
* gcc.target/i386/sse3-lddqu.c: Ditto.
* gcc.target/i386/sse3-movddup.c: Ditto.
* gcc.target/i386/sse3-movshdup.c: Ditto.
* gcc.target/i386/sse3-movsldup.c: Ditto.
From-SVN: r128181
Richard Guenther [Thu, 6 Sep 2007 09:05:58 +0000 (09:05 +0000)]
re PR tree-optimization/33302 (dead-store not eliminated)
2007-09-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33302
* tree-ssa-dse.c (tree_ssa_dse): Connect infinite loops
to the exit block before doing the post-dominator walk.
* domwalk.c (walk_dominator_tree): The exit block is
interesting even if it is not reachable.
* gcc.dg/tree-ssa/ssa-dse-11.c: New testcase.
From-SVN: r128180
Richard Sandiford [Thu, 6 Sep 2007 08:45:16 +0000 (08:45 +0000)]
re PR bootstrap/33306 (Bootstrap failure on alpha: ICE in convert_move, at expr.c:369)
gcc/
PR middle-end/33306
* optabs.c (avoid_expensive_constant): Do nothing if MODE is VOIDmode.
From-SVN: r128179
Basile Starynkevitch [Thu, 6 Sep 2007 06:57:56 +0000 (06:57 +0000)]
reverted configure to rev 128176 - it has been mistakingly commited
From-SVN: r128178
Basile Starynkevitch [Thu, 6 Sep 2007 06:42:47 +0000 (06:42 +0000)]
typo
From-SVN: r128177
Basile Starynkevitch [Thu, 6 Sep 2007 06:38:09 +0000 (06:38 +0000)]
cfg.c (dump_bb_info, dump_edge_info): Added cfun test for
robustness.
From-SVN: r128176
Ian Lance Taylor [Thu, 6 Sep 2007 05:59:15 +0000 (05:59 +0000)]
tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int when printing.
* tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int
when printing.
(dump_generic_node): Likewise.
* print-rtl.c (print_decl_name): Likewise.
* print-tree.c (print_node_brief): Likewise.
(print_node): Likewise.
* Makefile.in (RTL_BASE_H): Add alias.h.
(TREE_H): Likewise.
From-SVN: r128175
Jason Merrill [Thu, 6 Sep 2007 03:33:46 +0000 (23:33 -0400)]
re PR c++/15745 (exception specification incorrectly changes the type of the exception thrown)
PR c++/15745
* except.c (prepare_eh_type): Use type_decays_to.
From-SVN: r128174
Jerry DeLisle [Thu, 6 Sep 2007 01:32:11 +0000 (01:32 +0000)]
re PR libfortran/33225 (Missing last digit in some formatted output (on 32bit targets), per kind write_float)
2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33225
* gfortran.dg./fmt_float.f90: New test.
From-SVN: r128173
Jason Merrill [Thu, 6 Sep 2007 01:24:59 +0000 (21:24 -0400)]
re PR c++/15097 (code generator problem with ::delete and multiple inheritance and virtual deconstructs)
PR c++/15097
* init.c (build_delete): Use build_headof to get the address of the
complete object if we aren't using the deleting destructor.
* rtti.c (build_headof): No longer static.
* cp-tree.h: Declare it.
From-SVN: r128172
Jerry DeLisle [Thu, 6 Sep 2007 01:24:17 +0000 (01:24 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* gfortran.dg/namelist_38.f90: Update test for DELIM= .
From-SVN: r128171
Jerry DeLisle [Thu, 6 Sep 2007 01:20:02 +0000 (01:20 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-09-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* io/write.c (nml_write_obj): Set the delimiter correctly before calling
write_character. (namelist_write): Clean up the code a little and add
comments to clarify what its doing.
From-SVN: r128170
Jesper Nilsson [Thu, 6 Sep 2007 00:17:15 +0000 (00:17 +0000)]
builtin_ctz_v3.c: New testcase.
* gcc.target/cris/builtin_ctz_v3.c: New testcase.
* gcc.target/cris/builtin_ctz_v8.c: New testcase.
From-SVN: r128168
GCC Administrator [Thu, 6 Sep 2007 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r128167
Jesper Nilsson [Thu, 6 Sep 2007 00:16:43 +0000 (00:16 +0000)]
cris: longlong.h (count_trailing_zeros): Defined.
* longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros):
Defined.
* config/cris/cris.md (ctzsi2, cris_swap_bits): Implemented.
* config/cris/cris.h (CTZ_DEFINED_VALUE_AT_ZERO): Defined.
From-SVN: r128165
Jie Zhang [Thu, 6 Sep 2007 00:09:05 +0000 (00:09 +0000)]
config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
* config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
(tm_defines): Define UCLIBC_DEFAULT to 1.
(extra_options): Add linux.opt.
* config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(NO_IMPLICIT_EXTERN_C): Likewise.
(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
* config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define.
* config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define.
(ENDFILE_SPEC): Don't define.
(LIB_SPEC): Likewise.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(NO_IMPLICIT_EXTERN_C): Likewise.
(LINUX_TARGET_OS_CPP_BUILTINS): Likewise.
(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
From-SVN: r128163
Jan Hubicka [Thu, 6 Sep 2007 00:04:31 +0000 (02:04 +0200)]
i386.c (ix86_expand_lround, [...]): Update call of real_2expN.
* i386.c (ix86_expand_lround, ix86_expand_round): Update call of
real_2expN.
From-SVN: r128162
Jan Hubicka [Wed, 5 Sep 2007 23:38:34 +0000 (01:38 +0200)]
opts.c (common_handle_option): Enable inlining functions for -fprofile-generate.
* opts.c (common_handle_option): Enable inlining functions for
-fprofile-generate.
From-SVN: r128161
Jakub Jelinek [Wed, 5 Sep 2007 23:27:17 +0000 (01:27 +0200)]
re PR c++/33289 (__sprintf_chk etc. not DECL_ANTICIPATED)
PR c++/33289
* decl.c (builtin_function_1): Set DECL_ANTICIPATED also
on __*_chk non-__builtin_* decls.
* g++.dg/eh/builtin4.C: New test.
From-SVN: r128160
Jakub Jelinek [Wed, 5 Sep 2007 23:25:07 +0000 (01:25 +0200)]
decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX decl if a prototype for XX is provided with...
* decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX
decl if a prototype for XX is provided with throw().
* g++.dg/eh/builtin1.C: New test.
* g++.dg/eh/builtin2.C: New test.
* g++.dg/eh/builtin3.C: New test.
From-SVN: r128159
Jakub Jelinek [Wed, 5 Sep 2007 23:22:51 +0000 (01:22 +0200)]
builtin-attrs.def (ATTR_NONNULL_3): New.
* builtin-attrs.def (ATTR_NONNULL_3): New.
(DEF_FORMAT_ATTRIBUTE): Use just ATTR_NONNULL_##FA instead of
ATTR_NOTHROW_NONNULL_##FA.
(DEF_FORMAT_ATTRIBUTE_NOTHROW, DEF_FORMAT_ATTRIBUTE_BOTH): New macros.
(ATTR_FORMAT_PRINTF_NOTHROW_2_0, ATTR_PRINTF_NOTHROW_2_3,
ATTR_FORMAT_PRINTF_NOTHROW_3_0, ATTR_FORMAT_PRINTF_NOTHROW_3_4,
ATTR_FORMAT_PRINTF_NOTHROW_4_0, ATTR_PRINTF_NOTHROW_4_5,
ATTR_FORMAT_PRINTF_NOTHROW_5_0, ATTR_FORMAT_PRINTF_NOTHROW_5_6,
ATTR_FORMAT_SCANF_NOTHROW_2_0, ATTR_FORMAT_SCANF_NOTHROW_2_3,
ATTR_FORMAT_STRFTIME_NOTHROW_3_0, ATTR_FORMAT_STRFMON_NOTHROW_3_4):
New.
(ATTR_FORMAT_PRINTF_4_0, ATTR_PRINTF_4_5, ATTR_FORMAT_PRINTF_5_0,
ATTR_FORMAT_PRINTF_5_6, ATTR_FORMAT_STRFTIME_3_0,
ATTR_FORMAT_NOTHROW_3_4): Remove.
* builtins.def (snprintf, sprintf, sscanf, vsnprintf, vsprintf,
vsscanf, strfmon, strftime, __snprintf_chk, __sprintf_chk,
__vsnprintf_chk, __vsprintf_chk): Use ATTR_FORMAT_*_NOTHROW_*
instead of ATTR_FORMAT_*_*.
From-SVN: r128158
Hans-Peter Nilsson [Wed, 5 Sep 2007 23:17:50 +0000 (23:17 +0000)]
cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_EXPR.
* config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on
parts re-used for REG_FRAME_RELATED_EXPR.
From-SVN: r128157
Janis Johnson [Wed, 5 Sep 2007 22:16:33 +0000 (22:16 +0000)]
optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy...
gcc/
* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.
gcc/testsuite/
* gcc.target/powerpc/dfp-dd.c: New test.
* gcc.target/powerpc/dfp-td.c: New test.
From-SVN: r128156
Roger Sayle [Wed, 5 Sep 2007 21:30:04 +0000 (21:30 +0000)]
acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
* configure: Regenerate.
* include/std/system_error: Guard.
* testsuite/19_diagnostics/headers/system_error/
types_std_c++0x.cc: Same.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
line numbers.
From-SVN: r128154
Ian Lance Taylor [Wed, 5 Sep 2007 20:55:03 +0000 (20:55 +0000)]
init-regs.c (initialize_uninitialized_regs): Call emit_insn_before rather than add_insn_before.
* init-regs.c (initialize_uninitialized_regs): Call
emit_insn_before rather than add_insn_before.
From-SVN: r128152
Jakub Jelinek [Wed, 5 Sep 2007 20:47:48 +0000 (22:47 +0200)]
Move ChangeLog entry to correct ChangeLog file.
From-SVN: r128151
Jakub Jelinek [Wed, 5 Sep 2007 20:45:27 +0000 (22:45 +0200)]
builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
* tree.h (CALL_EXPR_VA_ARG_PACK): Define.
* tree-inline.h (copy_body_data): Add call_expr field.
* tree-inline.c (expand_call_inline): Initialize call_expr.
(copy_bb): Append anonymous inline fn arguments to arguments
when inlining a CALL_EXPR_VA_ARG_PACK call.
* builtins.c (expand_builtin): Issue an error if
BUILT_IN_VA_ARG_PACK is seen during expand.
(fold_call_expr, fold_builtin_call_array): Don't fold
CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with
__builtin_va_arg_pack () call as last argument.
* gimplify.c (gimplify_call_expr): If last argument to a vararg
function is __builtin_va_arg_pack (), decrease number of call
arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR.
* expr.c (expand_expr_real_1): Issue an error if
CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand.
* tree-pretty-print.c (dump_generic_node): Handle printing
CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs.
* doc/extend.texi (__builtin_va_arg_pack): Document.
* gcc.c-torture/execute/va-arg-pack-1.c: New test.
* gcc.dg/va-arg-pack-1.c: New test.
From-SVN: r128150
Samuel Thibault [Wed, 5 Sep 2007 20:01:54 +0000 (20:01 +0000)]
configure.host (gnu*): Set use_libgcj_bc to yes.
2007-09-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
* configure.host(gnu*): Set use_libgcj_bc to yes.
From-SVN: r128149
Adam Nemet [Wed, 5 Sep 2007 19:56:39 +0000 (19:56 +0000)]
builtin-expect-1.c: New test.
* gcc.dg/tree-ssa/builtin-expect-1.c: New test.
* gcc.dg/tree-ssa/builtin-expect-2.c: New test.
* gcc.dg/tree-ssa/builtin-expect-3.c: New test.
* gcc.dg/tree-ssa/builtin-expect-4.c: New test.
* gcc.dg/tree-ssa/builtin-expect-5.c: New test.
From-SVN: r128148
Adam Nemet [Wed, 5 Sep 2007 19:54:29 +0000 (19:54 +0000)]
re PR tree-optimization/21513 (__builtin_expect getting in the way of uninitialized warnings)
PR tree-optimization/21513
* builtins.c (build_builtin_expect_predicate): New function.
(fold_builtin_expect): Add argument for expected value.
Distribute __builtin_expect over short-circuiting operations.
Fold nested builtin_expects.
(fold_builtin_2): Adjust call to fold_builtin_expect.
From-SVN: r128147
Rask Ingemann Lambertsen [Wed, 5 Sep 2007 19:47:56 +0000 (21:47 +0200)]
re PR web/32965 (missing documentation for -ftree-dse)
PR web/32965
PR tree-optimization/13756
* doc/invoke.texi (Options That Control Optimization): Document
-ftree-dse.
From-SVN: r128146
Paolo Carlini [Wed, 5 Sep 2007 19:10:48 +0000 (19:10 +0000)]
re PR c++/30302 (ICE with invalid member in anonymous struct)
/cp
2007-09-03 Paolo Carlini <pcarlini@suse.de>
PR c++/30302
* semantics.c (finish_id_expression): Check that path != NULL_TREE
before using TYPE_BINFO on it.
* class.c (finish_struct_anon): Deal correctly with anonymous
structs (vs unions, as GNU extension) in error messages.
/testsuite
2007-09-03 Paolo Carlini <pcarlini@suse.de>
PR c++/30302
* g++.dg/ext/anon-struct5.C: New.
From-SVN: r128145
Jason Merrill [Wed, 5 Sep 2007 18:56:55 +0000 (14:56 -0400)]
fix changelog entry
From-SVN: r128144
Pat Haugen [Wed, 5 Sep 2007 18:33:58 +0000 (18:33 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2007-09-05 Pat Haugen <pthaugen@us.ibm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r128143
Uros Bizjak [Wed, 5 Sep 2007 17:43:01 +0000 (19:43 +0200)]
cpuid.h: New file.
* gcc/config/i386/cpuid.h: New file.
* gcc/config/i386/driver-i386.c: Include cpuid.h.
(describe_cache): Shrink size and line strings to 100 bytes.
(detect_caches_amd): Return "" for unsupported max_ext_level.
Use __cpuid function.
(detect_caches_intel): Return "" for unsupported max_level.
Use __cpuid function.
(host_detect_local_cpu): Change feature flag variables to
unsigned int. Initialize only extended feature flag variables.
Use __get_cpuid_max to determine max supported cpuid level.
Use __cpuid function to determine supported features. Fix
calculation of family id. Remove is_amd and check signature
directly. Check for Geode signature. Handle family 4 id.
[PROCESSOR_GENERIC32]: New default for unknown family id. Move
cpu discovery code to other part of the function.
[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
for sub-architecture.
[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
[PROCESSOR_K8]: Add k8-sse3 architecture.
[PROCESSOR_GENERIC64]: Remove.
* gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
* gcc/config/i386/crtfastmath.c: Include cpuid.h. Use __get_cpuid
to check for SSE and FXSAVE support.
* gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
Add -minline-all-stringops.
* gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
(x86_64-*-*): Ditto.
testsuite/ChangeLog:
* gcc.dg/i386-cpuid.h: Remove.
* gcc.target/i386/mmx-check.h: Include cpuid.h. Use __get_cpuid.
* gcc.target/i386/sse-check.h: Ditto.
* gcc.target/i386/sse2-check.h: Ditto.
* gcc.target/i386/sse3-check.h: Ditto.
* gcc.target/i386/ssse3-check.h: Ditto.
* gcc.target/i386/sse4_1-check.h: Ditto.
* gcc.target/i386/sse4_2-check.h: Ditto.
* gcc.target/i386/sse4a-check.h: Ditto.
* gcc.dg/torture/pr16104-1.c: Ditto.
* gcc.target/i386/mmx-4.c: Do not use NOINLINE.
* gcc.target/i386/sse-6.c: Ditto.
* gcc.target/i386/sse-7.c: Ditto.
* g++.dg/other/i386-1.C: Include cpuid.h.
(main): New function. Use __get_cpuid to check target fetaures.
libgomp/ChangeLog:
* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
(main): Use __get_cpuid to get i386 target fetaures.
* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
(main): Use __get_cpuid to get x86_64 target fetaures.
From-SVN: r128141
Jie Zhang [Wed, 5 Sep 2007 16:23:42 +0000 (16:23 +0000)]
linux-unwind.h: New file.
* config/bfin/linux-unwind.h: New file.
* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.
From-SVN: r128140
Laurynas Biveinis [Wed, 5 Sep 2007 15:50:41 +0000 (15:50 +0000)]
Makefile.in (stmt.o): Add alloc-pool.h dependency.
2007-09-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* Makefile.in (stmt.o): Add alloc-pool.h dependency.
* stmt.c: Include alloc-pool.h.
(struct case_node): Remove GTY marker.
(add_case_node): New parameter case_node_pool. Use it for
allocation of r.
(expand_case): New allocation pool case_node_pool. Initialize it,
pass to add_case_node and free it.
From-SVN: r128139
Paul Thomas [Wed, 5 Sep 2007 14:59:03 +0000 (14:59 +0000)]
char_length_10.f90: Correct typo.
2007-09-05 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/char_length_10.f90: Correct typo.
From-SVN: r128136
Sandra Loosemore [Wed, 5 Sep 2007 14:46:25 +0000 (10:46 -0400)]
mipscop-1.c: Add nomips16 attributes.
2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
Nigel Stephens <nigel@mips.com>
gcc/testsuite/
* gcc.c-torture/compile/mipscop-1.c: Add nomips16 attributes.
* gcc.c-torture/compile/mipscop-2.c: Likewise.
* gcc.c-torture/compile/mipscop-3.c: Likewise.
* gcc.c-torture/compile/mipscop-4.c: Likewise.
* gcc.dg/torture/mips-hilo-1.c: Likewise.
* gcc.dg/torture/mips-hilo-2.c: Likewise.
* gcc.dg/torture/pr19683-1.c: Likewise.
* gcc.target/mips/madd-3.c: Likewise.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/asm-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/ins-1.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/smartmips-lwxs.c: Likewise.
* gcc.target/mips/smartmips-ror-1.c: Likewise.
* gcc.target/mips/smartmips-ror-2.c: Likewise.
* gcc.target/mips/smartmips-ror-3.c: Likewise.
* gcc.target/mips/smartmips-ror-4.c: Likewise.
* gcc.target/mips/dspr2-MULT.c: Likewise.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
* gcc.target/mips/mips32-dsp-run.c: Likewise.
* gcc.target/mips/mips32-dspr2-type.c: Likewise.
* gcc.target/mips/code-readable-1.c: Add mips16 attributes.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r128135
Sandra Loosemore [Wed, 5 Sep 2007 14:40:04 +0000 (10:40 -0400)]
Add mips16/nomips16 function attributes and -mflip-mips16 option for testing mixed-mode compilation.
2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
Nigel Stephens <nigel@mips.com>
Add mips16/nomips16 function attributes and -mflip-mips16 option
for testing mixed-mode compilation.
gcc/
* config/mips/mips.opt (mflip-mips16): New.
* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
(SYMBOL_FLAG_MIPS16_FUNC_P): Define.
* config/mips/mips.c (mips_base_target_flags): New.
(mips_base_mips16): New.
(mips_base_schedule_insns): New.
(mips_base_reorder_blocks_and_partition): New.
(mips_base_align_loops): New.
(mips_base_align_jumps): New.
(mips_base_align_functions): New.
(mips16_flipper): New.
(mips_attribute_table): Add "mips16" and "nomips16" entries.
(TARGET_SET_CURRENT_FUNCTION): Define.
(mips_mips16_type_p, mips_nomips16_type_p): New.
(mips_comp_type_attributes): Check mips16/nomips16 attributes.
(mips_function_ok_for_sibcall): Make it deal with functions with
mips16 attributes.
(mips_init_split_addresses): New, split out from override_options.
(mips_init_relocs): New, split out from override_options.
(was_mips16_p): New.
(mips_set_mips16_mode): New, split out from override_options.
(mips_set_current_function): New.
(override_options): Add sorry for unsupported mips16/pic
combination. Remove error for mips16/dsp combination. Save
base option settings.
(mips_file_start): Move mips16 mode setting output from here....
(mips_output_function_prologue): ....to here.
(mips_output_mi_thunk): Check for mips16 function.
(build_mips16_function_stub): Don't set .mips16 here.
(build_mips16_call_stub): Likewise.
(mips_expand_builtin): Error in mips16 mode.
(mips_use_mips16_mode_p): New.
(mips_encode_section_info): Check for mips16 function, and set
SYMBOL_REF_FLAGS accordingly.
* doc/extend.texi (Function Attributes): Document new
mips16/nomips16 attributes.
* doc/invoke.texi (Option Summary): Add -mflip-mips16.
(MIPS Options): Document -mflip-mips16.
gcc/testsuite/
* gcc.target/mips/mips16-attributes.c: New.
Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r128134
Sandra Loosemore [Wed, 5 Sep 2007 14:33:48 +0000 (10:33 -0400)]
mips.c (mips_legitimize_tls_address): Call sorry if we encounter TLS address in MIPS16 mode.
2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/mips.c (mips_legitimize_tls_address): Call sorry
if we encounter TLS address in MIPS16 mode.
(mips_legitimize_const_move): Check cannot_force_const_mem for
the (const (plus symbol offset)) case; this forces invalid TLS
address in MIPS16 mode to be caught by the above call to sorry.
(override_options): Don't reset targetm.have_tls in MIPS16 mode,
because that now enables emutls, which is not ABI compatible
with native TLS in non-MIPS16 mode.
From-SVN: r128133
Sandra Loosemore [Wed, 5 Sep 2007 14:24:54 +0000 (10:24 -0400)]
Add target hook invoked when cfun changes.
2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
gcc/
Add target hook invoked when cfun changes.
* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
* target.h (struct gcc_target): Add set_current_function.
* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
(TARGET_INITIALIZER): Add initializer for set_current_function.
* tree.h (push_struct_function): New.
* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
* function.h: Here.
(set_cfun): Declare.
* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
* function.c: Here.
(push_function_context_to): Use allocate_struct_function
to create null context, not init_dummy_function_start. Use set_cfun.
(pop_function_context_from): Use set_cfun.
(in_dummy_function): New.
(invoke_set_current_function_hook): New.
(set_cfun): New.
(push_cfun, pop_cfun): Use set_cfun.
(push_struct_function): New.
(allocate_struct_function): Call invoke_set_current_function_hook
before returning.
(prepare_function_start): Don't set cfun here. Remove unused
argument; fix all callers.
(init_dummy_function_start): Fiddle with in_dummy_function. Call
push_struct_function.
(init_function_start): Set cfun here.
(expand_dummy_function_end): Fiddle with in_dummy_function. Pop cfun.
* omp-low.c (create_omp_child_function): Use push_struct_function
and pop_cfun to save/restore state.
(expand_omp_parallel): Remove unused saved_cfun variable.
* cgraphunit.c (ipa_passes): Use set_cfun.
* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
* dwarf2out.c (dwarf2out_abstract_function): Likewise.
* matrix-reorg.c (transform_allocation_sites): Likewise.
(matrix_reorg): Use set_cfun.
* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
assignment to cfun; use set_cfun for the other.
* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
(dump_function_to_file): Use push_cfun/pop_cfun here.
* c-decl.c (finish_function): Use set_cfun.
gcc/ada/
* trans.c (Compilation_unit_to_gnu): Use set_cfun.
* utils.c (end_subprog_body): Likewise.
gcc/cp/
* decl.c (finish_function): Use set_cfun.
* method.c (use_thunk): Likewise.
gcc/fortran/
* trans-decl.c (build_entry_thunks): Use set_cfun.
(gfc_generate_function_code): Likewise.
gcc/java/
* decl.c (finish_method): Use set_cfun.
gcc/treelang/
* treetree.c (tree_code_create_function_wrapup): Use set_cfun.
From-SVN: r128132
Richard Guenther [Wed, 5 Sep 2007 14:10:07 +0000 (14:10 +0000)]
configure.ac (--enable-stage1-checking): If neither --enable-checking nor --disable-checking is provided also turn on...
2007-09-05 Richard Guenther <rguenther@suse.de>
* configure.ac (--enable-stage1-checking): If neither --enable-checking
nor --disable-checking is provided also turn on yes and types
checking for stage1.
* configure: Re-generate.
From-SVN: r128131
Paul Thomas [Wed, 5 Sep 2007 13:34:25 +0000 (13:34 +0000)]
re PR fortran/31564 (Error: Type/rank mismatch in argument)
2007-09-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31564
* primary.c (gfc_match_rvalue): Make expressions that refer
to derived type parameters that have array references into
variable expressions. Remove references to use association
from the symbol.
PR fortran/33241
* decl.c (add_init_expr_to_sym): Provide assumed character
length parameters with the length of the initialization
expression, if a constant, or that of the first element of
an array.
2007-09-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31564
* gfortran.dg/derived_comp_array_ref_2.f90: New test.
PR fortran/33241
* gfortran.dg/char_length_10.f90: New test.
From-SVN: r128130
Kenneth Zadeck [Wed, 5 Sep 2007 13:23:32 +0000 (13:23 +0000)]
regrename.c (rerename_optimize): Use deferred rescanning and insert explicit calls to rescan insns when changed.
2007-09-05 Kenneth Zadeck <zadeck@naturalbridge.com>
* regrename.c (rerename_optimize): Use deferred rescanning and
insert explicit calls to rescan insns when changed.
From-SVN: r128129
Jan Hubicka [Wed, 5 Sep 2007 10:51:34 +0000 (12:51 +0200)]
optabs.c (libfunc_entry): Change optab to integer.
* optabs.c (libfunc_entry): Change optab to integer.
(hash_libfunc, convert_optab_libfunc, optab_libfunc,
set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
of pointers for hashing.
From-SVN: r128128
Jan Hubicka [Wed, 5 Sep 2007 10:50:18 +0000 (12:50 +0200)]
sematics.c (expand_body): Remove unnecesary import_export_decl call...
* cp/sematics.c (expand_body): Remove unnecesary import_export_decl
call, DECL_EXTERNAL checks and current_function_decl saving.
From-SVN: r128127
Jan Hubicka [Wed, 5 Sep 2007 10:49:01 +0000 (12:49 +0200)]
regrename.c (pass_regrename, [...]): Add RTL sharing verifier.
* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
verifier.
* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
* see.c (pass_see): Likewise.
* tracer.c (pass_tracer): Likewise.
* postreload-gcse.c (pass_gcse2): Likewise.
* postreload.c (pass_postreload_cse): Likewise.
* mode-switching.c (pass_mode_switching): Likewise.
* modulo-sched.c (pass_sms): Likewise.
* cse.c (cse_insn): Likewise.
* web.c (pass_web): Likweise.
* combine-stack-adj.c (pass_stack_adjustments): Likewise.
* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
* loop-init.c (pass_rtl_loop_init): Likewise.
(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
* global.c (pass_global_alloc): Likewise.
* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
pass_if_after_reload): Likewise.
* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
* regmove.c (pass_regmove): Likewise.
* function.c (pass_thread_prologugues_epilogues): Likewise.
* gcse.c (pass_gcse): Likewise.
* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
* lower-subreg.c (pass_lower_subreg2): Likewise.
* bt-load.c (pass_branch_target_load): Likewise.
* emit-rtl.c (pass_unshare_all_rtl): Likewise.
* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
* combine.c (pass_combine): Likewise.
* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
(pass_partition_blocks): Likewise.
* var-tracking.c (pass_variable_track): Likewise.
* reg-stack.c (pass_stack_regs_run): Likewise.
* sched-rgn.c (pass_sched, pass_sched2): Likewise.
* passes.c (pass_postreload): Likewise.
(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
* tree-pass.h (TODO_verify_rtl_sharing): New.
(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
TODO_set_props, TODO_df_finish, TODO_df_verify,
TODO_mark_first_instance, TODO_rebuild_alias): Renumber.
From-SVN: r128126
Paolo Carlini [Wed, 5 Sep 2007 09:31:54 +0000 (09:31 +0000)]
PR c++/29731 (again)
/cp
2007-09-05 Paolo Carlini <pcarlini@suse.de>
PR c++/29731 (again)
* parser.c (cp_parser_primary_expression): Return error_mark_node
when a statement-expression is found in a template-argument list.
/testsuite
2007-09-05 Paolo Carlini <pcarlini@suse.de>
PR c++/29731
* g++.dg/parse/template24.C: New.
From-SVN: r128124
Matthias Klose [Wed, 5 Sep 2007 07:45:09 +0000 (07:45 +0000)]
configure.ac: Do not pass --with-native-libdir to classpath.
libjava/
2007-09-04 Matthias Klose <doko@ubuntu.com>
* configure.ac: Do not pass --with-native-libdir to classpath.
* configure: Regenerate.
libjava/classpath/
2007-09-04 Matthias Klose <doko@ubuntu.com>
* configure.ac: Append libgcj soversion to nativeexeclibdir.
* configure: Regenerate.
From-SVN: r128121
Kaveh R. Ghazi [Wed, 5 Sep 2007 06:59:36 +0000 (06:59 +0000)]
fold-const.c (all_ones_mask_p, [...]): Constify.
* fold-const.c (all_ones_mask_p, sign_bit_p, simple_operand_p,
fold_real_zero_addition_p, reorder_operands_p,
div_if_zero_remainder, fold_undefer_overflow_warnings,
int_binop_types_match_p, fold_convert_const_int_from_int,
fold_convert_const_int_from_real,
fold_convert_const_int_from_fixed,
fold_convert_const_real_from_real,
fold_convert_const_real_from_fixed,
fold_convert_const_fixed_from_fixed,
fold_convert_const_fixed_from_int,
fold_convert_const_fixed_from_real, maybe_lvalue_p,
fold_checksum_tree, fold_check_failed, print_fold_checksum,
debug_fold_checksum, multiple_of_p): Constify.
* tree-flow-inline.h (get_lineno): Likewise.
* tree-flow.h (get_lineno): Likewise.
* tree-object-size.c (compute_object_offset, addr_object_size,
alloc_object_size, pass_through_call): Likewise.
* tree-pretty-print.c (op_symbol, print_call_name,
print_struct_decl, do_niy): Likewise.
* tree.h (fold_undefer_overflow_warnings, multiple_of_p,
debug_fold_checksum): Likewise.
From-SVN: r128120
Steven Bosscher [Wed, 5 Sep 2007 05:31:37 +0000 (05:31 +0000)]
re PR middle-end/33029 (libgcc2.c:1890: internal compiler error: in local_cprop_pass, at gcse.c:3236)
PR middle-end/33029
* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
note, remove the associated REG_RETVAL note.
From-SVN: r128119
Andrew Pinski [Wed, 5 Sep 2007 01:36:09 +0000 (01:36 +0000)]
config.gcc (powerpc*-*-*): Install spu2vmx.h, vec_types.h, and si2vmx.h headers.
2007-09-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config.gcc (powerpc*-*-*): Install
spu2vmx.h, vec_types.h, and si2vmx.h headers.
* config/rs6000/spu2vmx.h: New header.
* config/rs6000/si2vmx.h: New header.
* config/rs6000/vec_types.h: New header.
2007-09-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
* g++.dg/other/spu2vmx-1.C: New test.
From-SVN: r128118
Ben Elliston [Wed, 5 Sep 2007 01:31:53 +0000 (01:31 +0000)]
* varasm.c (initializer_constant_valid_p): Fix comment typo.
From-SVN: r128117
Ben Elliston [Wed, 5 Sep 2007 01:22:05 +0000 (01:22 +0000)]
ppu_intrinsics.h (__ldarx): Use `Z' constraint, not `m' for *ptrp.
* config/rs6000/ppu_intrinsics.h (__ldarx): Use `Z' constraint,
not `m' for *ptrp.
(__stdcx): Make asm volatile.
(__stwcx, __stdcx): Return only 0 or 1.
From-SVN: r128116
Jason Merrill [Wed, 5 Sep 2007 01:04:05 +0000 (21:04 -0400)]
except.c (initialize_handler_parm): Use fold_build_cleanup_point_expr.
* except.c (initialize_handler_parm): Use
fold_build_cleanup_point_expr.
From-SVN: r128115
Jerry DeLisle [Wed, 5 Sep 2007 00:51:18 +0000 (00:51 +0000)]
re PR libfortran/33225 (Missing last digit in some formatted output (on 32bit targets), per kind write_float)
2007-03-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33225
* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
new file write_float.def. Include write_float.def.
(extract_real): Delete. (calculate_sign): Delete.
(calculate_exp): Delete. (calculate_G_format): Delete.
(output_float): Delete. (write_float): Delete.
* io/write_float.def (calculate_sign): Added.
(output_float): Refactored to be independent of kind and added to this
file for inclusion. (write_infnan): New function to write "Infinite" or
"NaN" depending on flags passed, independent of kind.
(CALCULATE_EXP): New macro to build kind specific functions. Use it.
(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
(DTOA, DTOAL): Macros to implement "decimal to ascii".
(WRITE_FLOAT): New macro for kind specific write_float functions.
(write_float): Revised function to determine kind and use WRITE_FLOAT
to implement kind specific output.
From-SVN: r128114
GCC Administrator [Wed, 5 Sep 2007 00:17:36 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128112
Jan Hubicka [Wed, 5 Sep 2007 00:03:32 +0000 (02:03 +0200)]
Revert:
2007-09-04 Jan Hubicka <jh@suse.cz>
* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
2007-09-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (add_virtual_operand): Only mark
stores as has_volatile_ops if alias information is not available.
From-SVN: r128109
Jakub Jelinek [Tue, 4 Sep 2007 23:31:11 +0000 (01:31 +0200)]
re PR rtl-optimization/32300 (ICE with -O2 -fsee)
PR rtl-optimization/32300
* see.c (see_copy_insn): New function.
(see_def_extension_not_merged, see_merge_one_use_extension,
see_merge_one_def_extension): Use it. Avoid changing
PREV_INSN/NEXT_INSN chains directly, insted emit insns
into sequences. Call df_insn_delete on temporary insns
that won't be emitted into the insn stream.
(rest_of_handle_see): Turn off DF_DEFER_INSN_RESCAN
and run df_process_deferred_rescans () before run_fast_dce.
From-SVN: r128108
Jakub Jelinek [Tue, 4 Sep 2007 23:29:58 +0000 (01:29 +0200)]
re PR tree-optimization/33017 (tree check fail for legal code)
PR tree-optimization/33017
* tree-data-ref.c (split_constant_offset) <case SSA_NAME>: Don't
recurse for pure or const function calls.
* gcc.dg/pr33017.c: New test.
From-SVN: r128107
Jakub Jelinek [Tue, 4 Sep 2007 23:28:26 +0000 (01:28 +0200)]
tramp.asm: Include config.h.
* config/rs6000/tramp.asm: Include config.h.
Check __PIC__ or __pic__ macro instead of SHARED.
From-SVN: r128106
Laurynas Biveinis [Tue, 4 Sep 2007 23:22:34 +0000 (23:22 +0000)]
c-format.c: Include alloc-pool.h.
2007-09-04 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* c-format.c: Include alloc-pool.h.
(check_format_info_main): New argument fwt_alloc. Use allocation
pool instead of GC. Remove GC deallocation code.
(check_format_arg): Create allocation pool, pass it to
check_format_info_main and free it afterwards.
* Makefile.in (c-format.o): Add alloc-pool.h dependency.
From-SVN: r128105
Matthias Klose [Tue, 4 Sep 2007 21:32:41 +0000 (21:32 +0000)]
re PR libgcj/33278 (libjava fails to compile if configure argument contains "version")
2007-09-05 Matthias Klose <doko@ubuntu.com>
PR libgcj/33278
* configure.ac: Robustify extraction of gcj version.
* configure: Regenerate.
From-SVN: r128104
Ben Elliston [Tue, 4 Sep 2007 21:10:59 +0000 (21:10 +0000)]
ppu_intrinsics.h (__protected_stream_count): Rename count macro arugment for clarity.
* config/rs6000/ppu_intrinsics.h (__protected_stream_count):
Rename count macro arugment for clarity.
(__protected_unlimited_stream_set): Pass UG=1 to __dcbt_TH1000.
(__protected_stream_set): Likewise, pass 0.
testsuite/
* gcc.target/powerpc/ppu-intrinsics.c: Add test cases for the
__protected_stream family of macros.
From-SVN: r128103
Jason Merrill [Tue, 4 Sep 2007 20:18:05 +0000 (16:18 -0400)]
re PR c++/31419 (template user defined conversion operator instantiated for conversion to self)
PR c++/31419
* call.c (reference_binding): Don't look for user-defined conversions
to the same type.
From-SVN: r128102
Jan Hubicka [Tue, 4 Sep 2007 19:27:11 +0000 (21:27 +0200)]
* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
From-SVN: r128101
Jason Merrill [Tue, 4 Sep 2007 18:37:33 +0000 (14:37 -0400)]
re PR c++/31411 (ICE in gimplify_expr with throw/special copy constructor with initializer with a deconstructor)
PR c++/31411
* except.c (initialize_handler_parm): Put a CLEANUP_POINT_EXPR inside
the MUST_NOT_THROW_EXPR.
From-SVN: r128100
Andrew Haley [Tue, 4 Sep 2007 18:00:31 +0000 (18:00 +0000)]
[multiple changes]
2007-09-04 Andrew Haley <aph@redhat.com>
PR java/27908
* testsuite/libjava.lang/PR27908.java
({run1,run2,run3}.isRunning): New Method.
(main): Fix race condition.
2007-08-29 Andrew Haley <aph@redhat.com>
* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
Make sure we're not sibcalled.
(GET_CALLING_CLASS): Define for ARM EABI.
2007-08-22 Andrew Haley <aph@redhat.com>
* configure.host (BACKTRACESPEC): Add arm*-linux*.
2007-08-22 Andrew Haley <aph@redhat.com>
* configure.ac (LIBSTDCXXSPEC): New.
* configure.host: Add arm*-linux* to pthread test.
* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
EABI.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
-fexceptions for ARM EABI.
* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
(libjava_invoke): Log the invocation.
2007-08-15 Andrew Haley <aph@redhat.com>
* configure.ac (extra_ldflags): Define.
* Makefile.am: Use extra_ldflags for all executables.
2007-08-14 Andrew Haley <aph@redhat.com>
* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
_Unwind_GetRegionStart, and _Unwind_Backtrace.
2007-07-27 Andrew Haley <aph@redhat.com>
* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
ARM EABI.
* exception.cc (get_exception_header_from_ue): New.
(get_ttype_entry): ARM EABI version.
(PERSONALITY_FUNCTION): Add ARM EABI code.
* sysdep/arm/backtrace.h: New file.
* stacktrace.cc (_URC_NORMAL_STOP): New.
* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
EABI.
* configure.host (BACKTRACESPEC): Add arm/backtrace.h.
From-SVN: r128098
Andrew Haley [Tue, 4 Sep 2007 17:57:52 +0000 (17:57 +0000)]
[multiple changes]
2007-09-04 Andrew Haley <aph@redhat.com>
PR java/27908
* testsuite/libjava.lang/PR27908.java
({run1,run2,run3}.isRunning): New Method.
(main): Fix race condition.
2007-08-29 Andrew Haley <aph@redhat.com>
* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
Make sure we're not sibcalled.
(GET_CALLING_CLASS): Define for ARM EABI.
2007-08-22 Andrew Haley <aph@redhat.com>
* configure.host (BACKTRACESPEC): Add arm*-linux*.
2007-08-22 Andrew Haley <aph@redhat.com>
* configure.ac (LIBSTDCXXSPEC): New.
* configure.host: Add arm*-linux* to pthread test.
* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
EABI.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
-fexceptions for ARM EABI.
* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
(libjava_invoke): Log the invocation.
2007-08-15 Andrew Haley <aph@redhat.com>
* configure.ac (extra_ldflags): Define.
* Makefile.am: Use extra_ldflags for all executables.
2007-08-14 Andrew Haley <aph@redhat.com>
* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
_Unwind_GetRegionStart, and _Unwind_Backtrace.
2007-07-27 Andrew Haley <aph@redhat.com>
* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
ARM EABI.
* exception.cc (get_exception_header_from_ue): New.
(get_ttype_entry): ARM EABI version.
(PERSONALITY_FUNCTION): Add ARM EABI code.
* sysdep/arm/backtrace.h: New file.
* stacktrace.cc (_URC_NORMAL_STOP): New.
* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
EABI.
* configure.host (BACKTRACESPEC): Add arm/backtrace.h.
From-SVN: r128097
Andrew Haley [Tue, 4 Sep 2007 17:56:02 +0000 (17:56 +0000)]
Delete.
From-SVN: r128095
Andrew Haley [Tue, 4 Sep 2007 17:54:56 +0000 (17:54 +0000)]
re PR java/27908 (VMSecureRandom generateSeed infinite loop? (Regression))
2007-09-04 Andrew Haley <aph@redhat.com>
PR java/27908
* testsuite/libjava.lang/PR27908.java
({run1,run2,run3}.isRunning): New Method.
(main): Fix race condition.
From-SVN: r128094
Andrew Haley [Tue, 4 Sep 2007 17:52:45 +0000 (17:52 +0000)]
[multiple changes]
2007-09-04 <aph@redhat.com>
* src/arm/sysv.S (UNWIND): New.
(Whole file): Conditionally compile unwinder directives.
* src/arm/sysv.S: Add unwinder directives.
* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
Only treat r0 as a struct address if we're actually returning a
struct by address.
Only copy the bytes that are actually within a struct.
(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
is returned in r0, not passed by address.
(ffi_call): Allocate a word-sized temporary for the case where
a composite is returned in r0.
(ffi_prep_incoming_args_SYSV): Align as necessary.
2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
directly using the sys_cacheflush syscall.
2007-07-27 Andrew Haley <aph@redhat.com>
* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
From-SVN: r128093
Jan Hubicka [Tue, 4 Sep 2007 16:07:50 +0000 (18:07 +0200)]
re PR middle-end/29478 (optimization generates warning for casts)
* gcc.dg/tree-ssa/loadpre8.c: Disable inlining.
* gcc.dg/tree-ssa/pr27236.c: Likewise.
* gcc.dg/tree-ssa/predcom-1.c: Likewise.
* gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc.dg/tree-ssa/flatten-2.c: Avoid overactive tail call ellim.
* gcc.dg/tree-ssa/loadpre5.c: Likewise.
* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
Likewise.
* invoke.texi (-finline-small-functions): Document.
* ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE
when deciding what is inlinable.
(cgraph_decide_recursive_inlining): Handle flag_inline_functions.
(cgraph_decide_inlining_of_small_function): Handle new flags.
(cgraph_decide_inlining_incrementally): Likewise.
* opts.c (decode_options): Enable flag_inline_small_functions at -O2
* common.opt (finline-small-functions): New.
* Makefile.in (build/gengtype.o-warn): Work around PR29478
From-SVN: r128092
Richard Sandiford [Tue, 4 Sep 2007 15:53:21 +0000 (15:53 +0000)]
decl.c (cp_finish_decl): Call determine_visibility before make_rtl_for_nonlocal_decl.
gcc/cp/
* decl.c (cp_finish_decl): Call determine_visibility before
make_rtl_for_nonlocal_decl.
From-SVN: r128091
Richard Biener [Tue, 4 Sep 2007 15:29:15 +0000 (15:29 +0000)]
tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available.
2007-09-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (add_virtual_operand): Only mark
stores as has_volatile_ops if alias information is not available.
From-SVN: r128089
Andrew Haley [Tue, 4 Sep 2007 15:08:15 +0000 (15:08 +0000)]
libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
2007-08-29 Andrew Haley <aph@redhat.com>
* config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
From-SVN: r128088
Andrew Haley [Tue, 4 Sep 2007 15:05:01 +0000 (15:05 +0000)]
libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
2007-08-08 Andrew Haley <aph@redhat.com>
* config/arm/libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
* config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New.
* config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New.
From-SVN: r128087
Andrew Haley [Tue, 4 Sep 2007 15:03:54 +0000 (15:03 +0000)]
decl.c (java_init_decl_processing): Call "__cxa_end_cleanup" when using the ARM EABI.
2007-09-04 Andrew Haley <aph@redhat.com>
* decl.c (java_init_decl_processing): Call "__cxa_end_cleanup"
when using the ARM EABI.
From-SVN: r128086
Emmanuel Thome [Tue, 4 Sep 2007 14:27:05 +0000 (14:27 +0000)]
re PR c++/14178 (doc bug: -fabi-version=2 is now default (not 1))
2007-09-04 Emmanuel Thome <Emmanuel.Thome@inria.fr>
PR c++/14178
* common.opt: Mention ABI version 2 in comment.
From-SVN: r128085
Jan Hubicka [Tue, 4 Sep 2007 14:03:31 +0000 (16:03 +0200)]
optabs.c (debug_optab_libfunc): Update; make available to gdb.
* optabs.c (debug_optab_libfunc): Update; make available to gdb.
(libfunc_entry): New structure.
(libfunc_hash): New hashtable.
(hash_libfunc): New function.
(eq_libfunc): New function.
(convert_optab_libfunc): New function.
(optab_libfunc): New function.
(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
expand_float, expand_fix, new_optab, new_convert_optab):
Update for new libfunc API.
(init_libfunc, init_integral_libfuncs,
init_floating_libfuncs, init_interclass_conv_libfuncs
init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
gen_extend_conv_libfunc): New.
(init_one_libfunc): Revamp for hashtables.
(set_conv_libfunc): Likewise.
(init_optabs): Initialize hashtable; use lazy initialization where possible.
* optabs.h (optab_handlers): Move out of GGC.
(optab, convert_optab): Move out of GGC; add lazy gen info.
(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
(optab_libfunc, convert_optab_libfunc): New.
* builtins.c (expand_builtin_powi): Update for new API.
* expr.c (convert_move): Likewise.
* expmed.c (expand_divmod): Likewise.
From-SVN: r128083
Janus Weil [Tue, 4 Sep 2007 13:50:35 +0000 (13:50 +0000)]
decl.c (match_procedure_decl,match_procedure_in_interface, [...]): Handle PROCEDURE statements.
2007-09-04 Janus Weil <jaydub66@gmail.com>
Paul Thomas <pault@gcc.gnu.org>
* decl.c (match_procedure_decl,match_procedure_in_interface,
gfc_match_procedure): Handle PROCEDURE statements.
* gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
(enum gfc_statement): New element "ST_PROCEDURE".
(strcut symbol_attribute): New member "unsigned procedure".
* interface.c (check_interface0): Extended error checking.
* match.h: Add gfc_match_procedure prototype.
* parse.c (decode_statement,next_statement,gfc_ascii_statement,
parse_derived,parse_interface): Implement PROCEDURE statements.
* resolve.c (resolve_symbol): Ditto.
* symbol.c (check_conflict): Ditto.
(gfc_add_proc): New function for setting the procedure attribute.
(copy_formal_args): New function for copying formal argument lists.
2007-09-04 Janus Weil <jaydub66@gmail.com>
Tobias Burnus <burnus@net-b.de>
* gfortran.dg/proc_decl_1.f90: New.
* gfortran.dg/proc_decl_2.f90: New.
* gfortran.dg/proc_decl_3.f90: New.
* gfortran.dg/proc_decl_4.f90: New.
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r128081
Daniel Jacobowitz [Tue, 4 Sep 2007 13:46:47 +0000 (13:46 +0000)]
rs6000.c (rs6000_stack_info): Allocate space for the GOT pointer only if there is a constant pool.
* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
GOT pointer only if there is a constant pool. Use the allocated space
for SPE also.
From-SVN: r128080
Jan Hubicka [Tue, 4 Sep 2007 13:05:19 +0000 (15:05 +0200)]
vect-reduc-dot-s16b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s16b.c: Mark functions noinline.
* gcc.dg/vect/vect-105.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-53.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/fast-math-vect-pr29925.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8a.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-7.c: Mark functions noinline.
* gcc.dg/vect/vect-50.c: Mark functions noinline.
* gcc.dg/vect/vect-33.c: Mark functions noinline.
* gcc.dg/vect/vect-16.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-sum.c: Mark functions noinline.
* gcc.dg/vect/vect-float-extend-1.c: Mark functions noinline.
* gcc.dg/vect/vect-92.c: Mark functions noinline.
* gcc.dg/vect/vect-75.c: Mark functions noinline.
* gcc.dg/vect/vect-58.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-7.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-69.c: Mark functions noinline.
* gcc.dg/vect/vect-114.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4g.c: Mark functions noinline.
* gcc.dg/vect/vect-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-45.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10a.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-18.c: Mark functions noinline.
* gcc.dg/vect/vect-42.c: Mark functions noinline.
* gcc.dg/vect/vect-25.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-01.c: Mark functions noinline.
* gcc.dg/vect/vect-67.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-106.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-37.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-79.c: Mark functions noinline.
* gcc.dg/vect/vect-34.c: Mark functions noinline.
* gcc.dg/vect/vect-17.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102a.c: Mark functions noinline.
* gcc.dg/vect/vect-align-1.c: Mark functions noinline.
* gcc.dg/vect/vect-93.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s16.c: Mark functions noinline.
* gcc.dg/vect/vect-76.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-8.c: Mark functions noinline.
* gcc.dg/vect/vect-115.c: Mark functions noinline.
* gcc.dg/vect/vect-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1a.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-11.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10b.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-6.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-19.c: Mark functions noinline.
* gcc.dg/vect/vect-60.c: Mark functions noinline.
* gcc.dg/vect/vect-26.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-02.c: Mark functions noinline.
* gcc.dg/vect/vect-85.c: Mark functions noinline.
* gcc.dg/vect/vect-68.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3b.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-8.c: Mark functions noinline.
* gcc.dg/vect/vect-107.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-20.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-9.c: Mark functions noinline.
* gcc.dg/vect/vect-52.c: Mark functions noinline.
* gcc.dg/vect/vect-35.c: Mark functions noinline.
* gcc.dg/vect/vect-18.c: Mark functions noinline.
* gcc.dg/vect/vect-align-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-1.c: Mark functions noinline.
* gcc.dg/vect/vect-77.c: Mark functions noinline.
* gcc.dg/vect/vect-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2d.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-82_64.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-116.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-12.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-101.c: Mark functions noinline.
* gcc.dg/vect/vect-44.c: Mark functions noinline.
* gcc.dg/vect/vect-27.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-03.c: Mark functions noinline.
* gcc.dg/vect/vect-86.c: Mark functions noinline.
* gcc.dg/vect/vect-100.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3c.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir-lb.c: Mark functions noinline.
* gcc.dg/vect/vect-108.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-21.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-11.c: Mark functions noinline.
* gcc.dg/vect/vect-70.c: Mark functions noinline.
* gcc.dg/vect/vect-36.c: Mark functions noinline.
* gcc.dg/vect/vect-19.c: Mark functions noinline.
* gcc.dg/vect/vect-95.c: Mark functions noinline.
* gcc.dg/vect/vect-78.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-3.c: Mark functions noinline.
* gcc.dg/vect/vect-all.c: Mark functions noinline.
* gcc.dg/vect/vect-117.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-13.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-20.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102.c: Mark functions noinline.
* gcc.dg/vect/vect-62.c: Mark functions noinline.
* gcc.dg/vect/vect-28.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-10.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-04.c: Mark functions noinline.
* gcc.dg/vect/vect-87.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16a.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4a.c: Mark functions noinline.
* gcc.dg/vect/vect-109.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-22.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8a.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-57.c: Mark functions noinline.
* gcc.dg/vect/vect-12.c: Mark functions noinline.
* gcc.dg/vect/vect-71.c: Mark functions noinline.
* gcc.dg/vect/vect-54.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-96.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1char.c: Mark functions noinline.
* gcc.dg/vect/vect-110.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4k.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-14.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-49.c: Mark functions noinline.
* gcc.dg/vect/vect-21.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Mark functions noinline.
* gcc.dg/vect/vect-80.c: Mark functions noinline.
* gcc.dg/vect/vect-63.c: Mark functions noinline.
* gcc.dg/vect/vect-46.c: Mark functions noinline.
* gcc.dg/vect/vect-29.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-11.c: Mark functions noinline.
* gcc.dg/vect/vect-88.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-3.c: Mark functions noinline.
* gcc.dg/vect/vect-83_64.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-4.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/vect-30.c: Mark functions noinline.
* gcc.dg/vect/vect-13.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-same-dr.c: Mark functions noinline.
* gcc.dg/vect/vect-72.c: Mark functions noinline.
* gcc.dg/vect/vect-38.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u16.c: Mark functions noinline.
* gcc.dg/vect/vect-97.c: Mark functions noinline.
* gcc.dg/vect/vect-111.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4d.c: Mark functions noinline.
* gcc.dg/vect/vect-5.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult-char-ls.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4l.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-15.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1short.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-22.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-64.c: Mark functions noinline.
* gcc.dg/vect/vect-89.c: Mark functions noinline.
* gcc.dg/vect/no-tree-dom-vect-bug.c: Mark functions noinline.
* gcc.dg/vect/vect-103.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-51.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-pr29145.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-5.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8c.c: Mark functions noinline.
* gcc.dg/vect/vect-11a.c: Mark functions noinline.
* gcc.dg/vect/vect-31.c: Mark functions noinline.
* gcc.dg/vect/vect-14.c: Mark functions noinline.
* gcc.dg/vect/vect-73.c: Mark functions noinline.
* gcc.dg/vect/vect-56.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-98.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-float.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-3.c: Mark functions noinline.
* gcc.dg/vect/vect-112.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9a.c: Mark functions noinline.
* gcc.dg/vect/vect-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-43.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4m.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-3.c: Mark functions noinline.
* gcc.dg/vect/pr25413.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-16.c: Mark functions noinline.
* gcc.dg/vect/vect-40.c: Mark functions noinline.
* gcc.dg/vect/vect-23.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-82.c: Mark functions noinline.
* gcc.dg/vect/vect-65.c: Mark functions noinline.
* gcc.dg/vect/vect-48.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s16a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Mark functions noinline.
* gcc.dg/vect/vect-104.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-6.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-32.c: Mark functions noinline.
* gcc.dg/vect/vect-15.c: Mark functions noinline.
* gcc.dg/vect/no-trapping-math-2.c: Mark functions noinline.
* gcc.dg/vect/vect-float-truncate-1.c: Mark functions noinline.
* gcc.dg/vect/vect-91.c: Mark functions noinline.
* gcc.dg/vect/vect-74.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2char.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-99.c: Mark functions noinline.
* gcc.dg/vect/vect-113.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4f.c: Mark functions noinline.
* gcc.dg/vect/vect-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-61.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-17.c: Mark functions noinline.
* gcc.dg/vect/vect-24.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-83.c: Mark functions noinline.
* gcc.dg/vect/vect-66.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Mark functions noinline.
From-SVN: r128079
Daniel Jacobowitz [Tue, 4 Sep 2007 12:57:59 +0000 (12:57 +0000)]
linux-unwind.h (ppc_fallback_frame_state): Correct typo for AltiVec.
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
typo for AltiVec.
From-SVN: r128078
Jason Merrill [Tue, 4 Sep 2007 12:27:38 +0000 (08:27 -0400)]
re PR c++/14032 (Specialization of inner template using outer template argument doesn't work)
PR c++/14032
* pt.c (most_specialized_class): Substitute outer template
arguments into the arguments of a member template partial
specialization.
(strip_innermost_template_args): New fn.
From-SVN: r128077
Jason Merrill [Tue, 4 Sep 2007 12:27:21 +0000 (08:27 -0400)]
re PR c++/14032 (Specialization of inner template using outer template argument doesn't work)
PR c++/14032
* pt.c (most_specialized_class): Substitute outer template
arguments into the arguments of a member template partial
specialization.
(strip_innermost_template_args): New fn.
From-SVN: r128076
Revital Eres [Tue, 4 Sep 2007 12:11:11 +0000 (12:11 +0000)]
Add new fp flags: -fassociative-math and -freciprocal-math
Co-Authored-By: R. Clint Whaley <whaley@cs.utsa.edu>
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r128075
Paolo Carlini [Tue, 4 Sep 2007 11:07:52 +0000 (11:07 +0000)]
re PR c++/18608 (Configuration documentation mentions wrong flag)
2007-09-04 Paolo Carlini <pcarlini@suse.de>
PR c++/18608
* doc/install.texi (--enable-__cxa_atexit): Fix typo.
From-SVN: r128074
Jan Hubicka [Tue, 4 Sep 2007 10:29:23 +0000 (12:29 +0200)]
regrename.c (build_def_use): Don't share RTL between MATCH_OPERATOR and corresponding MATCH_DUP.
* regrename.c (build_def_use): Don't share RTL between MATCH_OPERATOR
and corresponding MATCH_DUP.
* regrename.c(copyprop_hardreg_forward_1): Unshare when doing copyprop.
From-SVN: r128073
Uros Bizjak [Tue, 4 Sep 2007 10:07:19 +0000 (12:07 +0200)]
re PR middle-end/33187 (Missed cmove opportunity)
PR middle-end/33187
* combine.c (subst): Do not try to simplify X if it represents load
of FP constant from the constant pool via float extension.
testsuite/ChangeLog:
PR middle-end/33187
* gcc.target/i386/cmov7.c: New file.
From-SVN: r128072
Ben Elliston [Tue, 4 Sep 2007 09:48:04 +0000 (09:48 +0000)]
* Makefile.in (c-opts.o): Add $(TM_P_H) as a dependency.
From-SVN: r128071
Ben Elliston [Tue, 4 Sep 2007 09:33:40 +0000 (09:33 +0000)]
* c-opts.c: Include "tm_p.h".
From-SVN: r128070
Uros Bizjak [Tue, 4 Sep 2007 09:02:56 +0000 (11:02 +0200)]
sse4a-check.h: New file.
* gcc.target/i386/sse4a-check.h: New file.
* gcc.target/i386/sse4a-extract.c: Include sse4a-check.h. Remove main.
* gcc.target/i386/sse4a-insert.c: Ditto.
* gcc.target/i386/sse4a-montsd.c: Ditto.
* gcc.target/i386/sse4a-montss.c: Ditto.
* gcc.target/i386/mmx-check.h: New file.
* gcc.target/i386/mmx-4.c: Include mmx-check.h. Remove main.
* gcc.target/i386/builtin-apply-mmx.c: Ditto.
* gcc.target/i386/sse-check.h: New file.
* gcc.target/i386/pr13685: Include sse-check.h. Remove main.
* gcc.target/i386/sse-3.c: Ditto.
* gcc.target/i386/sse-7.c: Ditto.
* gcc.target/i386/sse-9.c: Ditto.
* gcc.target/i386/ssefn-3.c: Ditto.
* gcc.target/i386/sse-recip.c: Ditto.
* gcc.target/i386/sse-recip-vec.c: Ditto.
* gcc.target/i386/
20020523.c: Ditto. Rename from
20020523-2.c.
* gcc.target/i386/
20020523-1.c: Remove.
* gcc.target/i386/sse2-lrint-vec.c: Include sse2-check.h. Remove main.
* gcc.target/i386/sse2-lrintf-vec.c: Ditto.
* gcc.target/i386/ssefn-4.c: Ditto.
* gcc.target/i386/sse-6.c: Ditto.
* gcc.target/i386/sse-10.c: Ditto.
* gcc.target/i386/sse-11.c: Ditto.
* gcc.target/i386/sse-18.c: Ditto.
* gcc.target/i386/fpprec-1.c: Ditto.
* g++.dg/other/i386-1.C: Ditto.
From-SVN: r128069
Richard Guenther [Tue, 4 Sep 2007 08:38:56 +0000 (08:38 +0000)]
re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 (ok with gcc-4.2.1))
2007-09-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33291
* tree-pretty-print.c (dump_generic_node): Dump all
qualifiers for pointer types, not only first. Dump
qualifiers for aggregate types as well.
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Always
use the canonical type for building ARRAY_REFs.
* gimplify.c (canonicalize_addr_expr): Clean up. The
correct validness check is compatibility of the pointer
types. Always use the canonical type for building
ARRAY_REFs and ADDR_EXPRs.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Revert
change that disabled propagation of ADDR_EXPRs into statements
with volatile ops.
* gcc.dg/volatile2.c: New testcase.
* gcc.dg/pr32721.c: Adjust volatile reference pattern.
* gcc.dg/tree-ssa/forwprop-1.c: Remove xfail.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
* gcc.dg/tree-ssa/pr17141-1.c: Likewise.
From-SVN: r128068
Zack Weinberg [Tue, 4 Sep 2007 04:44:47 +0000 (04:44 +0000)]
* config/arm/arm.md (mulsidi3, umulsidi3, mulsi3_highpart)
(umulsi3_highpart): Make into expanders; existing insns are
now named *[insn]_nov6. Add stars to existing [insn]_v6
counterparts' names.
From-SVN: r128067