2007-12-13 Anton Korobeynikov <asl@math.spbu.ru>
* trans-decl.c (gfc_build_builtin_function_decls): Correct decl
construction for select_string() and internal_unpack()
2007-12-13 Duncan Sands <baldrick@free.fr>
Anton Korobeynikov <asl@math.spbu.ru>
* trans-expr.c (gfc_conv_structure): Make sure record
* constructors
for static variables are marked constant.
From-SVN: r130914
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* io/io.h: Add previous_nonadvancing_write to gfc_unit.
Add prototype for finish_last_advance_record.
* io/file_pos.c (st_backspace): Generate error if backspace is
attempted for direct access or unformatted stream.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the backspace.
(st_endfile): Generate error if endfile is attempted for
direct access.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the endfile.
(st_rewind): Generate error if rewind is attempted for
direct access.
* unit.c (close_unit_1): Move functionality to write
previously written bytes to...
(finish_last_advance_record): ... here.
* transfer.c (data_transfer_init): If reading, reset
previous_nonadvancing_write.
(finalize_transfer): Set the previous_noadvancing_write
flag if we are writing and ADVANCE="no" was specified.
Only call next_record() if advance="no" wasn't specified.
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* gfortran.dg/advance_6.f90: New test case.
* gfortran.dg/direct_io_7.f90: New test case.
* gfortran.dg/streamio_13.f90: New test case.
From-SVN: r130912
2007-12-13 Andrew Pinski <pinskia@gmail.com>
David Daney <ddaney@avtrex.com>
PR bootstrap/34144
* system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
is disabled.
Co-Authored-By: David Daney <ddaney@avtrex.com>
From-SVN: r130908
PR rtl-optimization/32636
* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
From-SVN: r130907
2007-12-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34450
* params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
* invoke.texi (sccvn-max-scc-size): Document.
* Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
* tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
on error.
* tree-ssa-sccvn.c (params.h): Include.
(DFS): Return true if all went well, return false as soon as
a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
(run_scc_vn): Return true if all went well, return false if
we aborted during DFS.
* tree-ssa-pre.c (execute_pre): Check if SCCVN finished
successfully, otherwise bail out.
From-SVN: r130895
2007-12-13 Olga Golovanevsky <olga@il.ibm.com>
* ipa-struct-reorg.c (is_candidate): Print information to dump
file when the type is initialized.
(get_stmt_accesses): Likewise when a structure has bitfields
or field access is too complicate.
(safe_cond_expr_check): Likewise for unsafe condition expressions.
(exclude_cold_structs): Likewise for cold structures.
(collect_structures): Suppress redundant print when there are
no structures to transform.
(do_reorg): Print to dump file a number of structures that
will be transformed.
(dump_new_types): Print a number of new types to replace
an original structure type.
From-SVN: r130894
(Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code
restriction. This checking used to be done in the front end, but is
moved here so we can make it more accurate.
From-SVN: r130892
2007-12-06 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
generation of spurious error if parent is an interface type; caused
because predefined primitive bodies will be generated later by
Freeze_Record_Type.
(Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
flag.
(Derive_Subprograms): Handle derivations of predefined primitives
after all the user-defined primitives to ensure that they are
found in proper order in instantiations.
(Add_Interface_Tag_Components, Inherit_Components): Update occurrences
of Related_Interface to Related_Type.
(Record_Type_Declaration): Minor reordering of calls to decorate the
Tag component because the entity must have set its Ekind attribute
before setting its Is_Tag attribute.
(Analyze_Subtype_Declaration): In the case of subtypes with
Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
From-SVN: r130883
2007-12-06 Gary Dismukes <dismukes@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
it to the front end and setting the aamp_target environment variable
to the switch's argument to ensure that gnaampbind and gnaamplink will
take the specified library into account.
(Make): Only set Check_Object_Consistency to False for JVM, not for CIL
target, since the CIL compiler supports an "object" file (.il files).
From-SVN: r130879
2007-12-06 Bob Duff <duff@adacore.com>
* itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
types, set Can_Use_Internal_Rep appropriately, based on
Always_Compatible_Rep_On_Target.
From-SVN: r130878
2007-12-06 Emmanuel Briot <briot@adacore.com>
* s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
Reference_Dir unless we actually need it.
From-SVN: r130875
2007-12-06 Olivier Hainque <hainque@adacore.com>
* tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
(__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
From-SVN: r130874
2007-12-06 Matthew Heaney <heaney@adacore.com>
* a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
which generic formal operations are called for each operation.
From-SVN: r130873
2007-12-06 Robert Dewar <dewar@adacore.com>
Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Dcoument new rules for style check comment alignment
Document that suffixes may be terminations of each others
Add doc for -gnatw.a and -gnatw.A
Document gnatbind -Wx switch
Document BOM recognition
Document pragma Implemented_By_Entry.
Document new units.
* gnat_rm.texi: (Favor_Top_Level): Document new pragma.
Add doc for pragma Unreferenced suppressing no entities referenced msg
Add documentation of GNAT.Directory_Operations.Iteration
Add documentation of GNAT.Random_Numbers
Add documentation for pragma Shared.
Correct documentation for Bit_Order
Add documentation for the Pool_Address attribute.
Fix and improve documentation of pragma machine_attribute.
New pragma Fast_Math
Document BOM recognition
* vms_data.ads: Add entries for -gnatw.a -gnatw.A
Add /Wide_Character_Encoding for binder
Add qualifier for the new gnatpp option --no-separate-loop-then
From-SVN: r130872
2007-12-06 Vincent Celier <celier@adacore.com>
* a-direct.adb (Create_Path): Always take '/' as a directory separator,
even on Windows
From-SVN: r130871
2007-12-06 Robert Dewar <dewar@adacore.com>
* xeinfo.adb: Remove warnings
* xnmake.adb: Remove warnings
* xsinfo.adb: Remove warnings
* xtreeprs.adb: Remove warnings
* xsnames.adb: Remove warnings
* a-ngcoar.adb: Fix typo.
* s-interr.adb: Minor reformatting
* env.c: Minor reformatting.
* g-bytswa.adb: Minor reformatting.
* g-rannum.ads: Minor documentation improvements
* s-tasinf-mingw.adb: Minor header fix
* a-clrefi.adb: Minor reformatting
* g-sttsne.ads: Minor documentation improvement
* g-sttsne-locking.ads: Minor documentation improvement
* g-soliop-solaris.ads: Minor documentation improvement
* g-soliop-mingw.ads: Minor documentation improvement
* g-soliop.ads: Minor documentation improvement
* exp_aggr.ads: Minor reformatting
* debug.adb: Add documentation for the gprbuild debug flags
* exp_ch2.adb: Use Nkind_In to simplify code throughout
* exp_pakd.adb: Minor reformatting
* g-altive.ads, g-alleve.adb: Remove assertions.
Add comment about minor differences between targets regarding
floating-point operations.
* g-thread.adb: Remove pragma unreferenced.
* lib.ads: Minor reformatting
* par-ch9.adb: Minor reformatting of error messages
* sem_case.adb: Minor reformatting
* s-fileio.adb: Minor reformattinng
* s-vmexta.ads: Minor typo
* vxaddr2line.adb:
Take into account 'Success' value as per new GNAT warning.
From-SVN: r130870
2007-12-06 Olivier Hainque <hainque@adacore.com>
* tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
of Procedure Value instead of Frame Pointer as the invocation
identifier associated with the instruction pointer in each traceback
entry.
* g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
TB_Entry_For): Revert back to use of Procedure Value instead of Frame
Pointer as the invocation identifier passed to tbk$symbolize.
* s-traent-vms.ads, s-traent-vms.adb
(Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
Procedure Value instead of Frame Pointer as the invocation identifier
passed to tbk$symbolize.
From-SVN: r130867
* s-tassta.adb (Create_Task): Take into account tasks created by
foreign threads.
Code clean up: use constants instead of hard coded values.
From-SVN: r130865
2007-12-06 Olivier Hainque <hainque@adacore.com>
* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
with Stack_Grows_Down in System.Parameters. Rename Array_Address into
Stack_Overlay_Address and document that we are using an internal
abstraction.
(Byte_Size, Unsigned_32_Size): Remove, now useless.
(Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
consistently throughout the various implementation pieces.
* s-stausa.adb (Stack_Slots): New type, abstraction for the stack
overlay we are using to fill the stack area with patterns.
(Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
(Push_Index_Step_For, Pop_Index_Step_For): Likewise.
(Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
From-SVN: r130863
2007-12-06 Bob Duff <duff@adacore.com>
* s-soflin.ads: Apply new pragma Favor_Top_Level to all
access-to-subprogram types in this package.
From-SVN: r130862
2007-12-06 Thomas Quinot <quinot@adacore.com>
* sinput.adb (Get_Source_File_Index): Add assertion to guard against
an invalid access to an uninitialized slot in the
Source_File_Index_Table.
From-SVN: r130860