re PR other/28322 (GCC new warnings and compatibility)
2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 28322
* toplev.c (toplev_main): If there are warnings or error, print
errors for ignored options.
* opts.c (ignored_options): New static variable.
(postpone_unknown_option_error): New.
(print_ignored_options): New.
(handle_option): Postpone errors for unknown -Wno-* options.
* opts.h (print_ignored_options): Declare.
testsuite/
* gcc.dg/pr28322.c: New.
* gcc.dg/pr28322-2.c: New.
* lib/prune.exp: Ignore "At top level" even if there is no ':'
preceding it.
Ralf Wildenhues [Mon, 25 Feb 2008 21:18:55 +0000 (21:18 +0000)]
gnat_rm.texi, [...]: Fix spacing after `e.g.' and `i.e.' by adding comma or `@:' as appropriate.
* gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
`i.e.' by adding comma or `@:' as appropriate.
* gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
plain characters `C', use `@samp{C}'.
* gnat_ugn.texi (File Naming Rules, About gnatkr)
(Krunching Method): Likewise.
Ralf Wildenhues [Mon, 25 Feb 2008 21:17:13 +0000 (21:17 +0000)]
gnat_ugn.texi (Conventions): List environment variables and metasyntactic variables.
* gnat_ugn.texi (Conventions): List environment variables and
metasyntactic variables.
(Compiling Programs): Fix notation of metasyntactic variables.
Add @file where appropriate. Use @file for file extensions,
@samp for strings.
* gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
instead of @file, @env instead of @code.
Andreas Krebbel [Mon, 25 Feb 2008 15:07:17 +0000 (15:07 +0000)]
re PR target/35258 (two memcpy calls merged incorrectly with -O1)
2008-02-25 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/35258
* cse.c (cse_insn): Avoid creation of overlapping MEMs.
* alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
* alias.h (nonoverlapping_memrefs_p): Likewise.
Jan Beulich [Mon, 25 Feb 2008 14:47:35 +0000 (14:47 +0000)]
Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
gcc/
2008-02-25 Jan Beulich <jbeulich@novell.com>
* Makefile.in: Also prefix uses of crt0.o and mcrt0.o with
$(T).
* config/i386/netware-libgcc.exp: Add __bswap?i2,
__emultls_get_address, __emultls_register_common,
__floatundi?f, and _Unwind_GetIPInfo.
* config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
(gen_regparm_prefix): Likewise.
(i386_nlm_encode_section_info): Sync with
config/i386/winnt.c:i386_pe_encode_section_info().
(i386_nlm_maybe_mangle_decl_assembler_name): New.
i386_nlm_mangle_decl_assembler_name): New.
(netware_override_options): New.
* config/i386/netware.h (netware_override_options): Declare.
(OVERRIDE_OPTIONS): Re-define to netware_override_options.
(i386_nlm_mangle_decl_assembler_name): Declare.
(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
gcc/testsuite/
2008-02-25 Jan Beulich <jbeulich@novell.com>
* gcc.dg/20020426-2.c: Remove bogus workaround.
* g++.old-deja/g++.other/store-expr1.C: Likewise.
* gcc.target/i386/movq-2.c: Also permit use of movzbl.
Jan Beulich [Mon, 25 Feb 2008 13:15:16 +0000 (13:15 +0000)]
acinclude.m4: Also check for EIDRM and ETXTBSY.
2008-02-25 Jan Beulich <jbeulich@novell.com>
* acinclude.m4: Also check for EIDRM and ETXTBSY.
* configure: Re-generate.
* config/os/generic/error_constants.h (namespace posix_error):
Also wrap uses of EIDRM and ETXTBSY in conditionals.
* testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
Likewise.
Uros Bizjak [Mon, 25 Feb 2008 09:07:13 +0000 (10:07 +0100)]
vect-99.c: Include stdlib.h and tree-vect.h.
* gcc.dg/vect/vect-99.c: Include stdlib.h and tree-vect.h.
(main): Call check_vect and foo. Check array values after
the call to foo.
* gcc.dg/vect/vect-117.c: Call check_vect.
* gcc.dg/vect/no-vfa-pr29145.c: Ditto.
typeck.c (check_for_casting_away_constness): Use 1 single argument, the type of cast, to decide what diagnostics generate.
2008-02-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* typeck.c (check_for_casting_away_constness): Use 1 single
argument, the type of cast, to decide what diagnostics generate.
(build_static_cast_1): Remove unused code. Update call to
check_for_casting_away_constness.
(build_reinterpret_cast_1): Update call to
check_for_casting_away_constness.
(build_const_cast_1): Likewise.
Ralf Wildenhues [Sun, 24 Feb 2008 22:40:31 +0000 (22:40 +0000)]
re PR ada/15479 (Ada manual problems)
PR documentation/15479
* gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
use @command instead of @code, @option instead of @samp or @code,
@code instead of @var, @samp instead of @file.
PR 33738
* tree-vrp.c (vrp_evaluate_conditional): With
-Wtype-limits, emit a warning when comparing against a
constant outside the natural range of OP0's type.
* c.opt (Wtype-limits): Move ...
* common.opt (Wtype-limits): ... here.
Edmar Wienskoski [Sun, 24 Feb 2008 14:38:03 +0000 (14:38 +0000)]
config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
2008-02-21 Edmar Wienskoski <edmar@freescale.com>
* config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
* config/rs6000/e300c2c3.md: New file.
* config/rs6000/rs6000.c (processor_costs): Add new costs for
e300c2 and e300c3.
(rs6000_override_options): Add e300c2 and e300c3 cases to
processor_target_table. Do not allow usage of Altivec or Spe
with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
(rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
* config/rs6000/rs6000.h (processor_type): Add
PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
(ASM_CPU_SPEC): Add e300c2 and e300c3.
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
and ppce300c3. Include e300c2c3.md.
* gfortran.dg/large_real_kind_2.F90: Split testing of ERF and
ERFC into gfortran.dg/large_real_kind_3.F90.
* gfortran.dg/large_real_kind_3.F90: New test.
Uros Bizjak [Sat, 23 Feb 2008 15:24:02 +0000 (16:24 +0100)]
re PR target/22076 (Strange code for MMX register moves)
PR target/22076
PR target/34256
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
prevent reload from using MMX registers.
(*mov<mode>_internal): Ditto.
(*movv2sf_internal_rex64): Ditto.
(*movv2sf_internal): Ditto.
testsuite/ChangeLog:
PR target/22076
PR target/34256
* gcc.target/i386/pr22076.c: New test.
* gcc.target/i386/pr34256.c: New test.
* gcc.target/i386/vecinit-5.c: New test.
* gcc.target/i386/vecinit-6.c: New test.
* gcc.target/i386/vecinit-[1-4].c: Check that no MMX register is used.
* g++.dg/compat/struct-layout-1.h: Do not include <mmintrin.h> and
<xmmintrin.h>, define __m64 and __m128 directly.
* g++.dg/compat/struct-layout-1_generate.c: Add -mno-mmx for x86.
Nathan Froyd [Sat, 23 Feb 2008 01:00:42 +0000 (01:00 +0000)]
rs6000.c (rs6000_legitimize_address): Check to ensure that we can address an entire entity > 8 bytes.
* config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
ensure that we can address an entire entity > 8 bytes. Don't
generate reg+reg addressing for such data.
Andrew Pinski [Fri, 22 Feb 2008 21:21:11 +0000 (21:21 +0000)]
re PR c++/34715 (always_inline with templates and not declared as always_inline but definition has it)
2008-02-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/34715
* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS for
template decls' function decl.
2008-02-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/34715
* g++.dg/ext/always_inline-1.C: New test.
* g++.dg/ext/always_inline-2.C: New test.
* g++.dg/ext/always_inline-3.C: New test.
* g++.dg/ext/always_inline-4.C: New test.
Janis Johnson [Fri, 22 Feb 2008 01:55:40 +0000 (01:55 +0000)]
re PR target/34526 (no-altivec ABI should be fixed or no longer be the default)
PR target/34526
* config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
(rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
add vrsave.
(rs6000_override_options): Set altivec_abi as default, not override,
for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
is used; use new member spe_abi.
(rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
spe_abi and altivec_abi.
Uros Bizjak [Thu, 21 Feb 2008 10:51:19 +0000 (11:51 +0100)]
i386.md (mov<mode>cc): Macroize expander from movsfcc...
* config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
as insn constraint.
* config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
SSE_VEC_FLOAT_MODE_P as insn constraint.
(<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
(sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
sse4a_movntdf using MODEF mode iterator.
(sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
(sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
(sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
(sse4_1_dpp<ssemodesuffixf2c>): Ditto.
(sse4_1_roundp<ssemodesuffixf2c>): Ditto.
(sse4_1_rounds<ssemodesuffixf2c>): Ditto.
Richard Guenther [Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)]
tree.def (PAREN_EXPR): New tree code.
2008-02-21 Richard Guenther <rguenther@suse.de>
* tree.def (PAREN_EXPR): New tree code.
* fold-const.c (fold_unary): Remove PAREN_EXPR around constants
and PAREN_EXPR.
* tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
* expr.c (expand_expr_real_1): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
* tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
as plain x.
* trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES
as unary PAREN_EXPR for real and complex typed expressions.
(gfc_conv_unary_op): Fold the built tree.
* gfortran.dg/reassoc_1.f90: New testcase.
* gfortran.dg/reassoc_2.f90: Likewise.
* gfortran.dg/reassoc_3.f90: Likewise.
Jerry DeLisle [Thu, 21 Feb 2008 02:27:07 +0000 (02:27 +0000)]
re PR libfortran/35132 (Formatted stream I/O write should truncate)
2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35132
* io/transfer.c (next_record_w): Truncate after the last record for
STREAM I/O.
PR libfortran/34954
* io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
PR libfortran/34974
* io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
is less than zero. (next_record_w): Use sseek to position the file to
the max position reached.
DJ Delorie [Wed, 20 Feb 2008 21:31:56 +0000 (16:31 -0500)]
h8300.md (insv): Force source operand to be a register.
* config/h8300/h8300.md (insv): Force source operand to be a register.
* config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
as a jump, not as a plain insn.
Seongbae Park [Wed, 20 Feb 2008 21:19:14 +0000 (21:19 +0000)]
invoke.texi (Warning Options): Add new option -Wframe-larger-than=.
gcc/ChangeLog:
2008-02-20 Seongbae Park <seongbae.park@gmail.com>
* doc/invoke.texi (Warning Options): Add new option
-Wframe-larger-than=.
(-Wframe-larger-than): Document.
* flags.h (warn_frame_larger_than, frame_larger_than_size):
Add declarations for new option variables.
* final.c (final_start_function): Check the frame size
before emission and issue a Wframe-larger-than warning.
* opts.c (warn_frame_larger_than, frame_larger_than_size):
Add definitions for new option variables.
(common_handle_option): Handle new option OPT_Wframe_larger_than_.
* common.opt (Wframe-larger-than=): New option.
gcc/testsuite/ChangeLog:
2008-02-20 Seongbae Park <seongbae.park@gmail.com>