David O'Brien [Thu, 6 Dec 2001 17:34:55 +0000 (17:34 +0000)]
config.gcc: Include dbxelf.h before elfos.h.
2001-12-06 David O'Brien <obrien@FreeBSD.org>
* config.gcc: Include dbxelf.h before elfos.h.
* elfos.h: Don't include dbxelf.h, let config.gcc handle it.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20011205224713.D9059@redhat.com>
David O'Brien [Thu, 6 Dec 2001 01:43:58 +0000 (01:43 +0000)]
config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files, as set by the generic FreeBSD configure framework.
2001-12-05 David O'Brien <obrien@FreeBSD.org>
* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
as set by the generic FreeBSD configure framework.
Neil Booth [Wed, 5 Dec 2001 23:20:00 +0000 (23:20 +0000)]
c-common.c (shadow_warning): New function, moved from cp/decl.c.
* c-common.c (shadow_warning): New function, moved from cp/decl.c.
* c-common.h (shadow_warning): New.
* c-decl.c: Include c-common.h.
(warn_if_shadowing): New, broken out of pushdecl.
(pushdecl): Use warn_if_shadowing.
(store_parm_decls): Prevent duplicate -Wshadow warnings.
cp:
* decl.c: Include c-common.h.
(shadow_warning): Move to c-common.c.
testsuite:
* gcc.dg/Wshadow-1.c: New test.
Benjamin Kosnik [Wed, 5 Dec 2001 22:07:36 +0000 (22:07 +0000)]
[multiple changes]
2001-12-05 Benjamin Kosnik <bkoz@redhat.com>
DR/282
* include/bits/locale_facets.tcc (num_put::_M_widen_float): Add
grouping to floating point types.
* testsuite/27_io/ostream_inserter_arith.cc (test02): Add test.
2001-12-04 Paolo Carlini <pcarlini@unitus.it>
libstdc++/4402
* testsuite/27_io/ostream_inserter_arith.cc (test02): add testcase
from the PR.
* include/bits/locale_facets.tcc (num_put::_M_convert_float):
Deal properly with long ios_base::fixed floats.
(num_put::_M_widen_float): use
__len in __builtin_alloca call.
* opt.ads:
(Bind_Only): New Flag
(Link_Only): New flag
* switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
and -l (Link_Only)
* makeusg.adb: Add new switches -b and -l. Update Copyright notice.
* make.adb:
(Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
(Gnatmake): Set the step flags. Only perform a step if the
corresponding step flag is True.
(Scan_Make_Arg): Reset the bind and link step flags when -u
or -gnatc has been specified.
Geert Bosch [Wed, 5 Dec 2001 20:34:43 +0000 (21:34 +0100)]
sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation unit...
* sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
unit, always replace instance node with new body, for ASIS use.
* prj-nmsc.adb (Language_Independent_Check): Issue a warning if
libraries are not supported and both attributes Library_Name and
Library_Dir are specified.
* prj-proc.adb (Expression): Set location of Result to location of
first term.
* Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
(prj-nmsc is now importing MLib.Tgt)
* prj-proc.adb: Put the change indicated above that was forgotten.
Robert Dewar [Wed, 5 Dec 2001 19:54:31 +0000 (19:54 +0000)]
checks.adb (Determine_Range): Increase cache size for checks.
* checks.adb (Determine_Range): Increase cache size for checks.
Minor reformatting
* exp_ch6.adb: Minor reformatting
(Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
a parameter whose root type is System.Address, since treating such
subprograms as pure in the code generator is almost surely a mistake
that will lead to unexpected results.
* exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
change handling of conversions.
* g-regexp.adb: Use System.IO instead of Ada.Text_IO.
Ed Schonberg [Wed, 5 Dec 2001 18:59:43 +0000 (18:59 +0000)]
sem_ch12.adb: Document use of Associated_Node on Selected_Components.
* sem_ch12.adb:
Document use of Associated_Node on Selected_Components.
(Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
to clarify use of untyped descendant fields.
Daniel Berlin [Wed, 5 Dec 2001 18:00:54 +0000 (18:00 +0000)]
rs6000.h (enum rs6000_builtins): Add more altivec builtins.
2001-12-05 Daniel Berlin <dan@cgsoftware.com>
* config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
builtins.
* config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
better reflect reality (change from Apple's tree).
Add more of altivec instructions.
Add ftruncv4sf2 pattern.
Remove more unspecs (vector merge instructions, etc).
* config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
builtins.
(bdesc_1arg): New, for 1 argument altivec builtins.
(altivec_expand_builtin): Handle unary and ternary ops.
(altivec_init_builtins): Ditto.
Jakub Jelinek [Wed, 5 Dec 2001 14:09:56 +0000 (15:09 +0100)]
c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's type is RECORD_TYPE...
* c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
(finish_struct): Break the loop if n_incomplete went to 0.
For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
Richard Kenner [Wed, 5 Dec 2001 11:44:37 +0000 (11:44 +0000)]
expr.c (store_expr): When copying string constant into array...
* expr.c (store_expr): When copying string constant into array,
use functions that update memrefs instead of computations on
addresses to better track MEMs. Also properly handle 32/64 pointers.
(expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
(expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
Douglas B Rupp [Wed, 5 Dec 2001 02:27:24 +0000 (03:27 +0100)]
* bindgen.adb:
(Gen_Exception_Table_Ada): Write "begin" and then return if Num
exceptions equals 0.
(Gen_Exception_Table_C): Return if Num exceptions equals 0.
Fixes PIWG E tests (which have to be run with -gnatL).
Ed Schonberg [Wed, 5 Dec 2001 02:07:10 +0000 (02:07 +0000)]
einfo.ads: Block_Node points to the identifier of the block...
* einfo.ads: Block_Node points to the identifier of the block, not to
the block node itself, to preserve the link when the block is
rewritten, e.g. within an if-statement with a static condition.
* inline.adb (Cleanup_Scopes): recover block statement from block
entity using new meaning of Block_Node.
* sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
identifier of block node, rather than to node itself.
Gary Dismukes [Wed, 5 Dec 2001 02:00:43 +0000 (02:00 +0000)]
* layout.adb:
(Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
(Discrimify): Go back to setting the Etypes of the selected component
because the Vname component does not exist at this point and will
fail name resolution. Also set Analyzed.
Remove with and use of Sem_Res.
Andrew MacLeod [Wed, 5 Dec 2001 01:39:41 +0000 (01:39 +0000)]
rtl.h (initialize_uninitialized_subregs): New prototype.
2001-12-04 Andrew MacLeod <amacleod@redhat.com>
* rtl.h (initialize_uninitialized_subregs): New prototype.
* toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
when optimization is on.
* flow.c (find_regno_partial): Find subregs within an expression.
(initialize_uninitialized_subregs): Initialize live on entry registers
which are used in subreg expressions.
Ed Schonberg [Wed, 5 Dec 2001 01:38:41 +0000 (01:38 +0000)]
sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide access discriminant within a type extension...
* sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
access discriminant within a type extension that constrains its
parent discriminants.
Ed Schonberg [Wed, 5 Dec 2001 01:21:50 +0000 (01:21 +0000)]
sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication is malformed...
* sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
is malformed, use instance of Any_Id to allow analysis to proceed.
* par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
type definition is illegal.
(P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
misplaced.
Robert Dewar [Wed, 5 Dec 2001 01:06:25 +0000 (01:06 +0000)]
exp_util.adb: Minor reformatting from last change
* exp_util.adb: Minor reformatting from last change
* errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
which is a rewriting of an expression, traverse the original
expression to remove warnings that may have been posted on it.
Tom Tromey [Tue, 4 Dec 2001 23:54:43 +0000 (23:54 +0000)]
verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
* verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
(_Jv_BytecodeVerifier::utf8_list): New field.
(_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Initialize it.
(_Jv_BytecodeVerifier::~_Jv_BytecodeVerifier): Free it.
(_Jv_BytecodeVerifier::make_utf8_const): New method.
(_Jv_BytecodeVerifier::get_one_type): Use it.
(_Jv_BytecodeVerifier::type::merge): When using local semantics,
if the destination type is already unsuitable then we didn't
change.
Neil Booth [Tue, 4 Dec 2001 22:26:16 +0000 (22:26 +0000)]
cppspec.c (lang_specific_driver): Set is_cpp_driver.
* cppspec.c (lang_specific_driver): Set is_cpp_driver.
* gcc.c (process_command): Ensure the cpp driver sees
--help and --target-help, and that the help is printed
exactly once.
Tom Tromey [Tue, 4 Dec 2001 20:18:35 +0000 (20:18 +0000)]
defineclass.cc (read_one_method_attribute): `end_pc' for an exception can be equal to code length.
* defineclass.cc (read_one_method_attribute): `end_pc' for an
exception can be equal to code length.
* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Removed
`start_PC' from error invocation where it didn't make sense, and
updated error message. Use `copy' to copy a state. Only try to
merge current state with saved state when we've fallen through
from the previous instruction.
(_Jv_BytecodeVerifier::pop_ref_or_return): New method.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore_0]: Use
pop_ref_or_return.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore]:
Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Pass max_locals, not
max_stack, to merge.
(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Merge from new state into
state at branch target, not vice versa.
(_Jv_BytecodeVerifier::branch_prepass): Allow end of exception to
be equal to code length. Removed redundant test to see if
exception start is after exception end.
(_Jv_BytecodeVerifier::verify_instructions_0): Type of argument to
`finally' is Throwable.