Arnaud Charlet [Mon, 3 Jan 2005 15:38:00 +0000 (16:38 +0100)]
exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly copied from Make_Init_Call).
* exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
copied from Make_Init_Call).
* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
reads and assignments on a temporary variable declared with appropriate
discriminants.
Arnaud Charlet [Mon, 3 Jan 2005 15:37:33 +0000 (16:37 +0100)]
exp_dist.adb: Declare subprogram index in Build_RPC_Receiver_Body...
* exp_dist.adb:
Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
amount of PCS-specific code in RACW stubs generation.
(Copy_Specification): Set Etype on copied formal parameter entities, as
this information is needed for PolyORB stubs generation.
(PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
variable Dynamic_Async.
(Build_Subprogram_Receiving_Stubs): Make PCS-specific
(Build_RPC_Receiver_Specification): Make generic again, as recent
changes have allowed RPC receivers to have the same profile for both
variants of the PCS.
Reorganise RPC receiver generation to reduce differences between the
structure of GARLIC and PolyORB RPC receivers.
(Add_Receiving_Stubs_To_Declarations): Make this subprogram
PCS-specific.
Simplify elaboration code for RCI packages.
* s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
generation to reduce differences between the structure of GARLIC and
PolyORB RPC receivers.
Arnaud Charlet [Mon, 3 Jan 2005 15:36:56 +0000 (16:36 +0100)]
exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the generation of predefined stream operations...
* exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
generation of predefined stream operations (specs and bodies) should
proceed. Under various restrictions these subprograms must not be
generated.
Arnaud Charlet [Mon, 3 Jan 2005 15:36:06 +0000 (16:36 +0100)]
eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
* eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
(Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
(Pred): Implement in terms of Succ.
* trans.c (convert_with_check): Reimplement conversion of float to
integer.
Arnaud Charlet [Mon, 3 Jan 2005 15:35:16 +0000 (16:35 +0100)]
decl.c (compatible_signatures_p): New function.
* decl.c (compatible_signatures_p): New function. The intended purpose
is to check if two function signatures for a call-site and a callee are
compatible enough for the call to be valid. The underlying purpose is
to check if a call to a mapped builtin is using the right interface.
The current code actually does not check antyhing - this a placeholder
for future refinements.
(gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
builtin calls for convention Intrinsic.
* gigi.h (builtin_decl_for): Declare (new function).
* utils.c (gnat_install_builtins): Install the target specific builtins.
(builtin_decl_for): New function, provide a dummy body for now.
Arnaud Charlet [Mon, 3 Jan 2005 15:35:01 +0000 (16:35 +0100)]
checks.adb (Apply_Alignment_Check): Generate a warning if an object address is incompatible with its base type...
* checks.adb (Apply_Alignment_Check): Generate a warning if an object
address is incompatible with its base type alignment constraints when
this can be decided statically.
* Makefile.in: Add support to build shared Ada libraries on solaris x86
Remove gpr2make, replaced by gprmake.
Remove references to gnatmem and libaddr2line.
Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
(gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
Add support for specialized version of Ada.Numerics.Aux for Darwin: use
a-numaux-darwin.ads and a-numaux-darwin.adb
Enable mlib-tgt-lynxos.adb on lynxos.
* Make-lang.in: Remove rules for gpr2make.
When generating sdefault.adb, do not call Relocate_Path
on S3 for function Target_Name, as it is not a path.
Remove references to gnatmem and libaddr2line.
* a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
files.
Arnaud Charlet [Mon, 3 Jan 2005 15:32:19 +0000 (16:32 +0100)]
s-atacco.ads, [...]: Protect use of 'Constrained by warnings on/off...
* s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
on/off, since this is an obsolescent feature, for which we now generate
a warning.
* sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
warning mode is set and obsolescent usage of this attribute occurs.
(Resolve_Access, case 'Access): Note that GNAT uses the context type to
disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
predates, and partly motivates, the adoption of the AI.
Implement new Ada 2005 attribute Mod
* exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
attribute Mod.
* par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
* snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
pragma restrictions.
New entry for Ada 2005 attribute Mod.
* par-prag.adb:
Add recognition of new pragma Restrictions No_Dependence
Recognize restriction No_Obsolescent_Features at parse time
* bcheck.adb: Add circuitry for checking for consistency of
No_Dependence restrictions.
* lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
restrictions.
* restrict.ads, restrict.adb: Add subprograms to deal with
No_Dependence restrictions.
* rtsfind.adb: Check that implicit with's do not violate No_Dependence
restrictions.
* sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
sem_attr.adb: Add check for new restriction No_Obsolescent_Features
* scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
dummy parameter to scng instantiation.
Needed for new restriction No_Obsolescent_Features
* scn.adb: (Obsolescent_Check): New procedure
Needed for new restriction No_Obsolescent_Features
* scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
specified by AI-285, needed for implementation of AI-388 (adding greek
pi to Ada.Numerics).
Add new generic formal to scng, needed for new restriction
No_Obsolescent_Features.
* s-rident.ads: Add new restriction No_Obsolescent_Features.
* ali.ads, ali.adb: Adjustments for reading new No_Dependence
restrictions lines.
(Scan_ALI): When finding an unexpected character on an R line, raise
exception Bad_R_Line, instead of calling Fatal_Error, so that, when
Ignore_Errors is True, default restrictions are set and scanning of the
ALI file continues with the next line. Also, when Bad_R_Line is raised
and Ignore_Errors is True, skip to the end of le line.
* sem_ch10.adb: Check that explicit with's do not violate
No_Dependence restrictions.
(Install_Withed_Unit): Add code to implement AI-377 and diagnose
illegal context clauses containing child units of instance.
* sem_prag.adb: Processing and checking for new No_Dependence
restrictions.
(Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
analyze and check the External argument.
* a-numeri.ads: Add greek letter pi as alternative spelling of Pi
Arnaud Charlet [Mon, 3 Jan 2005 15:30:02 +0000 (16:30 +0100)]
gen-soccon.c: New utility program to generate g-soccon.ads automatically.
* gen-soccon.c: New utility program to generate g-soccon.ads
automatically.
* socket.c, gsocket.h: Split inclusion of system header files into a
gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
* g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
should not be edited by hand anymore, but should be regenerated using
gen-soccon.
* src/istream.cc (basic_istream<char>::ignore(streamsize),
basic_istream<char>::ignore(streamsize, int_type),
basic_istream<wchar_t>::ignore(streamsize),
basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
_M_gcount overflows.
* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
int_type)): Likewise; use snextc in the main loop, consistently
with the specializations above.
Greg McGary [Sun, 2 Jan 2005 22:24:50 +0000 (22:24 +0000)]
mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
* mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
* mf-runtime.h: New file, replaces mf-runtime.h.in.
* configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated.
* Makefile.in: Ditto.
* testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h
* testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/
* testsuite/libmudflap.c/fail36-frag.c: New test.
* testsuite/libmudflap.c/fail37-frag.c: New test.
* testsuite/libmudflap.c/fail38-frag.c: New test.
Bryce McKinlay [Sun, 2 Jan 2005 03:35:57 +0000 (03:35 +0000)]
boehm-gc.h: Include gc_ext_config.h, not gc_config.h.
2005-01-01 Bryce McKinlay <mckinlay@redhat.com>
* include/boehm-gc.h: Include gc_ext_config.h, not gc_config.h.
2005-01-01 Bryce McKinlay <mckinlay@redhat.com>
* configure.ac (AC_CONFIG_HEADERS): Build both include/gc_config.h
and include/gc_ext_config.h.
* include/gc_ext_config.h: New file. Define only THREAD_LOCAL_ALLOC.
* include/gc.h: Undef PACKAGE_* before including gc_config.h.
fvisibility-override1.C: Test using 'hidden' and 'default' for better portability.
* g++.dg/ext/visibility/fvisibility-override1.C: Test using
'hidden' and 'default' for better portability.
* g++.dg/ext/visibility/fvisibility-override2.C: Likewise.
Paolo Carlini [Sat, 1 Jan 2005 23:14:53 +0000 (23:14 +0000)]
13189.cc: Fix, first include testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
2005-01-01 Paolo Carlini <pcarlini@suse.de>
* testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
Steven Bosscher [Sat, 1 Jan 2005 16:15:23 +0000 (16:15 +0000)]
re PR middle-end/17544 (incorrect -Wunreachable-code warning for mains with a return statement)
* emit-rtl.c (add_insn_before): Fix comment typo.
PR middle-end/17544
* c-decl.c (finish_function): If compiling C99, annotate the
compiler generated return with the current file name and line 0.
* tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
the source line is greater than 0.
(remove_bb): Likewise.
cp/
PR middle-end/17544
* decl.c (finish_function): Fix comment. Annotate the compiler
generated return with the current file name and line 0.
testsuite/
* gcc.dg/20041231-1.C: New test.
* g++.dg/warn/Wunreachable-code-1.C: New test.
* src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
(FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
offset parameters with a type parameter; deduce size and structure
alignment. Update all users.
Mark Mitchell [Thu, 30 Dec 2004 23:29:33 +0000 (23:29 +0000)]
cp-tree.h (cp_declarator): Split "name" field into qualifying_scope and unqualified_name.
* cp-tree.h (cp_declarator): Split "name" field into
qualifying_scope and unqualified_name.
* decl.c (get_scope_of_declarator): Adjust accordingly.
(grokdeclarator): Likewise.
* decl2.c (grokfield): Likewise, and adjust call to
do_class_using_decl.
* name-lookup.c (do_class_using_decl): Split "decl" into
"scope" and "name". Remove unnecessary code.
* name-lookup.h (do_class_using_decl): Adjust declaration.
* parser.c (make_id_declarator): Split "id" into qualifying_scope
and unqualified_name.
(cp_parser_using_declaration): Adjust call to do_class_using_decl.
(cp_parser_direct_declarator): Adjust to handle the fact that
cp_parser_declarator_id no longer returns a SCOPE_REF.
(cp_parser_direct_declarator): Likewise.
(cp_parser_declarator_id): Do not create a SCOPE_REF for qualified
names.
(cp_parser_member_declaration): Adjust call to make_id_declarator.
(cp_parser_check_declarator_template_parameters): Do not expect a
SCOPE_REF.
* decl.c (duplicate_decls): Call ggc_free on declarations we will
not be needing any longer.
Ira Rosen [Wed, 29 Dec 2004 13:38:30 +0000 (13:38 +0000)]
re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/18179
* tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
and vect_analyze_offset_expr.
(vect_create_addr_base_for_vector_ref): Build address_base by combining
base and initial_offset fields of vect_stmt_info.
(vect_update_inits_of_dr): Update offset of data-ref instead of its
access-fn. Remove argument.
(vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
arguments.
(vect_compute_data_ref_alignment): Check misalignment info in
vect_stmt_info. Remove argument.
(vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
with correct argument.
(vect_analyze_data_ref_access): Check access info in vect_stmt_info.
(vect_analyze_pointer_ref_access): Update step and initial_offset fields
of vect_stmt_info.
(vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the
fields of stmt_vec_info.
(vect_analyze_data_refs): Find vectype and pass it to
vect_get_memtag_and_dr.
(vect_get_first_index): Remove.
(vect_compute_array_base_alignment): Remove.
(vect_compute_array_ref_alignment): Remove
(vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
(vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead
host_integerp.
(vectorizable_load): Use size arithmetics.
Ira Rosen [Wed, 29 Dec 2004 13:16:07 +0000 (13:16 +0000)]
re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/18179
* tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
initial_offset, step, misalignment and base_aligned_p and macros
to access them.
* tree-vectorizer.c (vect_analyze_offset_expr): New function.
(new_stmt_vec_info): Initialize the new fields of stmt_vec_info.
Paolo Bonzini [Tue, 28 Dec 2004 17:40:40 +0000 (17:40 +0000)]
re PR bootstrap/17383 (Building in src dir fails)
2004-12-28 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/17383
* Makefile.def (target_modules): Remove stage parameter,
it is always true now.
* Makefile.tpl (configure-build-[+module+],
configure-target-[+module+]): Always build symlink tree
for the directory and for include. BUILD_SUBDIR and
TARGET_SUBDIR cannot be . anymore.
* Makefile.in: Regenerate.
Andrew Pinski [Tue, 28 Dec 2004 15:56:51 +0000 (15:56 +0000)]
fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR...
2004-12-28 Andrew Pinski <pinskia@physics.uc.edu>
* fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
we only need a cleanup point expression when the expression on the
left hand side of the MODIFIY_EXPR inside the return has side
effects.
Dorit Naishlos [Tue, 28 Dec 2004 12:44:29 +0000 (12:44 +0000)]
* tree-vectorizer.c (vect_mark_relevant) First argument changed from
varray_type to varray_type*.
(vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
when calling vect_mark_relevant.
David Edelsohn [Tue, 28 Dec 2004 00:39:18 +0000 (00:39 +0000)]
rs6000.c (rs6000_eliminate_indexed_memrefs): Do not break apart constant pool addresses.
* config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
Do not break apart constant pool addresses.
(rs6000_emit_move): Only force source into REG if target is MEM.