Jerry DeLisle [Mon, 17 Aug 2009 14:27:29 +0000 (14:27 +0000)]
re PR fortran/41075 ([F2008] Implement unlimited format item)
2009-08-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41075
* io/io.h (enum format_token): Add FMT_STAR.
* io/format.c (format_lex): Add case for FMT_STAR.
(parse_format_list): Parse FMT_STAR and check for left paren
after. (next_format0): Modify helper function to check for
unimited format and return the repeated format node. Update
comments to clarify.
Jerry DeLisle [Mon, 17 Aug 2009 14:25:38 +0000 (14:25 +0000)]
re PR fortran/41075 ([F2008] Implement unlimited format item)
2009-08-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41075
* scanner.c (gfc_next_char_literal): Add comment to improve
readability.
* io.c (enum format_token): Add FMT_STAR. (format_lex): Add case
for '*'. (check_format): Check for left paren after '*'. Change
format checks to use %L to improve format string error locus.
Aurelien Jarno [Mon, 17 Aug 2009 12:08:20 +0000 (12:08 +0000)]
s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
* s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
(stack_t): New record type.
(sigaltstack): New imported function.
(Alternate_Stack): New imported variable.
(Alternate_Stack_Size): New constant.
* make.adb (Arguments_Collected): Unneeded, removed
(Change_To_Object_Directory): Use Project directly. Add pragma Assert to
ensure caller does not pass in No_Project.
(Compile): Add new parameter Project. Let procedure
Collect_Arguments_And_Compile provide the proper value.
* switch-c.adb: Add documentation for -gnatea and -gnatez
2009-08-17 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Changed name of package in SAL example, to avoid
clash with Ada 2005 reserved word (interface).
Arnaud Charlet [Mon, 17 Aug 2009 10:00:43 +0000 (12:00 +0200)]
[multiple changes]
2009-08-17 Robert Dewar <dewar@adacore.com>
* tbuild.adb: Minor reformatting
2009-08-17 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
Use Tbuild.Make_Temporary to create entity for the temporary.
Arnaud Charlet [Mon, 17 Aug 2009 09:45:27 +0000 (11:45 +0200)]
[multiple changes]
2009-08-17 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
exist, as is the case for synchronized types, use the type of the
discriminal in the parameter specification, to prevent a spurious
subtype mismatch in gigi.
2009-08-17 Robert Dewar <dewar@adacore.com>
* prj-env.adb: Minor reformatting
* make.adb: Minor reformatting
Comment updates
Emmanuel Briot [Mon, 17 Aug 2009 09:42:19 +0000 (11:42 +0200)]
2009-08-17 Emmanuel Briot <briot@adacore.com>
* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
(Processing_Flags.Require_Obj_Dirs): new field, which controls whether
object directories must be present. In the case of gprclean at least,
these are optional (if they do not exist there is nothing to clean)
* sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
the time zone since VxWorks chose positive values to represent west
time zones and negative for east zones.
Jason Merrill [Sun, 16 Aug 2009 17:42:56 +0000 (13:42 -0400)]
Make TREE_USED match the [basic.def.odr] concept for FUNCTION_DECL and VAR_DECL...
Make TREE_USED match the [basic.def.odr] concept for FUNCTION_DECL
and VAR_DECL, so mark_used only has effect the first time.
* decl2.c (mark_used): Just return if TREE_USED is already set.
Don't set TREE_USED if cp_unevaluated_operand is set.
(tree_used_ok): New fn.
* init.c (build_offset_ref): Check it instead of TREE_USED.
* call.c (build_call_a): Likewise.
* cp-tree.h: Declare it.
(DECL_NO_LINKAGE_CHECKED): No longer needed.
(struct lang_decl_base): Remove no_linkage_checked bitfield.
mips-protos.h (mips_push_asm_switch): New function.
gcc/
* config/mips/mips-protos.h (mips_push_asm_switch): New function.
(mips_pop_asm_switch): Likewise.
* config/mips/mips.c (set_noreorder, set_nomacro, set_noat): Replace
with...
(mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
(mips_push_asm_switch_1, mips_pop_asm_switch_1): New functions.
(mips_push_asm_switch, mips_pop_asm_switch): Likewise.
(mips_print_operand_punctuation): Use them. Check mips_noreorder
instead of set_noreorder.
(mips_output_function_prologue): Use the new functions.
(mips_output_function_epilogue): Likewise.
(mips_need_noat_wrapper_p): New function, split out from...
(mips_final_prescan_insn, mips_final_postscan_insn): ...here.
Use mips_push_asm_switch and mips_pop_asm_switch.
* config/mips/mips.h (FUNCTION_PROFILER): Use mips_push_asm_switch
and mips_pop_asm_switch.
(ASM_OUTPUT_REG_POP): Likewise.
(DBR_OUTPUT_SEQEND): Remove boilerplate comment.
Use mips_pop_asm_switch.
(mips_asm_switch): New structure.
(set_noreorder, set_nomacro): Replace with...
(mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
* config/mips/mips.md (fix_truncdfsi2_macro): Use mips_nomacro
instead of set_nomacro.
(fix_truncsfsi2_macro): Likewise.
(cprestore): Likewise.
(hazard): Use mips_noreorder instead of set_noreorder.
* config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h.
Anatoly Sokolov [Sun, 16 Aug 2009 16:22:59 +0000 (20:22 +0400)]
avr.h (AVR_HAVE_8BIT_SP): New macros.
* config/avr/avr.h (AVR_HAVE_8BIT_SP): New macros.
* config/avr/avr.c (avr_override_options): Initialize
avr_current_arch variable.
(avr_cpu_cpp_builtins): Define __AVR_HAVE_8BIT_SP__ or
__AVR_HAVE_16BIT_SP__ according to the device type.
(expand_prologue, output_movhi): Use AVR_HAVE_8BIT_SP instead of
TARGET_TINY_STACK.
(expand_epilogue): Use correct QI mode frame pointer for tiny stack.
Use AVR_HAVE_8BIT_SP instead of TARGET_TINY_STACK.
Dodji Seketeli [Sun, 16 Aug 2009 09:02:25 +0000 (09:02 +0000)]
re PR debug/37801 (DWARF output for inlined functions doesn't always use DW_TAG_inlined_subroutine)
Fix for PR debug/37801
gcc/ChangeLog:
* gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
generating inlined subroutine die only. We shouldn't be
called for anything else.
(gen_block_die): Don't generate inline subroutine debug info for
abstract blocks.
gcc/testsuite/ChangeLog:
* gcc/testsuite/gcc.dg/debug/20020224-1.c: Adjust the comment.
Make sure to trigger inlining optimizations.
* gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c: New test.
Douglas B Rupp [Fri, 14 Aug 2009 20:56:31 +0000 (20:56 +0000)]
fde-vms.c: New file.
2009-08-14 Douglas B Rupp <rupp@gnat.com>
* config/ia64/fde-vms.c: New file.
* config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Add dummy arg.
* config/ia64/unwind-ia64.c (UNW_ accessors): Move to unwind-ia64.h
(MD_UNW_COMPATIBLE_PERSONALITY_P): Provide default.
(uw_frame_state_for): Only register a personality routine if it is
known to be compatible with our expectations.
(_Unwind_FindEnclosingFunction, uw_frame_state_for):
Declare unw_table_entry stack variable and
mod all calls to _Unwind_FindTableEntry to add arg.
* config/ia64/unwind-ia64.h (UNW_ accessors): Move here.
(_Unwind_FindTableEntry): Add arg to prototype.
Eric Botcazou [Fri, 14 Aug 2009 20:49:40 +0000 (20:49 +0000)]
unwind-ia64.c (struct _Unwind_Context): Add new field 'signal_pfs_loc'.
* config/ia64/unwind-ia64.c (struct _Unwind_Context): Add new
field 'signal_pfs_loc'.
(uw_frame_state_for): Remove duplicate code dealing with leaf
procedures without unwind info.
If in the frame after unwinding through a signal handler, restore
the AR.PFS register instead of the CFM if AR.PFS has not been saved.
* config/ia64/linux-unwind.h (ia64_fallback_frame_state): Do not set
'pfs_loc' to the AR.PFS location in the signal context; instead
set 'signal_pfs_loc'.
Manually generate the unwind info for the AR.PFS register.
(ABI_MARKER_OLD_LINUX_SIGTRAMP, ABI_MARKER_OLD_LINUX_INTERRUPT,
ABI_MARKER_LINUX_SIGTRAMP, ABI_MARKER_LINUX_INTERRUPT): Define.
(ia64_handle_unwabi): Test 'fs->unwabi' against them.
Do not set 'pfs_loc' to the AR.PFS location in the signal context;
instead set 'signal_pfs_loc'.
Remove code preventing the AR.PFS register from being restored
from the signal context.
Douglas B Rupp [Fri, 14 Aug 2009 20:38:36 +0000 (20:38 +0000)]
config.gcc (ia64-hp-*vms*): Insert ia64/t-ia64 in tmake_file.
* config.gcc (ia64-hp-*vms*): Insert ia64/t-ia64 in tmake_file.
* config/ia64/t-vms: New file.
* config/ia64/vms64.h: New file.
* config/ia64/vms.h: New file.
* config/ia64/vms-crtinit.asm: New file.
* config/ia64/vms_symvec_libgcc_s.opt: New file.
* config/ia64/vms-unwind.h: New file.
Kaveh R. Ghazi [Fri, 14 Aug 2009 16:44:36 +0000 (16:44 +0000)]
re PR middle-end/30789 (complex folding inexact)
PR middle-end/30789
* builtins.c (do_mpc_arg2): Make extern, define for any MPC
version. Move declaration...
* real.h (do_mpc_arg2): ... here.
* fold-const.c (const_binop): Use MPC for complex MULT_EXPR
and RDIV_EXPR.
re PR rtl-optimization/41064 (build breakage for cris-elf building newlib, ICE in extract_insn, from r150726)
PR rtl-optimization/41064
* reload1.c (reload_as_needed): Don't call extract_insn
for known invalid replacements after calling
validate_replace_rtx_group and verify_changes.
Uros Bizjak [Fri, 14 Aug 2009 10:31:09 +0000 (12:31 +0200)]
re PR target/41019 (Vector conditional move produces wrong code with -O3.)
PR target/41019
* config/i386/sse.md (SSEMODE124C8): New mode iterator.
(vcond<SSEMODEF2P:mode>): Assert that operation is supported by
ix86_expand_fp_vcond.
(vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
Assert that operation is supported by ix86_expand_int_vcond.
(vcondu<SSEMODE124C8:mode>): Ditto.
testsuite/ChangeLog:
PR target/41019
* gcc.target/i386/pr41019.c: New test.
* tree-ssa-loop-prefetch.c
(prune_ref_by_group_reuse): Enhance probabilistic analysis
for long-stride pruning.
(compute_miss_rate): New function to compute the probability
that two memory references access different cache lines.
Janis Johnson [Thu, 13 Aug 2009 16:54:28 +0000 (16:54 +0000)]
re PR c/41046 (decNumber leaves printf call in libgcc)
PR c/41046
* decContext.c (decContextTestEndian): Call printf only if DECCHECK.
* decCommon.c ( decFloatShow): Define function only for DECCHECK
or DECTRACE.
Janus Weil [Thu, 13 Aug 2009 11:16:16 +0000 (13:16 +0200)]
re PR fortran/40995 (Spurious "Type specified for intrinsic function...ignored" message)
2009-08-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40995
* resolve.c (resolve_symbol): Move some checking code to
resolve_intrinsic, and call this from here.
(resolve_intrinsic): Some checking code moved here from resolve_symbol.
Make sure each intrinsic is only resolved once.
2009-08-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40995
* gfortran.dg/intrinsic_4.f90: New.
* gfortran.dg/intrinsic_subroutine.f90: An error message moved to a
different line.
Andrew Haley [Wed, 12 Aug 2009 16:34:00 +0000 (16:34 +0000)]
locks.h: Use atomic builtins For Linux EABI.
2009-08-12 Andrew Haley <aph@redhat.com>
* sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
* configure.ac: Add ATOMICSPEC.
* libgcj.spec.in: Likewise.
* configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
(testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
(testsuite/libjava.jvmti/jvmti.exp): Likewise.
(testsuite/libjava.jni/jni.exp): Likewise.
Set ATOMICSPEC.
Set LDFLAGS to work around libtool feature.
re PR bootstrap/41031 (ICE in insert_value_copy_on_edge preventing bootstrap on sparc64 and s390x, testcase on cris-elf)
2009-08-12 Richard Sandiford <rdsandiford@googlemail.com>
PR tree-optimization/41031
* tree-outof-ssa.c (insert_value_copy_on_edge): Use promote_decl_mode
on the partition variable rather than promote_mode on the source
type. Assert that the partition variable's type has the same
mode as the source value's.
* alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
* gimplify.c (gimplify_modify_expr): Do not use
lang_hooks.types_compatible_p.
* tree-ssa.c (useless_type_conversion_p): For aggregates
just return false if the canonical types differ.