platform/upstream/gcc.git
19 years agoFix date on ChangeLog, fix typo in function name
Tobias Schlüter [Sun, 12 Dec 2004 00:56:30 +0000 (01:56 +0100)]
Fix date on ChangeLog, fix typo in function name

From-SVN: r92041

19 years agoDaily bump.
GCC Administrator [Sun, 12 Dec 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r92039

19 years agoselector.c (__objc_init_selector_tables): Add missing void to definition.
Alexander Malmberg [Sat, 11 Dec 2004 23:26:00 +0000 (23:26 +0000)]
selector.c (__objc_init_selector_tables): Add missing void to definition.

2004-12-12  Alexander Malmberg  <alexander@malmberg.org>

        * selector.c (__objc_init_selector_tables): Add missing void to
        definition.

From-SVN: r92035

19 years agotype_traits: Implement rank.
Paolo Carlini [Sat, 11 Dec 2004 21:46:27 +0000 (21:46 +0000)]
type_traits: Implement rank.

2004-12-11  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits: Implement rank.
* testsuite/testsuite_tr1.h (test_property): Generalize to any
value_type.
(test_category, test_relationship): Slightly tweak consistently.
* testsuite/tr1/4_metaprogramming/type_properties/rank/
rank.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/rank/
typedefs.cc: Likewise.

* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_compound/is_compound.cc: New.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_compound/typedefs.cc: Likewise.

* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_arithmetic/is_arithmetic.cc: Tweak consistently with the
testsuite_tr1.h changes.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_fundamental/is_fundamental.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_array/is_array.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_floating_point/is_floating_point.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_integral/is_integral.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_reference/is_reference.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_void/is_void.cc: Likewise.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_same/is_same.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/is_const/
is_const.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
is_volatile.cc: Likewise.

From-SVN: r92033

19 years agore PR middle-end/18641 (Another ICE caused by reload of a pseudo reg into f0 for...
David Edelsohn [Sat, 11 Dec 2004 17:37:25 +0000 (17:37 +0000)]
re PR middle-end/18641 (Another ICE caused by reload of a pseudo reg into f0 for a DImode expr)

2004-12-11  David Edelsohn  <edelsohn@gnu.org>
            Ulrich Weigand  <uweigand@de.ibm.com>

        PR target/18641
        * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
        constants into all register classes intersecting with FLOAT_REGS
        via memory.
        * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
        * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
        choosing register preferences.
        (movdi_internal64): Same.

Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r92032

19 years agotree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX before we release an SSA_NAME.
Kazu Hirata [Sat, 11 Dec 2004 15:58:51 +0000 (15:58 +0000)]
tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX before we release an SSA_NAME.

* tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
before we release an SSA_NAME.

From-SVN: r92031

19 years agore PR middle-end/18921 (wrong code with operator "?")
Roger Sayle [Sat, 11 Dec 2004 13:46:37 +0000 (13:46 +0000)]
re PR middle-end/18921 (wrong code with operator "?")

PR middle-end/18921
* fold-const.c (fold_unwidened_comparison): Use omit_one_operand
instead of constant_boolean_node as arg0 may have side-effects.

* gcc.dg/pr18921-1.c: New test case.

From-SVN: r92030

19 years agore PR fortran/17175 (set_exponent breaks with integer*8 exponent)
Tobias Schlüter [Sat, 11 Dec 2004 11:06:31 +0000 (12:06 +0100)]
re PR fortran/17175 (set_exponent breaks with integer*8 exponent)

fortran/
PR fortran/17175
* iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
same kind as C's 'int'.
(gfc_resolve_set_eponent): Convert 'I' argument if not of kind 4.

testsuite/
PR fortran/17175
* gfortran.dg/scale_1.f90: New test.

From-SVN: r92029

19 years agopa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH file to anonymous...
John David Anglin [Sat, 11 Dec 2004 02:08:26 +0000 (02:08 +0000)]
pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH file to anonymous private map.

* pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
file to anonymous private map.

From-SVN: r92027

19 years agore PR target/18002 ('while' loop performace regression on avr target)
Roger Sayle [Sat, 11 Dec 2004 01:49:05 +0000 (01:49 +0000)]
re PR target/18002 ('while' loop performace regression on avr target)

PR target/18002
PR middle-end/18424
* dojump.c (do_jump): When attempting to reverse the effects of
fold_single_bit_test, we need to STRIP_NOPS and narrowing type
conversions, and handle BIT_XOR_EXPR that's used to invert the
sense of the single bit test.

From-SVN: r92024

19 years agoDaily bump.
GCC Administrator [Sat, 11 Dec 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r92022

19 years agore PR driver/18732 (Compiler will not compile two source files if first has error...
Devang Patel [Sat, 11 Dec 2004 00:01:59 +0000 (16:01 -0800)]
re PR driver/18732 (Compiler will not compile two source files if first has error or is unreadable)

       PR 18732
       * gcc.c (main): Do not break out of loop when error is reported while
       processing one source file.

From-SVN: r92018

19 years agotree-into-ssa.c (REWRITE_THIS_STMT): Define.
Diego Novillo [Fri, 10 Dec 2004 21:54:42 +0000 (21:54 +0000)]
tree-into-ssa.c (REWRITE_THIS_STMT): Define.

* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
don't need any operands rewritten.
(rewrite_stmt): Ignore statements that don't need to be
rewritten.
(rewrite_operand): Validate that an existing SSA_NAME is
identical to the current reaching definition of the operand.

* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
* tree-vectorizer.c (vectorizable_load): Call it.
* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.

From-SVN: r92010

19 years agofibheap.h (struct fibnode): Only use unsigned long bitfields when __GNUC__ is defined...
Ben Elliston [Fri, 10 Dec 2004 21:25:00 +0000 (21:25 +0000)]
fibheap.h (struct fibnode): Only use unsigned long bitfields when __GNUC__ is defined and ints are less...

[include]
* fibheap.h (struct fibnode): Only use unsigned long bitfields
when __GNUC__ is defined and ints are less than 32-bits wide.
[libiberty]
* configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
* configure: Regenerate.
* config.in: Likewise.

From-SVN: r92009

19 years agoregmove.c (combine_stack_adjustments_for_block): Free memlist if it hasn't been freed.
Kazu Hirata [Fri, 10 Dec 2004 21:11:02 +0000 (21:11 +0000)]
regmove.c (combine_stack_adjustments_for_block): Free memlist if it hasn't been freed.

* regmove.c (combine_stack_adjustments_for_block): Free
memlist if it hasn't been freed.

From-SVN: r92008

19 years agoc-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before...
Ziemowit Laski [Fri, 10 Dec 2004 21:08:22 +0000 (21:08 +0000)]
c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before dereferencing it.

[gcc/ChangeLog]
2004-12-10  Ziemowit Laski  <zlaski@apple.com>

        * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
        pointer field is set before dereferencing it.

From-SVN: r92007

19 years agore PR middle-end/18903 (ice in bsi_after_labels)
Andrew Pinski [Fri, 10 Dec 2004 19:32:14 +0000 (19:32 +0000)]
re PR middle-end/18903 (ice in bsi_after_labels)

2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/18903
        * gcc.c-torture/compile/pr18903.c: New test.

2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/18903
        * tree-cfg.c (remove_bb): Put the moved label at the beginning
        of the basic block.

From-SVN: r92006

19 years agotree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_inv...
Kazu Hirata [Fri, 10 Dec 2004 17:58:07 +0000 (17:58 +0000)]
tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_invariant if we know the result.

* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
call to is_gimple_min_invariant if we know the result.

From-SVN: r92003

19 years agotree-data-ref.c (free_data_refs): Free each data_reference object.
Kazu Hirata [Fri, 10 Dec 2004 17:51:43 +0000 (17:51 +0000)]
tree-data-ref.c (free_data_refs): Free each data_reference object.

* tree-data-ref.c (free_data_refs): Free each data_reference
object.

From-SVN: r92002

19 years agotree-ssa-alias.c (setup_pointers_and_addressables): Remove redundant test of v_ann...
Jeff Law [Fri, 10 Dec 2004 17:28:32 +0000 (10:28 -0700)]
tree-ssa-alias.c (setup_pointers_and_addressables): Remove redundant test of v_ann->mem_tag_kind.

* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
redundant test of v_ann->mem_tag_kind.

* tree-ssa-operands.c (get_indirect_ref_operands): Remove
redundant conditional clearing opf_kill_def.

From-SVN: r92000

19 years agofrv-modes.def: Fix comment typos.
Richard Sandiford [Fri, 10 Dec 2004 16:33:25 +0000 (16:33 +0000)]
frv-modes.def: Fix comment typos.

* config/frv/frv-modes.def: Fix comment typos.
(CC_NZ): Define new mode.
* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
(condexec_intop_cmp_operator): Delete.
* config/frv/frv.c (comparison_string): New function.
(frv_print_operand): Use it to handle 'c' and 'C'.
(relational_operator): Redefine in terms of integer_relational_operator
and float_relational_operator.
(signed_relational_operator, unsigned_relational_operator): Delete.
(integer_relational_operator): New predicate, combining the above.
Check the mode of the first operand but leave frv.md to check the rest.
(float_relational_operator): Just check the mode of the first operand
and leave frv.md to check the rest.
(intop_compare_operator): Assume the result is compared with zero
in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
the operand predicates.
(condexec_intop_cmp_operator): Delete.
(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
(frv_hard_regno_mode_ok): Handle CC_NZmode.
(frv_select_cc_mode): New function.
* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
(REVERSIBLE_CC_MODE): Include CC_NZmode.
(PREDICATE_CODES): Replace entries for signed_relational_operand and
unsigned_relational_operator with one for integer_relational_operator.
Delete entry for condexec_intop_cmp_operator.
* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
(*combo_intop_compare2, *combo_intop_compare4): Delete.
(*combo_intop_compare1): Change mode to CC_NZ.
(*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
(branch_{un,}signed_true, branch_{un,}signed_false)
(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
pattern pairs.  Use integer_relational_operator.  Remove mode from
icc_operand.

From-SVN: r91997

19 years agos390.c (struct processor_costs): New fields ml, sqdbr, sqebr.
Mark Dettinger [Fri, 10 Dec 2004 16:25:51 +0000 (16:25 +0000)]
s390.c (struct processor_costs): New fields ml, sqdbr, sqebr.

2004-12-06  Mark Dettinger  <dettinge@de.ibm.com>

* config/s390/s390.c (struct processor_costs): New fields ml,
sqdbr, sqebr.
(s390_rtx_costs): Added the missing handling of multiply & add,
square root, and umulsidi.

From-SVN: r91996

19 years agore PR c++/18731 (ICE on invalid template declaration)
Volker Reichelt [Fri, 10 Dec 2004 16:04:22 +0000 (16:04 +0000)]
re PR c++/18731 (ICE on invalid template declaration)

PR c++/18731
* parser.c (cp_parser_class_head): Reject typedef-name in class head.

* g++.dg/parser/struct-1.C: New test.
* g++.dg/parser/struct-2.C: New test.
* g++.dg/parser/struct-3.C: New test.

From-SVN: r91993

19 years agoexpmed.c (synth_mult): Initialize new_limit.latency before making a recursive call.
Kazu Hirata [Fri, 10 Dec 2004 15:06:52 +0000 (15:06 +0000)]
expmed.c (synth_mult): Initialize new_limit.latency before making a recursive call.

* expmed.c (synth_mult): Initialize new_limit.latency before
making a recursive call.

From-SVN: r91992

19 years ago(legitimate_address_p): Reject address whose index is itself the sum of two
Nick Clifton [Fri, 10 Dec 2004 14:03:45 +0000 (14:03 +0000)]
(legitimate_address_p): Reject address whose index is itself the sum of two
other parts.

From-SVN: r91991

19 years agotype_traits: Implement remove_const, remove_volatile, and remove_cv.
Paolo Carlini [Fri, 10 Dec 2004 11:45:13 +0000 (11:45 +0000)]
type_traits: Implement remove_const, remove_volatile, and remove_cv.

2004-12-10  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits: Implement remove_const, remove_volatile,
and remove_cv.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_const.cc: New.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_cv.cc: Likewise.
* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
remove_volatile.cc: Likewise.

* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
add a few tests.

From-SVN: r91990

19 years ago* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
Alan Modra [Fri, 10 Dec 2004 10:28:22 +0000 (20:58 +1030)]
* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.

From-SVN: r91989

19 years agoi386.md (*cmpfp_sf): Change type attribute to "multi".
Uros Bizjak [Fri, 10 Dec 2004 07:05:15 +0000 (08:05 +0100)]
i386.md (*cmpfp_sf): Change type attribute to "multi".

* config/i386/i386.md (*cmpfp_sf): Change type
attribute to "multi".

From-SVN: r91988

19 years ago* gcc.dg/loop-3.c: Don't use i386 tuning for amd64.
Richard Henderson [Fri, 10 Dec 2004 06:18:03 +0000 (22:18 -0800)]
* gcc.dg/loop-3.c: Don't use i386 tuning for amd64.

From-SVN: r91987

19 years agofp-cmp-4q.c: Remove.
Richard Henderson [Fri, 10 Dec 2004 06:07:08 +0000 (22:07 -0800)]
fp-cmp-4q.c: Remove.

        * gcc.c-torture/execute/ieee/fp-cmp-4q.c: Remove.
        * gcc.c-torture/execute/ieee/fp-cmp-8q.c: Remove.

From-SVN: r91986

19 years agoDaily bump.
GCC Administrator [Fri, 10 Dec 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r91982

19 years agoTestcase for PR c/18282.
Richard Henderson [Thu, 9 Dec 2004 22:56:57 +0000 (14:56 -0800)]
Testcase for PR c/18282.

From-SVN: r91979

19 years agore PR c/18282 (PR c/17384 patch causes regression from 3.4.2)
Richard Henderson [Thu, 9 Dec 2004 22:55:41 +0000 (14:55 -0800)]
re PR c/18282 (PR c/17384 patch causes regression from 3.4.2)

        PR c/18282
        * attribs.c (decl_attributes): Use relayout_decl.
        * c-common.c (handle_mode_attribute): Copy all relevant type
        parameters from the new underlying integral type.

From-SVN: r91978

19 years agoc-common.c (shorten_compare): Don't special-case min/maxval for C enumerations.
Richard Henderson [Thu, 9 Dec 2004 22:52:15 +0000 (14:52 -0800)]
c-common.c (shorten_compare): Don't special-case min/maxval for C enumerations.

        * c-common.c (shorten_compare): Don't special-case min/maxval
        for C enumerations.

From-SVN: r91974

19 years agore PR c++/18514 (Alternate "asm" name ignored for redeclared builtin function importe...
Matt Austern [Thu, 9 Dec 2004 21:07:01 +0000 (21:07 +0000)]
re PR c++/18514 (Alternate "asm" name ignored for redeclared builtin function imported into namespace std)

  PR c++/18514
  * name-lookup.c (do_nonmember_using_decl): A real function
  declaration takes precedence over an anticipated declaration.
  * g++.dg/ext/builtin1.C: New
  * g++.dg/ext/builtin2.C: New
  * g++.dg/ext/builtin3.C: New
  * g++.dg/ext/builtin4.C: New
  * g++.dg/ext/builtin5.C: New

From-SVN: r91972

19 years ago* parser.c (cp_parser_member_declaration): Fix comment typo.
Volker Reichelt [Thu, 9 Dec 2004 20:47:35 +0000 (20:47 +0000)]
* parser.c (cp_parser_member_declaration): Fix comment typo.

From-SVN: r91970

19 years agosimplify-rtx.c (simplify_subreg): In the CONCAT case...
Richard Sandiford [Thu, 9 Dec 2004 20:28:14 +0000 (20:28 +0000)]
simplify-rtx.c (simplify_subreg): In the CONCAT case...

* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
the request subreg is entirely contained in the requested component.
(simplify_gen_subreg): Return null for CONCATs that are rejected
by simplify_subreg.
* expmed.c (store_bit_field): Create a temporary when changing the
value to an integer mode.

From-SVN: r91965

19 years ago* real.c (ibm_extended): Correct comment.
David Edelsohn [Thu, 9 Dec 2004 20:21:45 +0000 (20:21 +0000)]
* real.c (ibm_extended): Correct comment.

From-SVN: r91964

19 years agodarwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.
Stan Shebs [Thu, 9 Dec 2004 18:25:15 +0000 (18:25 +0000)]
darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.

        * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
        formerly in darwin-tramp.asm.
        * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
        * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
        * config/rs6000/t-darwin: Add dependencies.

From-SVN: r91960

19 years agotype_traits: Implement remove_extent and remove_all_extents.
Paolo Carlini [Thu, 9 Dec 2004 17:54:27 +0000 (17:54 +0000)]
type_traits: Implement remove_extent and remove_all_extents.

2004-12-09  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits: Implement remove_extent and
remove_all_extents.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_all_extents.cc: New.
* testsuite/tr1/4_metaprogramming/array_modifications/
remove_extent.cc: Likewise.

From-SVN: r91958

19 years agore PR target/17025 (attribute regparm code-generation bug)
Richard Henderson [Thu, 9 Dec 2004 17:33:42 +0000 (09:33 -0800)]
re PR target/17025 (attribute regparm code-generation bug)

        PR target/17025
        * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
        (test_qi_1, andqi_2): Do not promote to simode.

From-SVN: r91956

19 years agore PR bootstrap/18895 (libgfortran AM_MAKEFLAGS arg list + environment too large)
David Edelsohn [Thu, 9 Dec 2004 16:31:19 +0000 (16:31 +0000)]
re PR bootstrap/18895 (libgfortran AM_MAKEFLAGS arg list + environment too large)

        PR bootstrap/18895
        Revert 2004-12-07 change.
        * Makefile.am (AM_MAKEFLAGS): Delete.
        * Makefile.in: Regenerate.

From-SVN: r91955

19 years agore PR tree-optimization/18904 (4.0-20041205 regression ICE with -O3)
Andrew Pinski [Thu, 9 Dec 2004 16:17:07 +0000 (16:17 +0000)]
re PR tree-optimization/18904 (4.0-20041205 regression ICE with -O3)

2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * g++.dg/opt/ptrmem5.C: New test.

2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * tree-chrec.c (chrec_convert): Use fold_convert
        instead of convert.

From-SVN: r91954

19 years agore PR preprocessor/18102 (darwin framework header search depends on order of options)
Matt Rice [Thu, 9 Dec 2004 15:54:15 +0000 (15:54 +0000)]
re PR preprocessor/18102 (darwin framework header search depends on order of options)

2004-12-09  Matt Rice  <ratmice@yahoo.com>

        PR preprocessor/18102
        * c-incpath.c (remove_duplicates): Check for construct
        equality.

From-SVN: r91953

19 years agore PR c++/18757 (ICE (on invalid) in get_innermost_template_args)
Alexandre Oliva [Thu, 9 Dec 2004 12:33:09 +0000 (12:33 +0000)]
re PR c++/18757 (ICE (on invalid) in get_innermost_template_args)

gcc/cp/ChangeLog:
PR c++/18757
* parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID
if parsing failed.
gcc/testsuite/ChangeLog:
* g++.dg/parse/typename5.C: Adjust for new error.
* g++.dg/parse/typename7.C: New.

From-SVN: r91935

19 years agogenopinit.c (vec_realign_store_optab): Initialization removed.
Dorit Naishlos [Thu, 9 Dec 2004 11:06:20 +0000 (11:06 +0000)]
genopinit.c (vec_realign_store_optab): Initialization removed.

2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>

        * genopinit.c (vec_realign_store_optab): Initialization removed.
        * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
        * optabs.h (optab_index): OTI_vec_realign_store Removed.
        (vec_realign_store_optab): Removed.
        * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
        * target.h (builtin_mask_for_store): Removed.
        * tree.def (REALIGN_STORE_EXPR): Removed.
        * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
        (altivec_builtin_mask_for_store): Removed.
        (altivec_init_builtins): Removed initialization of
        altivec_builtin_mask_for_store.

        * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
        (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.

From-SVN: r91932

19 years agotree.def (SET_TYPE): Remove.
Nathan Sidwell [Thu, 9 Dec 2004 10:54:50 +0000 (10:54 +0000)]
tree.def (SET_TYPE): Remove.

* tree.def (SET_TYPE): Remove.
(CONSTRUCTOR): Update description.
* builtins.c (type_to_class) Remove SET_TYPE case.
* dbxout.c (dbxout_type): Likewise.
* dwarf2out.c (is_base_type): Likewise.
(gen_set_type_die): Remove.
(gen_type_die): Remove SET_TYPE case.
* expr.c (count_type_elements): Likewise.
(mostly_zeroes_p): Likewise.
(store_constructor): Likewise.
* print_tree.c (print_node): Likewise.
* stor-layout.c (layout_type): Likewise.
* tree-browser.c (browse_tree): Likewise.
* tree-inline.c (remap_type): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree.c (type_contains_plaeholder_1, type_hash_eq,
variably_modified_type_p, initializer_zerop): Likewise.
* tree.h (SET_OR_ARRAY_CHECK): Remove.
(AGGREGATE_TYPE_P): Remove SET_TYPE check.
(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
* typeclass.h (enum type_class): Remove set_type_class.
* varasm.c (const_hash_1): Remove SET_TYPE case.
(compare_constant, copy_constant, output_constant): Likewise.
* config/i386/i386.c (classify_argument): Likewise.
* config/ia64/ia64.c (hfa_element_mode): Likewise.
* config/sparc/sparc.c (sparc_type_code): Likewise.

* ada/decl.c (gnat_substitute_in_type): Remove SET_TYPE case.

From-SVN: r91931

19 years agore PR c++/16681 (array initialization in struct construct is a memory hog)
Nathan Sidwell [Thu, 9 Dec 2004 10:43:54 +0000 (10:43 +0000)]
re PR c++/16681 (array initialization in struct construct is a memory hog)

PR c++/16681
* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.

From-SVN: r91930

19 years agore PR c++/18073 (mmintrin.h rejected by C++ frontend)
Volker Reichelt [Thu, 9 Dec 2004 10:34:21 +0000 (10:34 +0000)]
re PR c++/18073 (mmintrin.h rejected by C++ frontend)

PR c++/18073
* typeck.c (build_reinterpret_cast_1): Allow cast from vector type.

* g++.dg/other/mmintrin.C: New test.

From-SVN: r91929

19 years agore PR c++/16681 (array initialization in struct construct is a memory hog)
Nathan Sidwell [Thu, 9 Dec 2004 09:37:37 +0000 (09:37 +0000)]
re PR c++/16681 (array initialization in struct construct is a memory hog)

cp:
PR c++/16681
* init.c (build_zero_init): Build a RANGE_EXPR for an array
initializer.
testsuite:
PR c++/16681
* g++.dg/init/array15.C: New.
* g++.dg/init/array16.C: New.

From-SVN: r91928

19 years ago* config/i386/i386.md: Use FLAGS_REG everywhere.
Richard Henderson [Thu, 9 Dec 2004 07:21:19 +0000 (23:21 -0800)]
* config/i386/i386.md: Use FLAGS_REG everywhere.

From-SVN: r91927

19 years agoMakefile.am: Add ../config to ACLOCAL_AMFLAGS.
Kelley Cook [Thu, 9 Dec 2004 01:27:29 +0000 (01:27 +0000)]
Makefile.am: Add ../config to ACLOCAL_AMFLAGS.

2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

* Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
* aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.

From-SVN: r91926

19 years agomips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.
Eric Christopher [Thu, 9 Dec 2004 01:04:40 +0000 (01:04 +0000)]
mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.

2004-12-08  Eric Christopher  <echristo@redhat.com>

* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
to avoid call to default function.

From-SVN: r91925

19 years agoDaily bump.
GCC Administrator [Thu, 9 Dec 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r91923

19 years agotypeck.c: Remove DOS line endings.
Kelley Cook [Wed, 8 Dec 2004 23:47:20 +0000 (23:47 +0000)]
typeck.c: Remove DOS line endings.

2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

* typeck.c: Remove DOS line endings.

From-SVN: r91919

19 years agointrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.
Richard Henderson [Wed, 8 Dec 2004 21:17:18 +0000 (13:17 -0800)]
intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.

        * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
        to the output expression.
        * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
        warning conversion.
        (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
        to index kind.

From-SVN: r91917

19 years agoMakefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
David Edelsohn [Wed, 8 Dec 2004 20:25:58 +0000 (20:25 +0000)]
Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.

* Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
* Makefile.tpl (EXTRA_HOST_FLAGS): Add PICFLAG.
(EXTRA_TARGET_FLAGS): Add PICFLAG.
* Makefile.in: Regenerate.

From-SVN: r91916

19 years agore PR middle-end/17982 (stop calling assemble_external before final assembly output...
Zack Weinberg [Wed, 8 Dec 2004 19:13:35 +0000 (19:13 +0000)]
re PR middle-end/17982 (stop calling assemble_external before final assembly output time)

PR 17982
* varasm.c (pending_assemble_externals): New static.
(assemble_external_real): Meat of assemble_external split out
to this new function.
(process_pending_assemble_externals): New function.
(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
is true and the basic test passes, merely cons the decl onto
the pending list to be handled later.
* tree.h: Declare process_pending_assemble_externals.
* cgraphunit.c (cgraph_optimize): Call it.

* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.

From-SVN: r91914

19 years agocfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE.
Kazu Hirata [Wed, 8 Dec 2004 18:52:48 +0000 (18:52 +0000)]
cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE.

* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
and simplifying FOR_EACH_EDGE.

From-SVN: r91913

19 years agotype_traits: Implement is_same, add_reference and remove_reference.
Paolo Carlini [Wed, 8 Dec 2004 16:33:51 +0000 (16:33 +0000)]
type_traits: Implement is_same, add_reference and remove_reference.

2004-12-08  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits: Implement is_same, add_reference and
remove_reference.
* testsuite/testsuite_tr1.h (test_relationship): New.
* testsuite/tr1/4_metaprogramming/reference_modifications/
add_reference.cc: New.
* testsuite/tr1/4_metaprogramming/reference_modifications/
remove_reference.cc: Likewise.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_same/is_same.cc: Likewise.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_same/typedefs.cc: Likewise.

* testsuite/tr1/4_metaprogramming/type_properties/is_const/
is_const.cc: Minor tweaks.
* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
is_volatile.cc: Likewise.

From-SVN: r91907

19 years ago* MAINTAINERS: Update my email address.
Christopher Faylor [Wed, 8 Dec 2004 15:57:14 +0000 (15:57 +0000)]
* MAINTAINERS: Update my email address.

From-SVN: r91906

19 years agoMakefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.
David Edelsohn [Wed, 8 Dec 2004 15:48:53 +0000 (15:48 +0000)]
Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.

* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
PICFLAG.
* Makefile.in: Regenerated.

From-SVN: r91905

19 years agoclarify previous entry.
David Edelsohn [Wed, 8 Dec 2004 15:43:17 +0000 (10:43 -0500)]
clarify previous entry.

From-SVN: r91904

19 years agoMakefile.am (LIBCFLAGS): Remove duplicate.
David Edelsohn [Wed, 8 Dec 2004 15:41:41 +0000 (15:41 +0000)]
Makefile.am (LIBCFLAGS): Remove duplicate.

* Makefile.am (LIBCFLAGS): Remove duplicate.
(PICFLAG): Remove duplicate.
* Makefile.in: Regenerated.

From-SVN: r91903

19 years agoAdd missing PR numbers for previous commit:
Tobias Schlüter [Wed, 8 Dec 2004 14:38:24 +0000 (15:38 +0100)]
Add missing PR numbers for previous commit:

fortran/
PR fortran/18826
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
PR fortran/18826
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91902

19 years agore PR java/18811 (rhug build problem, regression?)
Andrew Haley [Wed, 8 Dec 2004 14:08:22 +0000 (14:08 +0000)]
re PR java/18811 (rhug build problem, regression?)

2004-12-07  Andrew Haley  <aph@redhat.com>

PR java/18811:
* jcf-parse.c (load_class): Remove sanity test for missing inner
class file.

From-SVN: r91901

19 years agojcf-parse.c (load_class): Remove sanity test for missing inner class file.
Andrew Haley [Wed, 8 Dec 2004 14:01:50 +0000 (14:01 +0000)]
jcf-parse.c (load_class): Remove sanity test for missing inner class file.

2004-12-07  Andrew Haley  <aph@redhat.com>

* jcf-parse.c (load_class): Remove sanity test for missing inner
class file.

From-SVN: r91900

19 years ago* decl.c (gfc_match_end): Use locus of END when eos is an error.
Tobias Schlüter [Wed, 8 Dec 2004 12:29:44 +0000 (13:29 +0100)]
* decl.c (gfc_match_end): Use locus of END when eos is an error.

From-SVN: r91899

19 years agoresolve.c (resolve_code): Impose correct restrictions on assigned variable.
Tobias Schlüter [Wed, 8 Dec 2004 12:27:54 +0000 (13:27 +0100)]
resolve.c (resolve_code): Impose correct restrictions on assigned variable.

fortran/
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91898

19 years agoResync.
Arnaud Charlet [Wed, 8 Dec 2004 11:53:25 +0000 (12:53 +0100)]
Resync.

From-SVN: r91897

19 years agog-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the behaviour...
Arnaud Charlet [Wed, 8 Dec 2004 11:49:44 +0000 (12:49 +0100)]
g-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the behaviour of these functions when...

* g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
documentation of the behaviour of these functions when passed an IP
address that has no record in the system hosts database and no reverse
record in the DNS.

* cstand.adb, a-tags.ads: Fix typos in comment.

* exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
s-poosiz.ads: Minor reformatting

* make.adb: Minor reformatting
Add some ??? comments asking for more comments

* s-poosiz.adb: Minor reformatting
Add comments on alignment requirement

* sinfo.ads: Remove obsolete comment and fix typo.

* gnat_ugn.texi: Update the section "The GNAT Driver and Project
Files" with the new tool and package names.
Reformatting to suppress most of the warnings for line too long
Document the new section "Project Search Path:" in the output of
gnatls -v.
Add gnatmetric section

* vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
-gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
and -eit to -ept. Added qualifier
/ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.

From-SVN: r91896

19 years ago* vxaddr2line.adb: Add support for x86 vxworks
Arnaud Charlet [Wed, 8 Dec 2004 11:49:07 +0000 (12:49 +0100)]
* vxaddr2line.adb: Add support for x86 vxworks

From-SVN: r91895

19 years agosem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a...
Arnaud Charlet [Wed, 8 Dec 2004 11:48:53 +0000 (12:48 +0100)]
sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a scalar type...

* sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
prefix is not a scalar type, place error message on prefix, not on
type entity.

From-SVN: r91894

19 years agosem_ch5.adb (One_Bound): Remove call to Resolve...
Arnaud Charlet [Wed, 8 Dec 2004 11:48:38 +0000 (12:48 +0100)]
sem_ch5.adb (One_Bound): Remove call to Resolve...

* sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
to be resolved later as part of Analyze_Iteration_Scheme's call to
Make_Index.

From-SVN: r91893

19 years agosem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record...
Arnaud Charlet [Wed, 8 Dec 2004 11:48:22 +0000 (12:48 +0100)]
sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record an implicit dereference as a read operation on...

* sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
used to record an implicit dereference as a read operation on its
prefix when operating under -gnatc. Necessary to avoid spurious
'variable assigned but never read' warnings in that mode.
(Process_Indexed_Component, Analyze_Selected_Component): When the prefix
is a non-overloaded implicit dereference, call the above subprogram to
ensure proper recording of references.

From-SVN: r91892

19 years agonlists.adb (Prepend_Debug): Remove parameters and nest within Prepend.
Arnaud Charlet [Wed, 8 Dec 2004 11:48:04 +0000 (12:48 +0100)]
nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend.

* nlists.adb (Prepend_Debug): Remove parameters and nest within
Prepend.
(Remove_Next_Debug): Same fix

* nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
maintain back pointers now, though we did not used to, and comments
were out of date).
(Prepend): Remove pragma Inline.
(Remove_Next): Same cleanup

From-SVN: r91891

19 years agomisc.c (gnat_types_compatible_p, [...]): Remove.
Arnaud Charlet [Wed, 8 Dec 2004 11:47:46 +0000 (12:47 +0100)]
misc.c (gnat_types_compatible_p, [...]): Remove.

* misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
Remove.
(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.

* adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.

* trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
exception.
(call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.

From-SVN: r91890

19 years ago* Makefile.in: Add support for foreign threads on VMS.
Arnaud Charlet [Wed, 8 Dec 2004 11:47:34 +0000 (12:47 +0100)]
* Makefile.in: Add support for foreign threads on VMS.

From-SVN: r91889

19 years agolib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal...
Arnaud Charlet [Wed, 8 Dec 2004 11:47:21 +0000 (12:47 +0100)]
lib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal...

* lib-xref.adb (Generate_Reference): Handle properly a reference to an
entry formal, when an accept statement has a pragma Unreferenced for it.

* sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
and the Has_Pragma_Unreferenced flag for each formal before analyzing
the body, to ensure that warnings are properly emitted for each accept
statement of a given task entry.

From-SVN: r91888

19 years ago* g-regpat.adb: (Match): Change a misuse of or to or else
Arnaud Charlet [Wed, 8 Dec 2004 11:46:58 +0000 (12:46 +0100)]
* g-regpat.adb: (Match): Change a misuse of or to or else

From-SVN: r91887

19 years agog-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning.
Arnaud Charlet [Wed, 8 Dec 2004 11:46:45 +0000 (12:46 +0100)]
g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning.

* g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
compile-time warning.

From-SVN: r91886

19 years agognatmem.adb, [...]: Output the copyright message on a separate line from the version...
Arnaud Charlet [Wed, 8 Dec 2004 11:46:30 +0000 (12:46 +0100)]
gnatmem.adb, [...]: Output the copyright message on a separate line from the version message.

* gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
Output the copyright message on a separate line from the version
message.

From-SVN: r91885

19 years agoexp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms.
Arnaud Charlet [Wed, 8 Dec 2004 11:46:11 +0000 (12:46 +0100)]
exp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms.

* exp_dist.adb (Specific_Build_General_Calling_Stubs,
Specific_Build_Stub_Target): New subprograms.
(Build_Subprogram_Calling_Stubs): Make this procedure independent from
the PCS implementation used, using the above PCS-customized subprograms.
Minor reformatting.
(PolyORB_Support.Helpers): New subunit containing supporting subprograms
for generation of DSA code targeted to the PolyORB PCS.
(Add_Stub_Type): Rewrite to isolate the parts that are specific to one
implementation of the partition communication subsystem in ancillary
subprograms.
(Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
PolyORB_Support.Build_Stub_Type): New subrograms containing the
PCS-specific part of Add_Stub_Type.
(Insert_Partition_Check): Use runtime library function to perform
E.4(19) check.

        * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
        (RE_Same_Partition): New entity, from s-parint.

        * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.

From-SVN: r91884

19 years agoexp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten...
Arnaud Charlet [Wed, 8 Dec 2004 11:45:51 +0000 (12:45 +0100)]
exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten...

* exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
construct is rewritten, preserve end label to permit source navigation.

From-SVN: r91883

19 years agoexp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic
Arnaud Charlet [Wed, 8 Dec 2004 11:27:00 +0000 (12:27 +0100)]
exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic

* exp_ch6.adb (Expand_Call): Add comment on handling of back end
intrinsic

* exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
leaving call unchanged.
This deals with the case where the pragma Import specified
an external name, to be handled by the back end.

* sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
subprogram which is Imported with convention Intrinsic if an
External_Name argument is specified.
(Process_Import_Or_Interface): Properly diagnose link name argument.
(Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
with Sem_Ch6.Cannot_Inline.
(Process_Inline): Provide separate warning for inapplicable inline
pragma.
(Cannot_Inline): Reject subprograms that have an at_end handler, so that
treatment is uniform on different targets.

From-SVN: r91882

19 years agoexp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit...
Arnaud Charlet [Wed, 8 Dec 2004 11:26:46 +0000 (12:26 +0100)]
exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix...

* exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
with an implicit dereference as its prefix, use
Insert_Explicit_Dereference instead of merely rewriting the prefix into
an explicit dereference. This ensures that a reference to the original
prefix is generated, if appropriate.

* sem_util.adb (Insert_Explicit_Dereference): When an implicit
dereference is rewritten to an explicit one, generate a reference to
the entity denoted by its prefix using the original prefix node, so
the dereference can be properly recorded as a read of the denoted
access value, if appropriate.

* sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
emitting 'assigned but never read' warning on a variable on the basis
that it has an access type.
(Check_References): Emit unreferenced warning when the scope is a
subprogram body.

From-SVN: r91881

19 years ago* eval_fat.adb: Revert previous change.
Arnaud Charlet [Wed, 8 Dec 2004 11:26:32 +0000 (12:26 +0100)]
* eval_fat.adb: Revert previous change.

From-SVN: r91880

19 years agodecl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT...
Arnaud Charlet [Wed, 8 Dec 2004 11:26:20 +0000 (12:26 +0100)]
decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if...

* decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
TYPE_SIZE_UNIT of result type if SIZE is not specified.
(make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
of a bitfield, which we know is useless and causes trouble because of
alignment implications.

* utils.c (create_var_decl): Set DECL_COMMON again on targets without
BSS sections.
(process_attributes): Clear DECL_COMMON again when a section attribute
is present.
(finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
(create_field_decl): Special case ADDRESSABLE negative to mean
"no bitfield creation", to be used by make_aligning_type. Don't
restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
fields claimed addressable still have to be bitfields. Use
value_factor_p instead of a raw binop construction to check for the
position's alignment.

From-SVN: r91879

19 years agodebug.adb: Document that -gnatdA automatically sets -gnatR3m
Arnaud Charlet [Wed, 8 Dec 2004 11:26:04 +0000 (12:26 +0100)]
debug.adb: Document that -gnatdA automatically sets -gnatR3m

* debug.adb: Document that -gnatdA automatically sets -gnatR3m

* gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
set -gnatR3m mode.

* repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
flag. No longer needed now that we handle this in gnat1drv.adb.

* repinfo.ads: Minor reformatting

From-SVN: r91878

19 years agomake.adb (Check_Mains, [...]): Adapt to name changes in package Prj (Current_Spec_Suf...
Arnaud Charlet [Wed, 8 Dec 2004 11:25:51 +0000 (12:25 +0100)]
make.adb (Check_Mains, [...]): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix...

* make.adb (Check_Mains, Switches_Of): Adapt to name changes in
package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix).
Take into account Externally_Built attribute.

* clean.adb (In_Extension_Chain): Always return False when one of the
parameter is No_Project.
(Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
Ada_Language_Index).
(Gnatclean): Adapt to change in package Prj.Pars (no parameter
Process_Languages for procedure Parse).

* gnatcmd.adb (Carg_Switches): New table.
(GNATCmd): Put all switches following -cargs in the Carg_Switches table.
Adapt to name changes in package Prj (Current_Spec_Suffix =>
Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).

* mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
Header_Num and function Hash are now declared in package Prj,
not Prj.Com.

* prj.adb (Suffix_Of): New function.
(Set (Suffix)): New procedure.
(Hash): One function moved from Prj.Com
(Is_Present, Language_Processing_Data_Of): New functions
(Set): Two new procedures
(Add_Language_Name, Display_Language_Name): New procedures

* prj.ads: (Suffix_Of): New function
(Set (Suffix)): New procedure
Add several types and tables for multi-language support.
(Header_Num): Type moved from Prj.Com
(Hash): Two functions moved from Prj.Com
(Is_Present, Language_Processing_Data_Of): New functions
(Set): Two new procedures
(Add_Language_Name, Display_Language_Name): New procedures
(Naming): Component name changes:
Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix. Add new components:
Impl_Suffixes, Supp_Suffixes.
(Project_Data): New components: Externally_Built, Supp_Languages,
First_Language_Processing, Supp_Language_Processing, Default_Linker,
Default_Linker_Path.

* prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
new package Language_Processing with its attributes (Compiler_Driver,
Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
Binder_Driver, Default_Linker).

* prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
(Header_Num): Type moved to package Prj

* prj-env.adb: Adapt to name changes in package Prj
(Current_Spec_Suffix => Ada_Spec_Suffix,
Current_Body_Suffix => Ada_Body_Suffix).

* prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
default to the project path, except the "-" is one of the directories
in env var ADA_PROJECT_PATH.
(Current_Project_Path): Global variable, replacing Project_Path
that was in the body of Prj.Part.
(Project_Path): New function
(Set_Project_Path): New procedure
Initialize Current_Project_Path during elaboration of the package
Remove dependency on Prj.Com, no longer needed

* prj-ext.ads (Project_Path): New function
(Set_Project_Path): New procedure

* prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
suffix is defined for language <lang>.
(Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
accessing directly the components of Naming.
(Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
Reorganise of this package.
Break procedure Check in several procedures.

* prj-nmsc.ads: Replace all procedures (Ada_Check,
Other_Languages_Check and Language_Independent_Check) with a single
procedure Check.

* prj-pars.ads, prj-pars.adb (Parse): Remove parameter
Process_Languages, no longer needed.

* prj-part.adb (Project_Path): Move to the body of Prj.Ext as
Current_Project_Path.
Remove elaboration code, moved to the body of Prj.Ext
Use new function Prj.Ext.Project_Path instead of old variable
Project_Path.
(Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
When comparing with project paths on the stack, first put the resolved
path in canonical case.
(Parse_Single_Project): Set the path name of the project file in the
tree to the normalized path.

* prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
parameter Process_Languages, no longer needed.
(Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
Other_Languages_Check.

* prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
to store the resolved canonical path of the project file.
Remove dependency to Prj.Com, no longer needed

* prj-util.adb: Adapt to name changes in package Prj
(Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
Ada_Body_Suffix).

* snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
Externally_Built, Include_Option, Language_Processing.

* makegpr.adb: Numerous changes due to changes in packages
Prj and Prj.Nmsc.

* gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
default to the project path, except whe "-" is one of the directories
in env var ADA_PROJECT_PATH.
(Gnatls): In verbose mode, add the new section "Project Search Path:"

From-SVN: r91877

19 years agoback_end.adb (Scan_Back_End_Switches): Accept --param.
Arnaud Charlet [Wed, 8 Dec 2004 11:25:14 +0000 (12:25 +0100)]
back_end.adb (Scan_Back_End_Switches): Accept --param.

* back_end.adb (Scan_Back_End_Switches): Accept --param.

* lang-specs.h: Accept --param.

From-SVN: r91876

19 years agoatree.adb (Visit_Itype): Create a new name for the generated itype...
Arnaud Charlet [Wed, 8 Dec 2004 11:25:03 +0000 (12:25 +0100)]
atree.adb (Visit_Itype): Create a new name for the generated itype...

* atree.adb (Visit_Itype): Create a new name for the generated itype,
because the back-end may otherwise treat it as a redefinition of the
old symbol.

From-SVN: r91875

19 years agoa-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to 16#7FFF...
Arnaud Charlet [Wed, 8 Dec 2004 11:24:50 +0000 (12:24 +0100)]
a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last...

* a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
targets (such as AAMP).

From-SVN: r91874

19 years agos-intman-vxworks.adb (Notify_Exception): removed useless check for current task being...
Arnaud Charlet [Wed, 8 Dec 2004 11:24:38 +0000 (12:24 +0100)]
s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended.

* s-intman-vxworks.adb (Notify_Exception): removed useless check for
current task being suspended.

* init.c (__gnat_clear_exception): added to reset VxWorks exception
count.
(__gnat_map_signal): removed test for current task being suspended.

From-SVN: r91873

19 years agoAdd new tests for xstormy16
Nick Clifton [Wed, 8 Dec 2004 11:15:24 +0000 (11:15 +0000)]
Add new tests for xstormy16

From-SVN: r91870

19 years agofrv.c (frv_sort_insn_group): Always initialize packet_group->nop.
Richard Sandiford [Wed, 8 Dec 2004 10:25:39 +0000 (10:25 +0000)]
frv.c (frv_sort_insn_group): Always initialize packet_group->nop.

* config/frv/frv.c (frv_sort_insn_group): Always initialize
packet_group->nop.

From-SVN: r91867

19 years agore PR c++/18100 (template member with same name as class not rejected)
Kriang Lerdsuwanakij [Wed, 8 Dec 2004 10:25:22 +0000 (10:25 +0000)]
re PR c++/18100 (template member with same name as class not rejected)

PR c++/18100
* decl.c (lookup_and_check_tag): Diagnose nested class with
the same name as enclosing class.

* g++.dg/lookup/name-clash4.C: New test.

From-SVN: r91866

19 years agore PR c++/18672 (Segfault with simple template code)
Nathan Sidwell [Wed, 8 Dec 2004 08:47:59 +0000 (08:47 +0000)]
re PR c++/18672 (Segfault with simple template code)

.: PR c++/18672
* gimplify.c (canonicalize_addr_expr): Cope with array of
incomplete type.
(gimplify_conversion): Remove redundant checks.
testsuite:
PR c++/18672
* g++.dg/opt/array1.C: New.

From-SVN: r91865

19 years ago* doc/trouble.texi (Non-bugs): Clarify empty loop removal.
Nathan Sidwell [Wed, 8 Dec 2004 08:42:15 +0000 (08:42 +0000)]
* doc/trouble.texi (Non-bugs): Clarify empty loop removal.

From-SVN: r91864

19 years agore PR c++/18803 (rejects access to operator() in template)
Nathan Sidwell [Wed, 8 Dec 2004 08:36:09 +0000 (08:36 +0000)]
re PR c++/18803 (rejects access to operator() in template)

cp:
PR c++/18803
* cp-tree.h (REFERENCE_REF_P): New.
(CPTI_TYPE_INFO_TYPE): Rename to ...
(CPTI_CONST_TYPE_INFO_TYPE): ... here.
(CPTI_TYPE_INFO_REF_TYPE): Remove.
(type_info_type_node): Rename to ...
(const_type_info_type_node): ... here.
(type_info_ref_type): Remove.
* call.c (build_user_type_conversion): Reformat.
(resolve_args): Do not convert_from_reference.
(build_object_call): Call convert_from_reference.
(prep_operand): Do not convert_from_reference.
(build_new_method_call): Likewise.
* class.c (build_vfield_ref): Likewise.
* cvt.c (convert_to_reference): Likewise.
(convert_from_reference): Build INDIRECT_REF here, not with
build_indirect_ref.
(convert_force): Do not convert_from_reference.
(build_expr_type_conversion): Likewise.
* decl.c (grok_reference_init): Likewise.
* decl2.c (delete_sanity): Likewise.
* except.c (initialize_handler_parm): Use POINTER_TYPE_P.
* init.c (build_dtor_call): Do not convert_from_reference.
* parser.c (cp_parser_template_argument): Unwrap indirected
reference. Allow TEMPLATE_PARM_INDEX as an object parm.
* pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
convert_from_reference, if indicated.
<case CALL_EXPR>: Do not convert_from_reference.
<case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
(tsubst_initializer_list): Do not convert_from_reference.
* rtti.c (init_rtti_processing): Adjust node creation.
(throw_bad_typeid): Use const_type_info_type_node.
Do not convert_from_reference.
(typeid_ok_p): Use const_type_info_type_node.
(build_typeid, get_typeid): Always return type_info typed node.
(build_dynamic_cast_1): Dont convert_from_reference. Refactor.
* semantics.c (finish_stmt_expr_expr): Do not
convert_from_reference.
(finish_id_expression): Convert_from_reference as appropriate.
* typeck.c (decay_conversion): Do not convert_from_reference.
(finish_class_member_access_expr): Likewise.
(build_indirect_ref): Use POINTER_TYPE_P.
(convert_arguments): Do not convert_from_reference.
(build_modify_expr): Likewise.
(convert_for_initialization): Likewise.
* typeck2.c (build_x_arrow): Likewise.
testsuite:
PR c++/18803
* g++.dg/template/operator5.C: New.

From-SVN: r91863