Arnaud Charlet [Mon, 13 Jul 2009 08:39:28 +0000 (10:39 +0200)]
[multiple changes]
2009-07-13 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: The gnatf switch no longer is needed to get full
details on unsupported constructs.
* rtsfind.adb: Remove references to All_Errors_Mode, give errors
unconditionally.
* s-trafor-default.adb: Correct some warnings
* s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
Minor reformatting.
* par-ch4.adb (Conditional_Expression): Capture proper location for
conditional expression, should point to IF.
* s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
reorganization (use conditional expressions).
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Remove_Side_Effects): If the expression is a call to a
build-in-place function that returns an inherently limited type (not
just a task type) create proper object declaration so that extra
build-in-place actuals are properly added to the call.
From-SVN: r149551
Arnaud Charlet [Mon, 13 Jul 2009 08:22:58 +0000 (10:22 +0200)]
[multiple changes]
2009-07-13 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
* gnat_ugn.texi: Add documentation for -gnatw.m/.M
* opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
* sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
Warn_On_Suspicious_Modulus_Value.
* ug_words: Add entries for -gnatw.m/-gnatw.M.
* usage.adb: Add lines for -gnatw.m/.M switches.
* vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2009-07-13 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
reading the Is_Interface attribute of the dispatching type.
2009-07-13 Robert Dewar <dewar@adacore.com>
* a-convec.adb: Minor code reorganization (use conditional expressions)
From-SVN: r149550
Robert Dewar [Mon, 13 Jul 2009 08:17:02 +0000 (08:17 +0000)]
freeze.adb (Check_Suspicious_Modulus): New procedure.
2009-07-13 Robert Dewar <dewar@adacore.com>
* freeze.adb (Check_Suspicious_Modulus): New procedure.
From-SVN: r149549
Arnaud Charlet [Mon, 13 Jul 2009 08:12:11 +0000 (10:12 +0200)]
[multiple changes]
2009-07-13 Robert Dewar <dewar@adacore.com>
* i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
warning).
* par-ch4.adb: Minor reformatting
2009-07-13 Ed Schonberg <schonberg@adacore.com>
* freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
=> Is_Atomic_Aggregate
From-SVN: r149548
Robert Dewar [Mon, 13 Jul 2009 08:07:38 +0000 (08:07 +0000)]
Minor reformatting.
From-SVN: r149547
Arnaud Charlet [Mon, 13 Jul 2009 08:06:51 +0000 (10:06 +0200)]
[multiple changes]
2009-07-13 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb: Avoid traversing the list of source files if
we have already processed all locally removed files.
2009-07-13 Jose Ruiz <ruiz@adacore.com>
* gnat_ugn.texi: Fix typo.
2009-07-13 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting
Minor code reorganization (use Nkind_In)
* exp_ch6.adb: Minor reformatting
From-SVN: r149546
Tobias Burnus [Mon, 13 Jul 2009 06:26:38 +0000 (08:26 +0200)]
re PR fortran/40588 (Small bug in match_charkind_name)
2009-07-12 Tobias Burnus <burnus@net-b.de>
Philippe Marguinaud <philippe.marguinaud@meteo.fr>
PR fortran/40588
* primary.c (match_charkind_name): Fix condition for $ matching.
PR libfortran/22423
* libgfortran.h: Typedef the GFC_DTYPE_* enum.
2009-07-12 Tobias Burnus <burnus@net-b.de>
PR libfortran/22423
* io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
* intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
variable is initialized to silence warning.
Co-Authored-By: Philippe Marguinaud <philippe.marguinaud@meteo.fr>
From-SVN: r149545
Uros Bizjak [Mon, 13 Jul 2009 06:22:51 +0000 (08:22 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r149544
GCC Administrator [Mon, 13 Jul 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149540
Paolo Carlini [Sun, 12 Jul 2009 23:25:29 +0000 (23:25 +0000)]
re PR c++/36628 ([c++0x] incorrect decltype() handling of conditional operator)
2009-07-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (common_type): Remove workaround for
PR36628, now fixed.
From-SVN: r149537
Jason Merrill [Sun, 12 Jul 2009 21:10:09 +0000 (17:10 -0400)]
re PR c++/36628 ([c++0x] incorrect decltype() handling of conditional operator)
PR c++/36628
* tree.c (rvalue): Use lvalue_or_rvalue_with_address_p.
From-SVN: r149536
Jason Merrill [Sun, 12 Jul 2009 20:22:36 +0000 (16:22 -0400)]
fix double paste
From-SVN: r149535
Jason Merrill [Sun, 12 Jul 2009 19:19:15 +0000 (15:19 -0400)]
cp-tree.h (enum cp_lvalue_kind_flags): Add clk_rvalueref.
* cp-tree.h (enum cp_lvalue_kind_flags): Add clk_rvalueref.
* tree.c (lvalue_p_1): Return it. Remove
treat_class_rvalues_as_lvalues parm.
(real_lvalue_p): Disallow pseudo-lvalues here.
(lvalue_or_rvalue_with_address_p): New fn.
* call.c (initialize_reference): Use it instead of real_lvalue_p.
From-SVN: r149534
Jason Merrill [Sun, 12 Jul 2009 19:19:03 +0000 (15:19 -0400)]
re PR c++/40689 ([C++0x]: error with initializer list in N2672)
PR c++/40689
* init.c (build_new_1): Handle initializer list as array initializer.
(build_vec_init): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.
* typeck2.c (process_init_constructor_array): Error rather than abort
if too many initializers.
From-SVN: r149533
Kai Tietz [Sun, 12 Jul 2009 15:59:42 +0000 (15:59 +0000)]
cygming.h (TARGET_OS_CPP_BUILTINS): Define _X86_ just for 32-bit case.
2009-07-12 Kai Tietz <kai.tietz@onevision.com>
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define _X86_
just for 32-bit case.
From-SVN: r149532
Jan Hubicka [Sun, 12 Jul 2009 12:07:35 +0000 (14:07 +0200)]
re PR tree-optimization/40585 (tracer duplicates blocks w/o adjusting EH tree)
PR tree-optimization/40585
* except.c (expand_resx_expr): When there already is resume
instruction, produce linked list.
(build_post_landing_pads): Assert that resume is empty.
(connect_post_landing_pads): Handle resume lists.
(dump_eh_tree): Dump resume list.
From-SVN: r149530
Ira Rosen [Sun, 12 Jul 2009 07:09:07 +0000 (07:09 +0000)]
tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction with additional argument.
* tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction
with additional argument.
* tree-vectorizer.h (enum vect_def_type): Add
vect_double_reduction_def.
(vect_is_simple_reduction): Add argument.
* tree-vect-loop.c (vect_determine_vectorization_factor): Fix
indentation.
(vect_analyze_scalar_cycles_1): Detect double reduction. Call
vect_is_simple_reduction with additional argument.
(vect_analyze_loop_operations): Handle exit phi nodes in case of
double reduction.
(reduction_code_for_scalar_code): Handle additional codes by
returning ERROR_MARK for them. Fix comment and indentation.
(vect_is_simple_reduction): Fix comment, add argument to specify
double reduction. Detect double reduction.
(get_initial_def_for_induction): Fix indentation.
(get_initial_def_for_reduction): Fix comment and indentation.
Handle double reduction. Create initial definitions that do not
require adjustment if ADJUSTMENT_DEF is NULL. Handle additional cases.
(vect_create_epilog_for_reduction): Fix comment, add argument to
handle double reduction. Use PLUS_EXPR in case of MINUS_EXPR in
epilogue result extraction. Create double reduction phi node and
replace relevant uses.
(vectorizable_reduction): Call vect_is_simple_reduction with
additional argument. Fix indentation. Update epilogue code treatment
according to the changes in reduction_code_for_scalar_code. Check
for double reduction. Call vect_create_epilog_for_reduction with
additional argument.
* tree-vect-stmts.c (process_use): Handle double reduction, update
documentation.
(vect_mark_stmts_to_be_vectorized): Handle double reduction.
(vect_get_vec_def_for_operand): Likewise.
From-SVN: r149526
Danny Smith [Sun, 12 Jul 2009 06:09:39 +0000 (06:09 +0000)]
winnt.c (i386_pe_determine_dllexport_p): Don't dllexport if !TREE_PUBLIC.
* config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't
dllexport if !TREE_PUBLIC.
(i386_pe_maybe_record_exported_symbol): Assert TREE_PUBLIC.
From-SVN: r149525
Hans-Peter Nilsson [Sun, 12 Jul 2009 02:44:22 +0000 (02:44 +0000)]
f2003_io_4.f03, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/f2003_io_4.f03, gfortran.dg/read_size_noadvance.f90,
gfortran.dg/namelist_39.f90, gfortran.dg/read_repeat.f90,
gfortran.dg/fmt_exhaust.f90, gfortran.dg/fseek.f90,
gfortran.dg/fmt_t_7.f, gfortran.dg/read_x_past.f,
gfortran.dg/read_bad_advance.f90, gfortran.dg/backslash_3.f,
gfortran.dg/namelist_56.f90, gfortran.dg/list_read_5.f90,
gfortran.dg/fmt_cache_1.f, gfortran.dg/fmt_t_4.f90: Gate test on
effective_target fd_truncate.
From-SVN: r149524
GCC Administrator [Sun, 12 Jul 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149523
Eric Botcazou [Sat, 11 Jul 2009 20:52:28 +0000 (20:52 +0000)]
checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output local variable and do not test it in...
* checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
local variable and do not test it in Compile_Time_Bad_Alignment.
Do not issue size or alignment warnings for the X'Address form.
* sem_util.ads (Find_Overlaid_Object): Delete.
(Find_Overlaid_Entity): New procedure.
* sem_util.adb (Find_Overlaid_Object): Rename to...
(Find_Overlaid_Entity): ...this and turn into a procedure. Report
whether the address is offseted within the overlaid entity.
(Has_Compatible_Alignment): Track the offset globally instead of
passing it to Check_Offset. For an indexed component, compute the
full offset when possible. If the resulting offset is zero, only
check the prefix.
(Check_Offset): Delete.
* sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
(Address_Aliased_Entity): Delete.
(Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
Find_Overlaid_Entity to find the overlaid entity and the offset.
Adjust throughout for above change.
(Validate_Address_Clauses): Always use attributes of entities, not of
their type. Tweak message for warning. Call Has_Compatible_Alignment
if the address is offseted to warn about incompatible alignments.
* gcc-interface/gigi.h (annotate_object): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
entity. Call annotate_object instead of annotating manually objects.
(annotate_object): New function.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
at the end.
From-SVN: r149520
Anatoly Sokolov [Sat, 11 Jul 2009 20:26:54 +0000 (00:26 +0400)]
avr.h (TARGET_CPU_CPP_BUILTINS): Redefine.
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Redefine.
(avr_extra_arch_macro) Remove declatation.
* config/avr/avr.c (avr_cpu_cpp_builtins): New function.
(avr_extra_arch_macro) Declare as static.
* config/avr/avr-protos.h (avr_cpu_cpp_builtins): Dclare.
From-SVN: r149519
Eric Botcazou [Sat, 11 Jul 2009 19:33:14 +0000 (19:33 +0000)]
ada-tree.h: Minor reorganization.
* gcc-interface/ada-tree.h: Minor reorganization.
* gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
(gnat_print_type): Likewise.
From-SVN: r149518
Jan Hubicka [Sat, 11 Jul 2009 19:03:52 +0000 (21:03 +0200)]
re PR middle-end/40388 (another null pointer in remove_unreachable_regions)
PR middle-end/48388
* except.c (can_be_reached_by_runtime): Test for NULL aka bitmap.
* g++.dg/torture/pr40388.C: New testcase.
From-SVN: r149516
Arnaud Charlet [Sat, 11 Jul 2009 17:46:23 +0000 (19:46 +0200)]
[multiple changes]
2009-07-11 Thomas Quinot <quinot@adacore.com>
* sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
Lvalue -> lvalue
* exp_ch6.adb: Minor reformatting
2009-07-11 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
account possible type qualification to determine whether aggregate
needs a target temporary to respect atomic type or object.
* exp_aggr.adb (Expand_Record_Aggregate): Use new version of
Expand_Atomic_Aggregate.
2009-07-11 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
algorithm.
(Excluded_Sources_Htable): No longer a global table.
Change error message to indicate which files are illegal in the list
of excluded files, as opposed to only the location in the project
file.
(Find_Source): New subprogram.
From-SVN: r149515
Jakub Jelinek [Sat, 11 Jul 2009 17:41:59 +0000 (19:41 +0200)]
re PR debug/40713 (Overlapping .debug_ranges (C++))
PR debug/40713
* dwarf2out.c (dw_fde_struct): Add in_std_section and
cold_in_std_section bits.
(dwarf2out_begin_prologue): Initialize them.
(dwarf2out_finish): Don't emit FDE range into .debug_ranges
if already covered by text_section or cold_text_section range.
From-SVN: r149514
Jakub Jelinek [Sat, 11 Jul 2009 17:40:29 +0000 (19:40 +0200)]
re PR target/40667 (stack frames are generated even with -fomit-frame-pointer)
PR rtl-optimization/40667
* defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
* doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
* config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
* config/i386/i386.c (ix86_minimum_alignment): New function.
* config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
* cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
* emit-rtl.c (gen_reg_rtx): Likewise.
* function.c (assign_parms): Likewise. If nominal_type needs
bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
rather than passed_type's alignment.
From-SVN: r149513
Jakub Jelinek [Sat, 11 Jul 2009 09:23:32 +0000 (11:23 +0200)]
re PR target/40668 (64-bit sparc miscompiles memcpy of argument inside switch)
PR target/40668
* function.c (assign_parm_setup_stack): Adjust
MEM_OFFSET (data->stack_parm) if promoted_mode is different
from nominal_mode on big endian.
* gcc.c-torture/execute/pr40668.c: New test.
From-SVN: r149511
Paolo Bonzini [Sat, 11 Jul 2009 08:28:34 +0000 (08:28 +0000)]
expmed.c (emit_store_flag_1): Fix choice of zero vs.
2009-07-11 Paolo Bonzini <bonzini@gnu.org>
* expmed.c (emit_store_flag_1): Fix choice of zero vs. sign extension.
2009-07-11 Paolo Bonzini <bonzini@gnu.org>
* gcc.c-torture/execute/
20090711-1.c: New test.
From-SVN: r149509
Richard Sandiford [Sat, 11 Jul 2009 06:10:49 +0000 (06:10 +0000)]
re PR testsuite/40699 (All sparcv9 libjava execution tests fail on Solaris 11/SPARC)
gcc/testsuite/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* lib/gcc-defs.exp, lib/target-libpath.exp, lib/objc.exp,
lib/gfortran.exp, lib/g++.exp, lib/obj-c++.exp, lib/c-torture.exp,
lib/gcc-dg.exp, lib/gnat.exp, g++.dg/compat/compat.exp,
g++.dg/compat/struct-layout-1.exp: Revert 2009-06-30 commit.
libstdc++-v3/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* testsuite/lib/libstdc++.exp: Revert 2009-06-30 commit.
libjava/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* testsuite/lib/libjava.exp: Revert 2009-06-30 commit.
libgomp/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
libffi/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
2009-06-30 commits.
libmudflap/
PR testsuite/40699
PR testsuite/40707
PR testsuite/40709
* testsuite/lib/libmudflap.exp: Revert 2009-06-30 commit.
From-SVN: r149508
DJ Delorie [Sat, 11 Jul 2009 03:45:51 +0000 (23:45 -0400)]
* config/mep/mep.c (mep_can_inline_p): Correct logic, and simplify.
From-SVN: r149507
GCC Administrator [Sat, 11 Jul 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149506
Tobias Burnus [Sat, 11 Jul 2009 00:03:07 +0000 (02:03 +0200)]
re PR fortran/33197 (Fortran 2008: math functions)
2009-07-09 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* check.c (gfc_check_fn_rc2008): New function.
* intrinsic.h (gfc_check_fn_rc2008): New prototype.
* intrinsic.c (add_functions): Add complex tan, cosh, sinh,
and tanh.
2009-07-09 Tobias Burnus <burnus@net-b.de>
PR fortran/33197
* gfortran.dg/complex_intrinsic_3.f90: New test.
* gfortran.dg/complex_intrinsic_4.f90: New test.
From-SVN: r149503
Mark Mitchell [Fri, 10 Jul 2009 23:16:31 +0000 (23:16 +0000)]
thumb2.md (thumb2_cbz): Correct computation of length attribute.
* config/arm/thumb2.md (thumb2_cbz): Correct computation of length
attribute.
(thumb2_cbnz): Likewise.
From-SVN: r149501
David Daney [Fri, 10 Jul 2009 22:49:52 +0000 (22:49 +0000)]
re PR target/39079 (MIPS: __builtin___clear_cache() broken on SMP ISA_HAS_SYNCI systems.)
2009-07-10 David Daney <ddaney@caviumnetworks.com>
PR target/39079
* testsuite/gcc.target/mips/mips.exp: Make -msynci a known option.
* gcc.target/mips/clear-cache-1.c (dg-options): Add -msynci.
2009-07-10 David Daney <ddaney@caviumnetworks.com>
PR target/39079
* config.gcc (supported_defaults): Add synci.
(with_synci): Add validation.
(all_defaults): Add synci.
* config/mips/mips.md (clear_cache): Use TARGET_SYNCI instead of
ISA_HAS_SYNCI.
(synci): Same.
* config/mips/mips.opt (msynci): New option.
* config/mips/mips.c (mips_override_options): Warn on use of
-msynci for targets that do now support it.
* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
msynci.
* gcc/doc/invoke.texi (-msynci): Document the new option.
* doc/install.texi (--with-synci): Document the new option.
From-SVN: r149500
Steven G. Kargl [Fri, 10 Jul 2009 15:25:31 +0000 (15:25 +0000)]
c99_functions.c (ccoshf, [...]): Fix errant minus.
2009-07-10 Steven G. Kargl <kargl@gcc.gnu.org>
* c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl):
Fix errant minus.
From-SVN: r149479
Arnaud Charlet [Fri, 10 Jul 2009 13:20:49 +0000 (15:20 +0200)]
Minor reformatting.
From-SVN: r149475
Arnaud Charlet [Fri, 10 Jul 2009 13:18:49 +0000 (15:18 +0200)]
[multiple changes]
2009-07-10 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb: Update comments.
2009-07-10 Arnaud Charlet <charlet@adacore.com>
* exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
clause if -gnatI is set instead of crashing.
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch11.adb (Same_Expression): Null is always equal to itself.
Additional work to remove redundant successive raise statements, in
this case access checks.
2009-07-10 Vincent Celier <celier@adacore.com>
* make.adb (Compile): Always create a deep copy of the mapping file
argument (-gnatem=...) as it may be deallocate/reallocate by
Normalize_Arguments.
2009-07-10 Javier Miranda <miranda@adacore.com>
* einfo.adb (Directly_Designated_Type): Add assertion.
* sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
access types before using attribute Directly_Designated_Type.
2009-07-10 Emmanuel Briot <briot@adacore.com>
* prj.ads: Minor typo fix
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
special treatment.
* exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
subprogram is a function call, resolve properly, to ensure that extra
actuals are added as needed.
From-SVN: r149474
Thomas Quinot [Fri, 10 Jul 2009 13:12:10 +0000 (13:12 +0000)]
sem_aggr.adb: Minor comments editing
2009-07-10 Thomas Quinot <quinot@adacore.com>
* sem_aggr.adb: Minor comments editing
* exp_tss.adb, exp_ch3.adb: Minor reformatting
From-SVN: r149473
Jakub Jelinek [Fri, 10 Jul 2009 11:56:55 +0000 (13:56 +0200)]
re PR middle-end/40502 (crash in cp_diagnostic_starter)
PR c++/40502
* error.c (cp_print_error_function): Check for NULL block.
* g++.dg/ext/strncpy-chk1.C: New test.
From-SVN: r149470
Richard Guenther [Fri, 10 Jul 2009 11:45:40 +0000 (11:45 +0000)]
re PR tree-optimization/40496 (ICE in verify_stmts with -fprefetch-loop-arrays)
2009-07-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40496
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Create
the PHI result with a compatible type.
* g++.dg/opt/pr40496.C: New testcase.
From-SVN: r149469
Robert Dewar [Fri, 10 Jul 2009 09:43:01 +0000 (09:43 +0000)]
exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2009-07-10 Robert Dewar <dewar@adacore.com>
* exp_util.adb: Minor code reorganization (use N_Short_Circuit)
* exp_ch4.adb: Add ??? comment for conditional expressions on limited
types.
* checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
case of conditional expressions that may not be elaborated.
* sem_util.adb (Safe_To_Capture_Value): Properly handle case of
conditional expression where we may not execute then then or else
branches.
From-SVN: r149468
Arnaud Charlet [Fri, 10 Jul 2009 09:36:00 +0000 (11:36 +0200)]
[multiple changes]
2009-07-10 Arnaud Charlet <charlet@adacore.com>
* i-cexten.ads (bool): New type.
2009-07-10 Robert Dewar <dewar@adacore.com>
* sinfo.ads (N_Short_Circuit): New definition
* sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
treepr.adb: Minor code reorganization (use N_Short_Circuit)
From-SVN: r149467
Javier Miranda [Fri, 10 Jul 2009 09:30:44 +0000 (09:30 +0000)]
exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of non-tagged record types.
2009-07-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
non-tagged record types.
* sem_prag.adb
(Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
with non-tagged types. Required to import C++ classes that have no
virtual primitives.
(Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
returning non-tagged types. For backward compatibility, if the
constructor returns a class wide type we internally change the
returned type to the corresponding non class-wide type.
* sem_aggr.adb
(Valid_Ancestor_Type): CPP_Constructors code cleanup.
(Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
(Resolve_Aggr_Expr): CPP_Constructors code cleanup.
(Resolve_Record_Aggregate): CPP_Constructors code cleanup.
* sem_ch3.adb
(Analyze_Object_Declaration): CPP_Constructors code cleanup.
* sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
* sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
* sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
* exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
cleanup.
* exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
* gnat_rm.texi
(pragma CPP_Class): Document that it can be used now with non-tagged
record types.
(pragma CPP_Constructor): Document that it can be used now with
functions returning specific types. For backward compatibility
we also support functions returning class-wide types.
* gnat_ugn.texi
(Interfacing with C++ constructors): Update the examples to incorporate
the new syntax in which the functions used to import C++ constructors
return specific types.
(Interfacing with C++ at the Class Level): Update the examples to
incorporate the new syntax in which the functions used to import
C++ constructors return specific types.
From-SVN: r149466
Arnaud Charlet [Fri, 10 Jul 2009 09:21:34 +0000 (11:21 +0200)]
[multiple changes]
2009-07-10 Thomas Quinot <quinot@adacore.com>
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
Make_Disp_Conditional_Select_Body,
Make_Disp_Timed_Select_Body): For the case of a type that is neither an
interface nor a concurrent type, the primitive body is empty. Generate
a null statement so that it remains well formed.
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
replace references to them in defaulted component expressions with
references to the values of the discriminants of the target object.
From-SVN: r149465
Arnaud Charlet [Fri, 10 Jul 2009 09:13:36 +0000 (11:13 +0200)]
[multiple changes]
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb (Build_Final_List): If the list is being built for a
Taft-Amendment type, place the finalization list in the package body,
to ensure that the tree for the spec is identical whenever it is
compiled.
2009-07-10 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
inheriting attributes from a private Parent_Base.
From-SVN: r149464
Robert Dewar [Fri, 10 Jul 2009 09:11:16 +0000 (11:11 +0200)]
exp_ch4.adb (Raise_Accessibility_Error): New procedure
2009-07-10 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Raise_Accessibility_Error): New procedure
From-SVN: r149463
Ed Schonberg [Fri, 10 Jul 2009 09:10:57 +0000 (11:10 +0200)]
sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise statements with the same condition.
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
statements with the same condition.
From-SVN: r149462
Javier Miranda [Fri, 10 Jul 2009 09:10:43 +0000 (11:10 +0200)]
exp_util.adb (Find_Interface_Tag): Reorder processing of incoming Typ argument to ensure proper management of...
2009-07-10 Javier Miranda <miranda@adacore.com>
* exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
Typ argument to ensure proper management of access types.
From-SVN: r149461
Vincent Celier [Fri, 10 Jul 2009 09:10:20 +0000 (11:10 +0200)]
make.adb: Do not include object directories or library ALI directories of library...
2009-07-10 Vincent Celier <celier@adacore.com>
* make.adb: Do not include object directories or library ALI
directories of library projects in the object path.
From-SVN: r149460
Ed Schonberg [Fri, 10 Jul 2009 09:09:59 +0000 (11:09 +0200)]
sem_prag.adb (Analyze pragma, [...]): Analyze argument of pragma, to capture global references if the context is generic.
2009-07-10 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
pragma, to capture global references if the context is generic.
* exp_ch2.adb (Expand_Discriminant): If a task type discriminant
appears within the initialization procedure for the corresponding
record, replace it with the proper discriminal.
From-SVN: r149459
Manuel López-Ibáñez [Fri, 10 Jul 2009 07:27:32 +0000 (07:27 +0000)]
re PR c/25509 (can't disable __attribute__((warn_unused_result)))
2009-07-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 25509
PR 40614
* c.opt (Wunused-result): New.
* doc/invoke.texi: Document it.
* c-common.c (c_warn_unused_result): Use it.
testsuite/
* g++.dg/warn/unused-result1-Werror.c: New.
From-SVN: r149458
DJ Delorie [Fri, 10 Jul 2009 05:03:01 +0000 (01:03 -0400)]
targhooks.c (default_target_can_inline_p): Rename from default_target_option_can_inline_p.
* targhooks.c (default_target_can_inline_p): Rename from
default_target_option_can_inline_p.
* targhooks.h (default_target_can_inline_p): Likewise.
* target-def.h (TARGET_CAN_INLINE_P): Rename from
TARGET_OPTION_CAN_INLINE_P.
* config/i386/i386.c (TARGET_CAN_INLINE_P): Likewise.
* config/mep/mep.c (TARGET_CAN_INLINE_P): Likewise.
(mep_target_can_inline_p): Rename from
mep_target_option_can_inline_p.
From-SVN: r149457
Paul Thomas [Fri, 10 Jul 2009 04:37:19 +0000 (04:37 +0000)]
re PR fortran/39334 (Recusive parameter kind produces segfault)
2009-07-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39334
* primary.c (match_kind_param): Return MATCH_NO if the symbol
has no value.
2009-07-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39334
* gfortran.dg/recursive_parameter_1.f90: New test.
From-SVN: r149456
DJ Delorie [Fri, 10 Jul 2009 01:31:45 +0000 (21:31 -0400)]
mep.h (FUNCTION_ARG_REGNO_P): Add coprocessor registers used to pass vectors.
* config/mep/mep.h (FUNCTION_ARG_REGNO_P): Add coprocessor
registers used to pass vectors.
From-SVN: r149455
Steven G. Kargl [Fri, 10 Jul 2009 00:36:20 +0000 (00:36 +0000)]
c_kind_tests_2.f03: clean-up leftover module(s).
2009-07-09 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/c_kind_tests_2.f03: clean-up leftover module(s).
* gfortran.dg/module_equivalence_6.f90: Ditto.
* gfortran.dg/alloc_comp_auto_array_2.f90: Ditto.
* gfortran.dg/nan_2.f90: Ditto.
* gfortran.dg/inquire_11.f90: Ditto.
* gfortran.dg/abstract_type_3.f03: Ditto.
* gfortran.dg/abstract_type_1.f90: Ditto.
* gfortran.dg/private_type_9.f90: Ditto.
* gfortran.dg/abstract_type_5.f03: Ditto.
* gfortran.dg/elemental_subroutine_6.f90: Ditto.
* gfortran.dg/derived_comp_array_ref_3.f90: Ditto.
* gfortran.dg/derived_sub.f90: Ditto.
* gfortran.dg/missing_optional_dummy_5.f90: Ditto.
* gfortran.dg/bounds_check_fail_2.f90: Ditto.
* gfortran.dg/maxloc_bounds_6.f90: Ditto.
* gfortran.dg/mvbits_6.f90: Ditto.
* gfortran.dg/abstract_type_2.f03: Ditto.
* gfortran.dg/abstract_type_4.f03: Ditto.
* gfortran.dg/bounds_check_9.f90: Ditto.
* gfortran.dg/optional_dim_3.f90: Ditto.
* gfortran.dg/pr32921.f: Ditto.
* gfortran.dg/entry_16.f90: Ditto.
* gfortran.dg/generic_16.f90: Ditto.
From-SVN: r149454
DJ Delorie [Fri, 10 Jul 2009 00:27:25 +0000 (20:27 -0400)]
* config/mep/mep.c (mep_option_can_inline_p): Remove error call.
From-SVN: r149453
GCC Administrator [Fri, 10 Jul 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149452
Simon Martin [Thu, 9 Jul 2009 21:57:54 +0000 (21:57 +0000)]
pt.c (perform_typedefs_access_check, [...]): Use CLASS_TYPE_P.
gcc/cp/
2008-07-08 Simon Martin <simartin@users.sourceforge.net>
Jason Merrill <jason@redhat.com>
* pt.c (perform_typedefs_access_check, get_types_needing_access_check,
append_type_to_template_for_access_check_1): Use CLASS_TYPE_P.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r149439
Jakub Jelinek [Thu, 9 Jul 2009 20:16:56 +0000 (22:16 +0200)]
dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value and DW_OP_stack_value.
2009-07-09 Jakub Jelinek <jakub@redhat.com>
* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value
and DW_OP_stack_value.
From-SVN: r149438
Tom Tromey [Thu, 9 Jul 2009 19:41:25 +0000 (19:41 +0000)]
unwind-dw2-fde-darwin.c: Include dwarf2.h.
gcc
* unwind-dw2-fde-darwin.c: Include dwarf2.h.
* config/mmix/mmix.c: Include dwarf2.h.
* config/rs6000/darwin-fallback.c: Include dwarf2.h.
* config/xtensa/unwind-dw2-xtensa.c: Include dwarf2.h.
* config/sh/sh.c: Include dwarf2.h.
* config/i386/i386.c: Include dwarf2.h.
* Makefile.in (DWARF2_H): Remove 'elf'.
* except.c: Include dwarf2.h.
* unwind-dw2.c: Include dwarf2.h.
* dwarf2out.c: Include dwarf2.h.
* unwind-dw2-fde-glibc.c: Include dwarf2.h.
* unwind-dw2-fde.c: Include dwarf2.h.
* dwarf2asm.c: Include dwarf2.h.
gcc/ada
* raise-gcc.c: Include dwarf2h (unconditionally).
include
* elf/dwarf2.h: Remove, renaming to...
* dwarf2.h: ... this.
From-SVN: r149433
Maxim Kuvyrkov [Thu, 9 Jul 2009 18:15:22 +0000 (18:15 +0000)]
haifa-sched.c (insn_finishes_cycle_p): New static function.
* haifa-sched.c (insn_finishes_cycle_p): New static function.
(max_issue): Use it.
* sched-int.h (struct sched_info: insn_finishes_block_p): New
scheduler hook.
* sched-rgn.c (rgn_insn_finishes_block_p): Implement it.
(region_sched_info): Update.
* sched-ebb.c (ebb_sched_info): Update.
* modulo-sched.c (sms_sched_info): Update.
* sel-sched-ir.c (sched_sel_haifa_sched_info): Update.
From-SVN: r149427
Maxim Kuvyrkov [Thu, 9 Jul 2009 18:09:23 +0000 (18:09 +0000)]
varasm.c (build_constant_desc): Don't share RTL in pool entries.
* varasm.c (build_constant_desc): Don't share RTL in pool entries.
* gcc.target/m68k/
20090709-1.c: New.
From-SVN: r149426
Basile Starynkevitch [Thu, 9 Jul 2009 17:57:14 +0000 (17:57 +0000)]
plugin.c (try_init_one_plugin): passes RTLD_GLOBAL to dlopen.
2009-07-09 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/plugin.c (try_init_one_plugin): passes RTLD_GLOBAL to dlopen.
From-SVN: r149424
Dodji Seketeli [Thu, 9 Jul 2009 17:56:44 +0000 (17:56 +0000)]
re PR c++/40684 (ICE in tsubst)
2009-07-09 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/40684
* pt.c (type_unification_real): Use tsubst_template_arg instead
of tsubst to substitute default template arguments.
gcc/testsuite/ChangeLog:
PR c++/40684
* g++.dg/template/unify11.C: New test.
From-SVN: r149423
Paul Thomas [Thu, 9 Jul 2009 16:48:50 +0000 (16:48 +0000)]
re PR fortran/40629 (Host association problem)
2008-07-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40629
* resolve.c (check_host_association): Use the existing
accessible symtree and treat function expressions with
symbols that have procedure flavor.
2008-07-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40629
* gfortran.dg/host_assoc_function_9.f90: New test.
From-SVN: r149422
Janis Johnson [Thu, 9 Jul 2009 16:45:47 +0000 (16:45 +0000)]
Fix typos in previous ChangeLog entry
From-SVN: r149421
Janus Weil [Thu, 9 Jul 2009 14:07:03 +0000 (16:07 +0200)]
re PR fortran/40646 ([F03] array-valued procedure pointer components)
2009-07-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* dump-parse-tree.c (show_expr): Renamed 'is_proc_ptr_comp'.
* expr.c (is_proc_ptr_comp): Renamed to 'gfc_is_proc_ptr_comp'.
(gfc_check_pointer_assign): Renamed 'is_proc_ptr_comp'.
(replace_comp,gfc_expr_replace_comp): New functions, analogous
to 'replace_symbol' and 'gfc_expr_replace_symbol', just with components
instead of symbols.
* gfortran.h (gfc_expr_replace_comp): New prototype.
(is_proc_ptr_comp): Renamed to 'gfc_is_proc_ptr_comp'.
* interface.c (compare_actual_formal): Renamed 'is_proc_ptr_comp'.
* match.c (gfc_match_pointer_assignment): Ditto.
* primary.c (gfc_match_varspec): Handle array-valued procedure pointers
and procedure pointer components. Renamed 'is_proc_ptr_comp'.
* resolve.c (resolve_fl_derived): Correctly handle interfaces with
RESULT statement, and handle array-valued procedure pointer components.
(resolve_actual_arglist,resolve_ppc_call,resolve_expr_ppc): Renamed
'is_proc_ptr_comp'.
* trans-array.c (gfc_walk_function_expr): Ditto.
* trans-decl.c (gfc_get_symbol_decl): Security check for presence of
ns->proc_name.
* trans-expr.c (gfc_conv_procedure_call): Handle array-valued procedure
pointer components. Renamed 'is_proc_ptr_comp'.
(conv_function_val,gfc_trans_arrayfunc_assign): Renamed
'is_proc_ptr_comp'.
(gfc_get_proc_ptr_comp): Do not modify the argument 'e', but instead
make a copy of it.
* trans-io.c (gfc_trans_transfer): Handle array-valued procedure
pointer components.
2009-07-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* gfortran.dg/proc_ptr_22.f90: New.
* gfortran.dg/proc_ptr_comp_12.f90: New.
From-SVN: r149419
Jakub Jelinek [Thu, 9 Jul 2009 11:19:22 +0000 (13:19 +0200)]
re PR middle-end/40692 (Endless recursion between fold_ternary and fold_cond_expr_with_comparison)
PR middle-end/40692
* fold-const.c (fold_cond_expr_with_comparison): Don't replace
arg1 with arg01 if arg1 is already INTEGER_CST.
* gcc.c-torture/compile/pr40692.c: New test.
From-SVN: r149418
Arnaud Charlet [Thu, 9 Jul 2009 11:03:25 +0000 (13:03 +0200)]
[multiple changes]
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Context): If the unit is a package body,
install the private with_clauses of the corresponding package
declaration.
2009-07-09 Robert Dewar <dewar@adacore.com>
* checks.adb: Minor reformatting
2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
into ug_words.
2009-07-09 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
Do not warn for a constant overlaying any constant object
From-SVN: r149417
Arnaud Charlet [Thu, 9 Jul 2009 10:59:19 +0000 (12:59 +0200)]
[multiple changes]
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Context): If the unit is a package body,
install the private with_clauses of the corresponding package
declaration.
2009-07-09 Robert Dewar <dewar@adacore.com>
* checks.adb: Minor reformatting
2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
into ug_words.
2009-07-09 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
Do not warn for a constant overlaying any constant object
From-SVN: r149416
Arnaud Charlet [Thu, 9 Jul 2009 10:32:08 +0000 (12:32 +0200)]
[multiple changes]
2009-07-09 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Check_Selector): Do not create local copies of the
socket sets on the stack.
2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Add missing VMS translations.
From-SVN: r149414
Arnaud Charlet [Thu, 9 Jul 2009 10:29:09 +0000 (12:29 +0200)]
[multiple changes]
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
condition, to prevent generation of visible code during expansion,
when Check is not enabled.
2009-07-09 Gary Dismukes <dismukes@adacore.com>
* checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
the check gets registered for any available local handler
(Set_Local_Raise).
* sem_util.adb: Add with and use of Exp_Ch11.
(Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
that the check gets registered for any available local handler.
* exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
on slice ranges.
2009-07-09 Steve Baird <baird@adacore.com>
* exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
function.
(Expand_N_Exception_Declaration): Fix handling of exceptions
declared in a subprogram.
From-SVN: r149413
Arnaud Charlet [Thu, 9 Jul 2009 10:22:49 +0000 (12:22 +0200)]
[multiple changes]
2009-07-09 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
multi-unit files.
2009-07-09 Thomas Quinot <quinot@adacore.com>
* freeze.adb: Minor reformatting
* exp_ch3.adb: Minor comment fix.
* sinfo.ads: Minor comment fix
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
From-SVN: r149411
Arnaud Charlet [Thu, 9 Jul 2009 10:17:40 +0000 (12:17 +0200)]
[multiple changes]
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Expression): If the expression is the name of a
function in a call, and the function has not been frozen yet, create
extra formals for it to ensure that the proper actuals are created
when expanding the call.
2009-07-09 Emmanuel Briot <briot@adacore.com>
* prj-pp.adb (Print): Fix handling of source index when set on a
declaration node.
From-SVN: r149408
Ed Schonberg [Thu, 9 Jul 2009 10:14:30 +0000 (10:14 +0000)]
einfo.ads, einfo.adb: New attribute Related_Expression...
2009-07-09 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb: New attribute Related_Expression, used to link
a temporary to the source expression whose value it captures.
* exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
From-SVN: r149406
Tobias Burnus [Thu, 9 Jul 2009 09:42:34 +0000 (11:42 +0200)]
re PR fortran/40604 (ICE with -fcheck=pointer)
2009-07-09 Tobias Burnus <burnus@net-b.de>
PR fortran/40604
* intrinsic.c (gfc_convert_type_warn): Set sym->result.
* trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
for optional arguments.
2009-07-09 Tobias Burnus <burnus@net-b.de>
PR fortran/40604
* gfortran.dg/pointer_check_6.f90: New test.
From-SVN: r149405
Adam Nemet [Thu, 9 Jul 2009 05:43:56 +0000 (05:43 +0000)]
simplify-rtx.c (simplify_binary_operation_1): Transform (and (truncate)) into (truncate (and)).
* simplify-rtx.c (simplify_binary_operation_1) <AND>: Transform (and
(truncate)) into (truncate (and)).
testsuite/
* gcc.target/mips/truncate-5.c: New test.
From-SVN: r149402
Adam Nemet [Thu, 9 Jul 2009 05:32:21 +0000 (05:32 +0000)]
combine.c (make_extraction): Check TRULY_NOOP_TRUNCATION before creating LHS paradoxical subregs.
* combine.c (make_extraction): Check TRULY_NOOP_TRUNCATION before
creating LHS paradoxical subregs. Fix surrounding returns to
use NULL_RTX rather than 0.
From-SVN: r149401
DJ Delorie [Thu, 9 Jul 2009 02:22:37 +0000 (22:22 -0400)]
mep.c: (mep_option_can_inline_p): New.
* config/mep/mep.c: (mep_option_can_inline_p): New.
(TARGET_OPTION_CAN_INLINE_P): Define.
From-SVN: r149400
Jerry DeLisle [Thu, 9 Jul 2009 01:54:47 +0000 (01:54 +0000)]
re PR libfortran/40330 (incorrect IO)
2009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40330
PR libfortran/40662
* gfortran.dg/fmt_cache_1.f: New test.
From-SVN: r149399
Jerry DeLisle [Thu, 9 Jul 2009 01:20:23 +0000 (01:20 +0000)]
re PR libfortran/40330 (incorrect IO)
2009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40330
PR libfortran/40662
* io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
whether the parsed format data was previously saved. Used to determine
if the current format data should be freed or not.
* io/transfer.c (st_read_done): Use the format_not_saved bit.
(st_write_done): Likewise.
* io/format.c (parse_format_list): Add boolean pointer to arg list. This
pointer is used to return status to the caller regarding whether it is
safe to cache the parsed format data. Currently, if a FMT_STRING token
is encounetered, it is not safe to cache. Also, added a local boolean
variable to hold this information as recursive calls to
parse_format_list are made. Remove previous save_format logic.
(parse_format): Do not use the format caching facility if the current
unit is an internal unit or if it is not safe to save parsed format
data.
From-SVN: r149398
GCC Administrator [Thu, 9 Jul 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149396
Janis Johnson [Wed, 8 Jul 2009 22:26:50 +0000 (22:26 +0000)]
re PR libstdc++/40691 (bug in logical not operator for valarray used with slice)
PR libstdc++/40691
* include/bugs/valarray-after.h (_Expr::operator!): Fix return type.
* testsuite/26_numerics/valarray/40691.cc: New test.
From-SVN: r149393
Tobias Burnus [Wed, 8 Jul 2009 19:34:49 +0000 (21:34 +0200)]
re PR fortran/40675 (Support -fnosign-zero for SIGN intrinsic for Fortran 77 compatibility)
2009-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/40675
* simplify.c (gfc_simplify_sign): Handle signed zero correctly.
* trans-intrinsic.c (gfc_conv_intrinsic_sign): Support
-fno-sign-zero.
* invoke.texi (-fno-sign-zero): Add text regarding SIGN
* intrinsic.
2009-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/40675
* gfortran.dg/nosigned_zero_1.f90: New test.
* gfortran.dg/nosigned_zero_2.f90: New test.
From-SVN: r149390
Paul Thomas [Wed, 8 Jul 2009 19:00:17 +0000 (19:00 +0000)]
re PR fortran/40683 (gfortran.dg/proc_ptr_21.f90 doesn't work for 32bit)
2008-07-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40683
* gfortran.dg/proc_ptr_21.f90: Initialize 'i'.
From-SVN: r149383
Eric Botcazou [Wed, 8 Jul 2009 18:24:07 +0000 (18:24 +0000)]
Fix nits
From-SVN: r149378
Mark Wielaard [Wed, 8 Jul 2009 18:07:47 +0000 (18:07 +0000)]
re PR debug/40659 (A simple struct member offset doesn't need a full dwarf location expression)
2009-07-08 Mark Wielaard <mjw@redhat.com>
PR debug/40659
* dwarf2out.c (add_data_member_location_attribute): When we have
only a constant offset don't emit a new location description using
DW_OP_plus_uconst, but just add the constant with add_AT_int, when
dwarf_version > 2.
From-SVN: r149377
Richard Henderson [Wed, 8 Jul 2009 16:41:23 +0000 (09:41 -0700)]
re PR target/38900 (ICE: unable to find a register to spill)
PR target/38900
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move to i386.c.
(enum reg_class): Add CLOBBERED_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
* config/i386/i386.c (ix86_conditional_register_usage): Moved
from CONDITIONAL_REGISTER_USAGE; build CLOBBERED_REGS for 64-bit.
(ix86_function_ok_for_sibcall): Tidy. Disallow MS->SYSV sibcalls.
(ix86_expand_call): Use sibcall_insn_operand when needed. Don't
force 64-bit sibcalls into R11.
* config/i386/constraints.md (U): New constraint.
* config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
(sibcall_1_rex64, sibcall_value_1_rex64): Likewise.
(sibcall_1_rex64_v, sibcall_value_1_rex64_v): Remove.
From-SVN: r149373
Richard Guenther [Wed, 8 Jul 2009 12:58:36 +0000 (12:58 +0000)]
ssa-pta-fn-1.c: Fix invalid testcase again.
2009-07-08 Richard Guenther <rguenther@suse.de>
* gcc.dg/torture/ssa-pta-fn-1.c: Fix invalid testcase again.
From-SVN: r149368
Richard Biener [Wed, 8 Jul 2009 12:41:59 +0000 (12:41 +0000)]
ssa-pta-fn-1.c: Fix invalid testcase.
2009-07-08 Richard Guenther <rguenther@suse.de>
* gcc.dg/torture/ssa-pta-fn-1.c: Fix invalid testcase.
From-SVN: r149367
Shujing Zhao [Wed, 8 Jul 2009 11:35:18 +0000 (11:35 +0000)]
basic-block.h (dump_regset, [...]): Remove duplicate prototypes.
2009-07-08 Shujing Zhao <pearly.zhao@oracle.com>
* basic-block.h (dump_regset, debug_regset): Remove duplicate
prototypes.
* c-objc-common.h (c_initialize_diagnostics): Ditto.
* ebitmap.h (dump_ebitmap): Ditto.
* optabs.h (optab_libfunc): Ditto.
* tree.h (tree_expr_nonzero_warnv_p): Ditto.
* tree-flow.h (vect_can_force_dr_alignment_p,
get_vectype_for_scalar_type): Ditto.
(vectorize_loops): Move prototype to ...
* tree-vectorizer.h: ... here. Also, adjust comment.
(vect_set_verbosity_level): Remove duplicate prototype.
* tree-ssa-loop.c: Include tree-vectorizer.h.
* Makefile.in (tree-ssa-loop.o): Depend on tree-vectorizer.h.
From-SVN: r149364
Nick Clifton [Wed, 8 Jul 2009 09:43:51 +0000 (09:43 +0000)]
unix.h (ASM_COMMENT_START): Add a space after the forward slash.
* config/i386/unix.h (ASM_COMMENT_START): Add a space after the
forward slash.
From-SVN: r149363
Paul Thomas [Wed, 8 Jul 2009 04:38:06 +0000 (04:38 +0000)]
re PR fortran/40591 (Procedure(interface): Rejected if interface is indirectly hostassociated)
2008-07-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40591
* decl.c (match_procedure_interface): Correct the association
or creation of the interface procedure's symbol.
2008-07-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40591
* gfortran.dg/proc_ptr_21.f90: New test.
From-SVN: r149362
DJ Delorie [Wed, 8 Jul 2009 04:19:16 +0000 (00:19 -0400)]
mep-ivc2.cpu (cpmovtocsar0_C3, [...]): Mark volatile.
* config/mep/mep-ivc2.cpu (cpmovtocsar0_C3, cpmovtocsar1_C3,
cpmovtocc_C3, cpmovtocsar0_P0S_P1, cpmovtocsar1_P0S_P1,
cpmovtocc_P0S_P1): Mark volatile. Note which registers are
written to.
* config/mep/intrinsics.md: Regenerated.
* config/mep/mep.c (mep_interrupt_saved_reg): Save IVC2 control
registers when asm() or calls are detected.
From-SVN: r149361
GCC Administrator [Wed, 8 Jul 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149357
Manuel López-Ibáñez [Tue, 7 Jul 2009 22:18:35 +0000 (22:18 +0000)]
re PR c++/31246 (-Wunreachable-code warnings for compiler-generated code)
2009-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/31246
* gimplify.c (gimplify_expr): Propagate no_warning flag when
gimplifying.
* gimple (gimple_build_call_from_tree): Likewise.
* tree-cfg.c (remove_useless_stmts_warn_notreached): Check
no_warning flag before warning.
cp/
* init.c (build_new_1): Set TREE_NO_WARNING for compiler-generated
code.
* cp-gimplify.c (genericize_eh_spec_block): Likewise.
testsuite/
* g++.dg/warn/pr31246.C: New.
* g++.dg/warn/pr31246-2.C: New.
From-SVN: r149354
Jason Merrill [Tue, 7 Jul 2009 22:03:42 +0000 (18:03 -0400)]
re PR c++/35828 ([C++0x] ICE on default template template parameter in template function)
PR c++/35828
* pt.c (tsubst_decl): Don't abort if we didn't change anything
in a TEMPLATE_DECL's args.
From-SVN: r149351
Manuel López-Ibáñez [Tue, 7 Jul 2009 21:52:01 +0000 (21:52 +0000)]
tree.c (set_expr_locus): Remove.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* tree.c (set_expr_locus): Remove.
* tree.h (EXPR_LOCUS,SET_EXPR_LOCUS,set_expr_locus): Remove.
* c-typeck.c (c_finish_stmt_expr): Replace EXPR_LOCUS by
EXPR_LOCATION.
* gimplify.c (internal_get_tmp_var): Likewise.
(gimplify_call_expr): Likewise.
(gimplify_one_sizepos): Likewise.
objc/
* objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
EXPR_LOCATION.
cp/
* semantics.c (finalize_nrv_r): Replace EXPR_LOCUS by
EXPR_LOCATION.
ada/
* gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
EXPR_LOCATION.
From-SVN: r149350
Eric Botcazou [Tue, 7 Jul 2009 20:46:06 +0000 (20:46 +0000)]
re PR debug/40666 (Ada tools build failure)
PR debug/40666
* dbxout.c (dbxout_symbol) <PARM_DECL>: Deal with parameters pointing
to variables for debugging purposes.
From-SVN: r149346