Vincent Celier [Wed, 15 Apr 2009 08:57:23 +0000 (08:57 +0000)]
prj-nmsc.adb (Locate_Directory): New Boolean parameter Externally_Built indicating if...
2009-04-15 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Locate_Directory): New Boolean parameter
Externally_Built indicating if the project is externally built. If it
is, and --subdirs is specified, but the subdir does not exist, look
for the specified directory, without the subdir.
* sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
private extension whose parent is a synchronized interface carries an
explicit synchronized keyword.
Ed Schonberg [Wed, 15 Apr 2009 08:37:21 +0000 (08:37 +0000)]
sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access type even if...
2009-04-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
type even if the designated type comes from a limited_with clause, to
ensure that the symbol for the finalization list of the access type is
created.
Diego Novillo [Tue, 14 Apr 2009 20:18:49 +0000 (16:18 -0400)]
[multiple changes]
2009-04-14 Diego Novillo <dnovillo@google.com>
Le-Chun Wu <lcwu@google.com>
* configure.ac: Add --enable-plugin support.
Define ENABLE_PLUGIN and PLUGINLIBS when specified.
* Makefile.in (PLUGIN_H): Define.
Export ENABLE_PLUGIN and GMPINC to site.exp.
Add PLUGINLIBS to link command.
Add/modify dependencies for plugin.o and files including plugin.h.
(plugin.o): New.
* config.in: Regenerate.
* opts.c (common_handle_option): Handle OPT_fplugin_ and
OPT_fplugin_arg_.
2009-04-14 Le-Chun Wu <lcwu@google.com>
* tree-pass.h (register_one_dump_file): Add a prototype for
register_one_dump_file.
* toplev.c (compile_file): Call initialize_plugins.
(do_compile): Call invoke_plugin_callbacks.
(toplev_main): Call invoke_plugin_callbacks.
* common.opt: Add -fplugin= and -fplugin-arg-.
* gcc-plugin.h: New public header file for plugins to include.
* plugin.c: New source file.
* plugin.h: New internal header file.
* passes.c (register_one_dump_file): Make it external.
Eli Zaretskii [Tue, 14 Apr 2009 17:46:29 +0000 (17:46 +0000)]
configure.ac (setobjs, msdosdjgpp): Move a-priori setting of existing and required library functions to...
* configure.ac (setobjs, msdosdjgpp): Move a-priori setting of
existing and required library functions to with_target_subdir
section, so that the native build does detect them at configure
time.
* configure: Regenerated.
Jakub Jelinek [Tue, 14 Apr 2009 08:50:26 +0000 (10:50 +0200)]
configure.ac: Change copyright header to refer to version 3 of the GNU General Public License...
* configure.ac: Change copyright header to refer to version
3 of the GNU General Public License and to point readers at the
COPYING3 file and the FSF's license web page.
* Makefile.def: Likewise.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
Vladimir Makarov [Mon, 13 Apr 2009 20:02:41 +0000 (20:02 +0000)]
genautomata.c: Put blank after comma.
2009-04-13 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c: Put blank after comma.
(automaton_decls): New.
(struct unit_usage): Add comments to member next.
(store_alt_unit_usage): Keep the list ordered.
(unit_present_on_list_p, equal_alternatives_p): New.
(check_regexp_units_distribution): Check units distribution
correctness correctly.
(main): Don't write automata if error is found. Return correct
exit code.
* config/m68k/cf.md (cfv4_ds): Remove.
(cfv4_pOEP1, cfv4_sOEP1, cfv4_pOEP2,cfv4_sOEP2, cfv4_pOEP3,
cfv4_sOEP3): Assign to cfv4_oep instead of cfv4_ds.
* config/rs6000/power4.md (lsuq_power4, iq_power4, fpq_power4,
power4-load-ext, power4-store, power4-store-update,
power4-fpstore, power4-fpstore-update, power4-two, power4-three,
power4-insert, power4-compare, power4-lmul-cmp, power4-imul-cmp,
power4-lmul, , power4-imul, power4-imul3, power4-sdiv,
power4-sqrt, power4-isync): Modify reservation to make correct
unit distribution to automata.
Adam Nemet [Mon, 13 Apr 2009 14:51:30 +0000 (14:51 +0000)]
except.c (pass_set_nothrow_function_flags): Set name and add TODO_dump_func.
* except.c (pass_set_nothrow_function_flags): Set name and add
TODO_dump_func.
(set_nothrow_function_flags): Mention in the dump file when
changing a function to nothrow.
re PR other/39062 (libssp/ssp.c needs malloc.h for mingw)
2009-04-13 Ozkan Sezer <sezeroz@gmail.com>
PR target/39062
* ssp.c: Also include malloc.h for alloca(). MinGW needs it.
* configure.ac: Also check for malloc.h.
* configure: Regenerated.
* config.h.in: Regenerated.
* config/arm/arm.c (return_used_this_function): Remove.
(arm_output_function_prologue): Remove use of
return_used_this_function.
(output_return_instruction): Replace use of
return_used_this_function
by cfun->machine->return_used_this_function.
(arm_output_epilogue): Likewise.
(arm_output_function_epilogue): Likewise.
(thumb_unexpanded_epilogue): Likewise.
* config/arm/arm.h (struct machine_function):
New member return_used_this_function.
Joseph Myers [Sun, 12 Apr 2009 22:20:02 +0000 (23:20 +0100)]
re PR preprocessor/31869 (stringifying empty macros)
libcpp:
PR preprocessor/31869
* macro.c (stringify_arg): Handle NULL source token in padding
token where previous padding token did not have source token with
preceding whitespace.
* doc/invoke.texi (max_gcse_passes): Remove documentation.
* params.def (PARAM_MAX_GCSE_PASSES): Remove.
* params.h (MAX_GCSE_PASSES): Remove.
* gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
in sequence. Remove ability to run multiple passes.
(bypass_jumps): Report run as third CPROP pass.
Daniel Kraft [Sat, 11 Apr 2009 16:44:37 +0000 (18:44 +0200)]
re PR fortran/37746 (bounds check of string dummy arguments)
2009-04-11 Daniel Kraft <d@domob.eu>
PR fortran/37746
* gfortran.h (struct gfc_charlen): New field `passed_length' to store
the actual passed string length for dummy arguments.
* trans-decl.c (gfc_create_string_length): Formatting fixes and added
assertion, moved a local variable into the innermost block it is needed.
(create_function_arglist): Removed TODO about the check being
implemented and initialize cl->passed_length here.
(add_argument_checking): New method.
(gfc_generate_function_code): Call the argument checking method.
2009-04-11 Daniel Kraft <d@domob.eu>
PR fortran/37746
* gfortran.dg/bounds_check_strlen_1.f90: New test.
* gfortran.dg/bounds_check_strlen_2.f90: New test.
* gfortran.dg/bounds_check_strlen_3.f90: New test.
* gfortran.dg/bounds_check_strlen_4.f90: New test.
* gfortran.dg/bounds_check_strlen_5.f90: New test.
* gfortran.dg/bounds_check_strlen_6.f90: New test.
* gfortran.dg/bounds_check_strlen_7.f90: New test.
* gfortran.fortran-torture/execute/intrinsic_index.f90: Fix wrong
expected string length that failed with -fbounds-check now.
* gfortran.fortran-torture/execute/intrinsic_trim.f90: Ditto.
* doc/tm.texi (Instruction Output): Document
TARGET_ASM_FINAL_POSTSCAN_INSN.
* target.h (final_postscan_insn): New field in asm_out.
* target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
(TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
* final.c (final_scan_insn): Call
targetm.asm_out.final_postscan_insn after outputting
an asm macro and a normal instruction.
* config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
* config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
* config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
(mips_final_prescan_insn, mips_final_postscan_insn): New functions.
(TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
* sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
for warning suppression.
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Use_One_Type): If the two use_type clauses are
identical, there is no redudancy to check.
2009-04-10 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
calls initializing SS_Allocator (which is initialized in following
code).
(Expand_Simple_Function_Return): Add comment about False value for
Comes_From_Source on secondary-stack allocator.
* prj-attr.adb:
Add new Linker attributes Max_Command_Line_Length, Response_File_Format
and Response_File_Switches.
* prj-nmsc.adb (Process_Linker): Process new attributes
Max_Command_Line_Length, Response_File_Format and
Response_File_Switches.
* prj.ads (Response_File_Format): New enumeration type
(Project_Configuration): New componants Max_Command_Line_Length,
Resp_File_Format and Resp_File_Options.
* snames.ads-tmpl: Add new standard names for linking response files
for gprbuild: GNU, None, Object_List, Option_List,
Max_Command_Line_Length, Response_File_Format and
Response_File_Switches.
* sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
analyze the expression for a postcondition, even if the compiler mode
is Generate_Code.
* vms_data.ads:
Add qualifier for new gnatstub option '--no-exception'
* gnat_ugn.texi:
Add the description of the new gnatstub option '--no-exception'
2009-04-10 Robert Dewar <dewar@adacore.com>
* rtsfind.adb: Minor reformatting
2009-04-10 Thomas Quinot <quinot@adacore.com>
* sem_disp.adb: Minor reformatting.
Add comment pointing to RM clause for the case of warning against a
(failed) attempt at declaring a primitive operation elsewhere than in a
package spec.
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
an actual for a previous formal package of the current instance.
* rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
them first, rather than on the extended main unit.
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
specification of full view carries a null exclusion indicator, create
an itype for it, to check for conformance with partial view.
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
type is a synchronized type, retrieve tag information from the
corresponding record, which has the dispatch table link.
2009-04-10 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Group_Analysis): Take care of switches that might be
decomposed afterwards, but are present as-is in the command line
configuration, and thus should be kept as-is.
* gnat_rm.texi: Document that postconditions are tested on implicit
returns.
* sem_aux.adb: Minor reformatting
2009-04-10 Gary Dismukes <dismukes@adacore.com>
* itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
setting Etype.
* par-ch3.adb (P_Access_Type_Definition): Set new attribute
Null_Exclusion_In_Return_Present when an access-to-function type has a
result type with an explicit not null.
* sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
given on the result type, then create a null-excluding itype for the
function.
* sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
the case where a null exclusion is imposed on a named access type.
(Analyze_Subprogram_Specification): Push and pop the scope of the
function around the call to Analyze_Return_Type in the case of no
formals, for consistency with handling when formals are present
(Process_Formals does this). Ensures that any itype created for the
return type will be associated with the proper scope.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
exclusion is given on a generic function's result type, then create a
null-excluding itype for the generic function.
(Instantiate_Object): Set Null_Exclusion_Present of a constant created
for an actual for a formal in object according to the setting on the
formal. Ensures null exclusion checks are done when the association is
elaborated.
* sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
N_Access_Function_Definition.
* sinfo.adb: Add Get_ and Set_ operations for
Null_Exclusion_In_Return_Present.
Bob Duff [Fri, 10 Apr 2009 14:03:49 +0000 (14:03 +0000)]
exp_ch5.adb, [...]: Move the code that creates a call to the _Postconditions procedure in the case...
2009-04-10 Bob Duff <duff@adacore.com>
* exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
call to the _Postconditions procedure in the case of implicit returns
from analysis to expansion. This eliminates some duplicated code. Use
the Postcondition_Proc to find the identity of this procedure during
expansion.
* snames.ads-tmpl: Remove names that are no longer used in the
Project Manager.
Mark specifically those that are used only in gprbuild
2009-04-10 Eric Botcazou <ebotcazou@adacore.com>
* init.c: Adjust EH support code on Alpha/Tru64.
2009-04-10 Bob Duff <duff@adacore.com>
* sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
procedure on every path that could return implicitly (not via a return
statement) from a procedure.
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Build_Master_Entity): An extended return statement is a
valid scope for a task declarations and therefore for a master id.
2009-04-10 Robert Dewar <dewar@adacore.com>
* sem_aux.adb: Minor reformatting
2009-04-10 Vincent Celier <celier@adacore.com>
* scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
True.
(Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
(Set_Obsolescent_Check): New procedure to change the value of
Obsolescent_Check_Flag.
* scn.ads (Set_Obsolescent_Check): New procedure to control
Obsolescent_Check.
* sinput-l.adb (Load_File): Do not check for pragma Restrictions on
obsolescent features while preprocessing.
* xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
generated files on all platforms.
2009-04-10 Robert Dewar <dewar@adacore.com>
* sem_aux.adb: Minor reformatting
2009-04-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): Handle properly the case of a
protected function with formals that returns an anonymous access type.
2009-04-10 Thomas Quinot <quinot@adacore.com>
* sem_disp.adb: Minor reformatting
2009-04-10 Vasiliy Fofanov <fofanov@adacore.com>
* seh_init.c: Do not use the 32-bit specific implementation of
__gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
version TBD).
2009-04-10 Jose Ruiz <ruiz@adacore.com>
* mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
a '/' at the end so we better use the complete target name to determine
whether it is a PowerPC 55xx target.
PR c++/20118
cp/
* parser.c (cp_parser_check_template_parameters): Take a
cp_declarator parameter.
(cp_parser_elaborated_type_specifier): Update to
cp_parser_check_template_parameters.
(cp_parser_class_head): Likewise.
(cp_parser_check_declarator_template_parameters): Likewise.
(cp_parser_check_template_parameters): Handle first the non-error
conditions. Give more accurate diagnostics if a declarator is
given.
testsuite/
* g++.dg/parse/pr20118.C: New.
* g++.dg/template/spec16.C: Update.
Makefile.in, utils.c: Include "rtl.h" to avoid compile time warnings.
2009-04-10 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
avoid compile time warnings.
Do not add gcc/config in include search list while compiling the RTS.
Pragma Thread_Local_Storage is available on any target.
* exp_util.adb (Make_Non_Empty_Check): New function
(Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
(Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
2009-04-10 Arnaud Charlet <charlet@adacore.com>
* make.adb, gnatlink.adb: Rename JGNAT toolchain.
2009-04-10 Jose Ruiz <ruiz@adacore.com>
* mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
tool prefix for AVR and PowerPC 55xx targets.
2009-04-10 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Within_Postcondition): New function
(Check_Unset_Reference): Use Within_Postcondition to stop bad warning
* exp_ch7.adb (Find_Final_List): When creating a finalization-chain
entity and the scope is a subprogram, retrieve the Sloc of the
subprogram's body rather than using the sloc of the spec, for better
line-stepping behavior in gdb.
(Wrap_Transient_Declaration): For the Sloc of nodes created with a list
controller, use the Sloc of the first declaration of the containing list
rather than that of the node that triggered creation of the list
controller.