Ed Schonberg [Mon, 26 May 2008 09:40:31 +0000 (11:40 +0200)]
2008-05-26 Ed Schonberg <schonberg@adacore.com>
* inline.adb:
(Cleanup_Scopes): For a protected operation, transfer finalization list
to protected body subprogram, to force cleanup actions when needed.
* exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
Create the statements which map a string name to protected or task
entry indix.
* exp_ch9.adb: Add with and use clause for Stringt.
Minor code reformatting.
(Build_Entry_Names): New routine.
(Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
for flag Build_Entry_Names which controls the allocation of the data
structure for the string names of entries.
* exp_ch9.ads (Build_Entry_Names): New subprogram.
* exp_util.adb (Entry_Names_OK): New function.
* exp_util.ads (Entry_Names_OK): New function.
* rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
enumerations RE_Id and RE_Unit_Table.
* s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
(Free_Entry_Names_Array): New routine.
* s-taskin.ads: Comment reformatting.
Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
Add component Entry_Names to record Ada_Task_Control_Block.
(Free_Entry_Names_Array): New routine.
* s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
dynamically allocate an array
of string pointers. This structure holds string entry names.
(Free_Entry_Names): New routine.
(Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
(Set_Entry_Names): New routine.
* s-tassta.ads:
(Create_Task): Add formal Build_Entry_Names. The flag is used to
control the allocation of the data structure which stores entry names.
(Set_Entry_Name): New routine.
* s-tpoben.adb:
Add with and use clause for Ada.Unchecked_Conversion.
(Finalize): Deallocate the entry names array.
(Free_Entry_Names): New routine.
(Initialize_Protection_Entries): When flag Build_Entry_Names is set,
create an array of string pointers to hold the entry names.
(Set_Entry_Name): New routine.
* s-tpoben.ads:
Add field Entry_Names to record Protection_Entries.
(Initialize_Protection_Entries): Add formal Build_Entry_Names.
(Set_Entry_Name): New routine.
Eric Botcazou [Sun, 25 May 2008 22:42:49 +0000 (22:42 +0000)]
tree-nested.c (convert_tramp_reference): Do not build a trampoline if we don't want one.
* tree-nested.c (convert_tramp_reference) <ADDR_EXPR>: Do not
build a trampoline if we don't want one.
* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Do not
return zero for nested functions if we don't want a trampoline.
ada/
* trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
instead of TREE_STATIC on the ADDR_EXPR.
Daniel Franke [Sun, 25 May 2008 22:37:41 +0000 (18:37 -0400)]
re PR fortran/18428 (No preprocessing option -cpp for gfortran)
gcc:
2008-05-26 Daniel Franke <franke.daniel@gmail.com>
PR fortran/18428
* c.opt: Removed undocumented option '-lang-fortran'.
* c-common.h: Removed global variable 'lang_fortran'.
* c-opts.c (c_common_handle_option): Removed code to handle
option '-lang-fortran'. Updated includes.
* c-cppbuiltin.c (c_cpp_builtins): Removed conditional
definition of '__GFORTRAN__'.
(define__GNUC__): Reimplemented to use BASEVER and
cpp_define_formatted.
(builtin_define_with_value_n): Removed.
* c-incpath.h: Renamed to ...
* incpath.h: ... this.
* c-incpath.c: Renamed to ...
* incpath.c: ... this. Updated includes.
* fix-header.c: Updated includes.
* Makefile.in: Replaced c-incpath.[ch] by incpath.[ch].
(c-cppbuiltin.o): Added dependency on and definition of BASEVER.
(OBJ-archive): Added cppdefault.o, incpath.o and prefix.o.
gcc/cp:
2008-05-26 Daniel Franke <franke.daniel@gmail.com>
* Makefile.in: Adjusted dependencies on c-incpath.o.
gcc/fortran:
2008-05-26 Daniel Franke <franke.daniel@gmail.com>
PR fortran/18428
* lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory,
imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc,
o, undef, v): New options.
* options.c (gfc_init_options): Also initialize preprocessor
options.
(gfc_post_options): Also handle post-initialization of preprocessor
options.
(gfc_handle_option): Check if option is a preprocessor option.
If yes, let gfc_cpp_handle_option() handle the option.
* lang-specs.h: Reorganized to handle new options.
* scanner.c (gfc_new_file): Read temporary file instead of
input source if preprocessing is enabled.
* f95-lang.c (gfc_init): Initialize preprocessor.
(gfc_finish): Clean up preprocessor.
* cpp.c: New.
* cpp.h: New.
* Make-lang.in: Added new objects and dependencies.
* gfortran.texi: Updated section "Preprocessing and
conditional compilation".
* invoke.texi: Added new section "Preprocessing Options",
listed and documented the preprocessing options handled by gfortran.
Paolo Carlini [Sun, 25 May 2008 16:55:23 +0000 (16:55 +0000)]
complex: Trivial stylistic changes...
2008-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex: Trivial stylistic changes, define inline
members inline, consistently with the rest of the library.
(pow(const _Tp&, const complex<>&)): Minor tweak.
Eric Botcazou [Sat, 24 May 2008 09:49:55 +0000 (09:49 +0000)]
trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
* trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
(Sloc_to_locus): Do not overwrite known GCC locations when translating
GNAT standard locations.
Paolo Carlini [Fri, 23 May 2008 23:08:41 +0000 (23:08 +0000)]
tuple: Replace int -> size_t throughout per DR 775.
2008-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple: Replace int -> size_t throughout per DR 775.
* include/tr1_impl/array: Likewise.
* include/tr1_impl/utility: Likewise.
* doc/xml/manual/intro.xml: Add an entry for DR 775.
see.c (see_get_extension_data): Don't use SUBREG_REG to test if a node is a SUBREG.
2008-05-23 Rafael Espindola <espindola@google.com>
* see.c (see_get_extension_data): Don't use SUBREG_REG to test
if a node is a SUBREG.
(see_analyze_one_def): Don't use SUBREG_REG to test if a node
is a SUBREG.
2008-05-23 Rafael Espindola <espindola@google.com>
* gcc/testsuite/gcc.c-torture/compile/20080522-1.c: Move to gcc.dg.
* gcc/testsuite/gcc.dg/20080522-1.c: Moved from gcc.c-torture.
Eric Botcazou [Fri, 23 May 2008 16:13:49 +0000 (16:13 +0000)]
gigi.h (mark_visited): Declare.
* gigi.h (mark_visited): Declare.
* decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
only the topmost node of expressions.
(elaborate_expression_1): Look deeper for read-only variable.
* trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
(mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
(mark_visited_r): New function.
Olivier Hainque [Fri, 23 May 2008 14:33:46 +0000 (16:33 +0200)]
gnat_ugn.texi (Calling Conventions): Document that the Intrinsic convention also allows access to named compiler...
2008-05-23 Olivier Hainque <hainque@adacore.com>
* gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
convention also allows access to named compiler built-in subprograms
such as the GCC __builtin family.
Ed Schonberg [Fri, 23 May 2008 14:33:37 +0000 (16:33 +0200)]
sem_attr.adb (Resolve_Attribute, [...]): If the prefix is a slice...
2008-05-23 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
slice, convert it to an indexed component, which is equivalent, more
efficient, and usable even if the slice itself is not addressable.
Vincent Celier [Fri, 23 May 2008 14:33:14 +0000 (16:33 +0200)]
snames.adb: New standard name Excluded_Source_List_File
2008-05-23 Vincent Celier <celier@adacore.com>
* snames.adb:
New standard name Excluded_Source_List_File
* snames.ads:
New standard name Excluded_Source_List_File
* prj-attr.adb:
New project level attribute Excluded_Source_List_File
* prj-nmsc.adb:
(Find_Excluded_Sources): New parameter Project.
Get excluded sources from
file indicated by attribute Excluded_Source_List_File, when present and
neither Excluded_Source_Files nor Locally_Removed_Files are declared.
Vincent Celier [Fri, 23 May 2008 13:28:41 +0000 (15:28 +0200)]
gnatlink.adb (Process_Args): Do not disable scanning of ALI file for back end switches when...
2008-05-23 Vincent Celier <celier@adacore.com>
* gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
back end switches when executable specified with --GCC= is same as
default, even if there are additional options.
* gnat_ugn.texi:
Document when the back end switches from the ALI file are taken into
account when gnatlink is invoked with --GCC=
Andrew Haley [Fri, 23 May 2008 13:04:18 +0000 (13:04 +0000)]
re PR libgcj/35020 (Class.getSimpleName() differs from Sun Java)
2008-05-22 Andrew Haley <aph@redhat.com>
PR libgcj/35020
* java/lang/Class.java (getSimpleName): Replace incorrect use of
String.lastIndexOf(String, int) with String.substring.
* testsuite/libjava.lang/PR35020.java: New file.
* testsuite/libjava.lang/PR35020.out: New file.
testsuite:
* gcc.dg/builtins-error.c: Test __builtin_fpclassify. Also
add tests for all previous type-generic builtins.
* gcc.dg/pr28796-2.c: Add -DUNSAFE flag.
* gcc.dg/tg-tests.h: Test __builtin_fpclassify.
Paolo Carlini [Fri, 23 May 2008 01:39:17 +0000 (01:39 +0000)]
hashtable_policy.h (_Map_base<,, [...]): Add per DR 761.
2008-05-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/hashtable_policy.h (_Map_base<,,
std::_Select1st<_Pair>, true,>::at): Add per DR 761.
* testsuite/23_containers/unordered_map/dr761.cc: New.
* doc/xml/manual/intro.xml: Add an entry for DR 761.
Richard Guenther [Thu, 22 May 2008 10:32:55 +0000 (10:32 +0000)]
tree-dfa.c (refs_may_alias_p): Exit early if possible.
2008-05-22 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (refs_may_alias_p): Exit early if possible. Handle
more cases of offset disambiguation that is possible if
strict-aliasing rules apply.
* tree-ssa-loop-im.c (mem_refs_may_alias_p): Use refs_may_alias_p
for basic offset and type-based disambiguation.
Arnaud Charlet [Thu, 22 May 2008 09:24:10 +0000 (09:24 +0000)]
slice5.adb: New test.
* gnat.dg/slice5.adb: New test.
* gnat.dg/notnot.adb: New test.
* gnat.dg/tf_interface_1.ad[sb]: New test.
* gnat.dg/const1.adb: New test.
* gnat.dg/parameterlessfunc.adb: New test.
* gnat.dg/specs/interface5.ads: New test.
* gnat.dg/specs/cpp_assignment.ads: New test.
Sebastian Pop [Wed, 21 May 2008 23:13:00 +0000 (23:13 +0000)]
re PR middle-end/36286 (ICE with -ftree-loop-linear and -O1 and above)
2008-05-21 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/36286
PR tree-optimization/36287
* lambda-code.c (build_access_matrix): Do not use the loop->num
for computing the number of induction variables: use the loop depth
instead.
Paolo Carlini [Wed, 21 May 2008 20:46:16 +0000 (20:46 +0000)]
bitset (bitset<>::bitset(const char*)): Add per DR 778.
2008-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/bitset (bitset<>::bitset(const char*)): Add per DR 778.
(bitset<>::_M_copy_from_ptr): Add.
(bitset<>::_M_copy_from_string): Forward to the latter.
* doc/xml/manual/intro.xml: Add an entry for DR 778.
* testsuite/23_containers/bitset/cons/2.cc: Add.
Jakub Jelinek [Wed, 21 May 2008 19:57:06 +0000 (21:57 +0200)]
re PR c++/36023 (ICE with cast to variable-sized object)
PR c++/36023
* cp-tree.h (check_array_initializer): New prototype.
* decl.c (check_array_initializer): New function.
(check_initializer): Call it.
* semantics.c (finish_compound_literal): Call it for ARRAY_TYPEs.
Jakub Jelinek [Wed, 21 May 2008 19:56:03 +0000 (21:56 +0200)]
re PR c++/36023 (ICE with cast to variable-sized object)
PR c++/36023
* cp-tree.h (check_array_initializer): New prototype.
* decl.c (check_array_initializer): New function.
(check_initializer): Call it.
* semantics.c (finish_compound_literal): Call it for ARRAY_TYPEs.