Commit Graph

58980 Commits

Author SHA1 Message Date
Tobias Schlüter
655948a348 re PR fortran/13249 (Error when using COMMON)
PR fortran/13249
* gfortran.fortran-torture/compile/name_clash.f90: New test.

From-SVN: r82836
2004-06-09 15:08:13 +02:00
Tobias Schlüter
62f1d4705d re PR fortran/13372 (ICE in trans-types.c (gfc_typenode_for_spec), see #13201)
fortran/
PR fortran/13372
* module.c (write_symbol, write_symtree): Don't write symbols
wrongly added to namespace.
* trans-decl.c (gfc_create_module_variable): Don't create a
backend decl for a symbol incorrectly added to namespace.

testsuite/
PR fortran/13372
* gfortran.fortran-torture/compile/named_args_2.f90: New test.

From-SVN: r82834
2004-06-09 14:55:50 +02:00
J"orn Rennecke
b40742a531 re PR rtl-optimization/15521 (sched1 extends life of hard registers on SMALL_REGISTER_CLASSES targets when exceptions are enabled)
PR rtl-optimization/15521:
	* sched-int.h (in_post_call_group_p): Change type to enum.
	* sched-deps.c (sched_analyze_insn):
	(sched_analyze): When in_post_call_group_p is post_call_initial,
	don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
	and also reset in_post_call_group_p to post_call.
	(sched_analyze): When the previous basic block ended in a CALL_INSN,
	initialize in_post_call_group_p as post_call_initial.
	(init_deps): initialize in_post_call_group_p to not_post_call.

From-SVN: r82831
2004-06-09 13:48:21 +01:00
Tobias Schlüter
a4ac5dd3ef re PR fortran/13201 (PARAMETER variables of nonconstant shape are accepted)
PR fortran/13201
* resolve.c (resolve_symbol): Verify that parameter array has an
explicit shape. Fix typos and coding style issues in surrounding
lines.

From-SVN: r82830
2004-06-09 14:35:39 +02:00
Paolo Bonzini
0ca8e815a5 gcc_release (build_sources): Move the libcpp gmo files to the source directory.
maintainer-scripts/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* gcc_release (build_sources): Move the libcpp gmo files
	to the source directory.

libcpp/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.am (all-local): New.
	* Makefile.in: Regenerate.

From-SVN: r82819
2004-06-09 09:07:11 +00:00
Arnaud Charlet
e22df3157b re PR ada/6637 (Would be nice to support --enable-shared=gnat)
PR ada/6637
	* doc/install.texi: List ada, libada as options to --enable-shared

From-SVN: r82818
2004-06-09 10:42:27 +02:00
Paolo Bonzini
ad6717df26 Makefile.tpl (touch-stage[+id+]): New.
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.tpl (touch-stage[+id+]): New.
	(restage[+prev+]): Depend on touch-stage[+id+].

	* Makefile.tpl (RECURSE_FLAGS_TO_PASS): New.
	Use it throughout.

	* Makefile.def: Add profile and feedback bootstrap stages.
	Remove next field from bootstrap stages.
	* Makefile.tpl (LN, LN_S): Substitute.
	(stageN-start, stageN-end): Use double-colon rules, to
	provide a hook for additional setup commands.
	(distclean-stageN-gcc, restageN): Create dependencies from
	[+prev+], not from [+next+].
	(stageN-bubble): Add commands for successive stages from
	[+prev+], using double-colon rules.
	(all-stageN-gcc): Fix typo.
	(stagefeedback-start, profiledbootstrap): New.
	* Makefile.in: Regenerate.
	* configure.in: Call ACX_PROG_LN.
	* configure: Regenerate.

config/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* acx.m4 (ACX_PROG_LN): From gcc, modified to
	accept a parameter.

gcc/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* aclocal.m4 (gcc_AC_PROG_LN): Remove.
	(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
	config.in entries.
	* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
	if hard links are not available.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r82816
2004-06-09 08:17:32 +00:00
Benjamin Kosnik
92efec6ec5 crossconfig.m4: Remove signbit, signbitf, signbitl.
2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>

	* crossconfig.m4: Remove signbit, signbitf, signbitl.
	* linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
	builtin math functions instead of AC_DEFINE_UNQUOTED.
	* configure: Regenerate.

From-SVN: r82815
2004-06-09 07:26:28 +00:00
Benjamin Kosnik
57ffad2ba3 filter.sed: Rename _GLIBCXX_STD to std.
2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
	* docs/doxygen/mainpage.html: Remove links.

From-SVN: r82814
2004-06-09 06:09:17 +00:00
Jason Merrill
37f3105a58 linker-map.gnu: Use wildcards for __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
* config/linker-map.gnu: Use wildcards for
        __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.

From-SVN: r82813
2004-06-08 23:56:34 -04:00
Per Bothner
74ee164271 * configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.
From-SVN: r82809
2004-06-08 18:12:01 -07:00
Bud Davis
898c05b8bd re PR libfortran/14897 ('T' edit descriptor output incorrect)
2004-06-09  Bud Davis  <bdavis9659@comcast.net>

	PR gfortran/14897
	* gfortran.fortran-torture/execute/t_edit.f90

 	* io/transfer.c (formatted_transfer): position is unique
         for T and TL edit descriptors.
 	(data_transfer_init): set record length to size of internal
         file.

From-SVN: r82808
2004-06-09 01:03:02 +00:00
Bud Davis
31b6f11ab0 re PR libfortran/15755 (gfortran: backspace call causes bus error)
2004-06-08  Bud Davis  <bdavis9659@comcast.net>

	PR gfortran/15755
	* gfortran.fortran-torture/execute/backspace.c : New test.

	* io/backspace.c(st_backspace): call correct routine for
	formatted and un-formatted units.

From-SVN: r82806
2004-06-09 00:55:04 +00:00
Paul Brook
0760c3805d * gfortran.fortran-torture/execure/intrinsic_associated.f90
(pointer_to_section): Rewrite to use smaller array.

From-SVN: r82805
2004-06-09 00:37:20 +00:00
GCC Administrator
03febbee84 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r82802.2
2004-06-09 00:16:16 +00:00
GCC Administrator
e9dc0db773 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r82800.2
2004-06-09 00:16:12 +00:00
Richard Kenner
144cbad04b toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
Correct formatting.

From-SVN: r82798
2004-06-08 20:10:51 -04:00
James E Wilson
02760d2f08 re PR target/15790 ([3.4 only] Alignment error building gcc with i686-coff target)
PR target/15790
* config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.

From-SVN: r82796
2004-06-08 15:32:08 -07:00
Paolo Carlini
5f1a5ede6c pool_allocator.h: Convert to a global free-list, as per the original SGI/HP design...
2004-06-08  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pool_allocator.h: Convert to a global free-list,
	as per the original SGI/HP design: move the implementation
	details to struct __pool_base, from which __pool_alloc derives.
	* src/allocator.cc: Instantiate __pool_base.

From-SVN: r82794
2004-06-08 22:19:18 +00:00
Andrew Pinski
908d0773f0 fold-const.c (fold_convert): Treat OFFSET_TYPE like POINTER_TYPE and INTEGER_TYPE.
2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_convert): Treat OFFSET_TYPE like
        POINTER_TYPE and INTEGER_TYPE.

From-SVN: r82792
2004-06-08 15:03:29 -07:00
Bernardo Innocenti
d7777192b6 modulo-sched.c: Compile only when INSN_SCHEDULING is defined.
* modulo-sched.c: Compile only when INSN_SCHEDULING is
	defined.

From-SVN: r82791
2004-06-08 23:46:32 +02:00
Jeff Law
2d4886684f contrib.texi: Add entries for Stefan Olsson and Ola Ronnerup.
* doc/contrib.texi: Add entries for Stefan Olsson and
	Ola Ronnerup.

From-SVN: r82781
2004-06-08 14:03:51 -06:00
DJ Delorie
73d10efa86 toplev.c (floor_log2_wide): Replace loop with faster bit operations.
* toplev.c (floor_log2_wide): Replace loop with faster bit
operations.
(exact_log2_wide): Define in terms of the above.
* toplev.h (floor_log2): Use _builtin_clz family of builtins if
available.

From-SVN: r82778
2004-06-08 15:24:07 -04:00
Andrew Pinski
3b48085e66 rs6000.c (print_operand, <case 'z'>): Make sure that we are in INDIRECT mode when getting the stub name.
2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/rs6000.c (print_operand, <case 'z'>):
        Make sure that we are in INDIRECT mode when getting the
        stub name.

From-SVN: r82777
2004-06-08 11:56:45 -07:00
David Edelsohn
03defda9a0 altivec-1.c: XFAIL powerpc-ibm-aix*.
* gcc.dg/ext/altivec-1.c: XFAIL powerpc-ibm-aix*.
        * gcc.dg/ext/altivec-10.c: Same.
        * gcc.dg/ext/altivec-11.c: Same.
        * gcc.dg/ext/altivec-12.c: Same.
        * gcc.dg/ext/altivec-13.c: Same.
        * gcc.dg/ext/altivec-14.c: Same.
        * gcc.dg/ext/altivec-15.c: Same.
        * gcc.dg/ext/altivec-16.c: Same.
        * gcc.dg/ext/altivec-3.c: Same.
        * gcc.dg/ext/altivec-4.c: Same.
        * gcc.dg/ext/altivec-6.c: Same.
        * gcc.dg/ext/altivec-7.c: Same.
        * gcc.dg/ext/altivec-8.c: Same.
        * gcc.dg/ext/altivec-varargs-1.c: Same.

From-SVN: r82776
2004-06-08 14:45:38 -04:00
David Edelsohn
320c065932 altivec-1.C: Correct dg syntax.
* g++.dg/ext/altivec-1.C: Correct dg syntax.
        * g++.dg/ext/altivec-10.C: Same.
        * g++.dg/ext/altivec-2.C: Same.
        * g++.dg/ext/altivec-3.C: Same.
        * g++.dg/ext/altivec-4.C: Same.
        * g++.dg/ext/altivec-5.C: Same.
        * g++.dg/ext/altivec-6.C: Same.
        * g++.dg/ext/altivec-7.C: Same.
        * g++.dg/ext/altivec-8.C: Same.
        * g++.dg/ext/altivec-9.C: Same.

From-SVN: r82774
2004-06-08 14:32:15 -04:00
Anil Paranjpe
3d5c8546d4 h8300.md (extendqisi2_h8300): Add constraints.
* h8300.md (extendqisi2_h8300): Add constraints.
        (ldm_h8300s_4_normal): Fix typo.

From-SVN: r82769
2004-06-08 10:43:46 -06:00
Richard Henderson
7187798577 gimple-low.c (struct lower_data): Replace the_return_label and one_return_stmt with return_statements.
* gimple-low.c (struct lower_data): Replace the_return_label and
        one_return_stmt with return_statements.
        (lower_function_body): Process the entire list of return_statements.
        (lower_return_expr): Check source value before unifying return_exprs.
        * gimplify.c (gimplify_return_expr): Force the use of a temporary
        for !aggregate_value_p.
        * tree-gimple.c: Update RETURN_EXPR grammer.

From-SVN: r82768
2004-06-08 09:29:57 -07:00
Vladimir Makarov
de101ad2f7 re PR target/15598 (Gcc 3.4 ICE on valid code)
2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/15598
	* config/ia64/ia64.c (bundling): Add missed TYPE_A.

From-SVN: r82767
2004-06-08 15:58:28 +00:00
Andrew Pinski
a921159ad4 re PR java/15769 (ICE: infinite recursion through gimplify_expr)
2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/15769
        * libjava.compile/PR15769.java: New test.

From-SVN: r82757
2004-06-08 06:30:33 -07:00
Andrew Pinski
c1b69e3ca2 re PR java/15769 (ICE: infinite recursion through gimplify_expr)
2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/15769
        * expr.c (java_truthvalue_conversion): Handle
        UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
        ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
        i.e. return the expression.

From-SVN: r82756
2004-06-08 06:27:38 -07:00
Zdenek Dvorak
d599f32955 re PR rtl-optimization/15717 (Error: can't resolve L0' {*ABS* section} - xx' {*UND* section})
PR rtl-optimization/15717
	* config/i386/i386.c (legitimate_constant_p): Do not allow
	x - symbol_ref.

From-SVN: r82755
2004-06-08 13:26:04 +00:00
Richard Kenner
59068a8973 Correct indentation of one line.
From-SVN: r82753
2004-06-08 08:25:03 -04:00
Arnaud Charlet
a98f59be64 re PR ada/15568 (Shared libgnat fails to link on IRIX 6 with GNU ld)
PR ada/15568

	* Makefile.in: Remove target specific SO_OPT on IRIX

From-SVN: r82752
2004-06-08 11:53:14 +02:00
Alexandre Oliva
0b1d52f745 gimplify.c (copy_if_shared_r): Revert: 2004-05-21 Richard Henderson <rth@redhat.com>
* gimplify.c (copy_if_shared_r): Revert:
2004-05-21  Richard Henderson  <rth@redhat.com>
* gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.

From-SVN: r82745
2004-06-08 05:21:51 +00:00
Canqun Yang
5bbb968037 MAINTAINERS (Write After Approval): Add myself.
2004-06-08  Canqun Yang  <canqun@nudt.edu.cn>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r82744
2004-06-08 12:31:24 +08:00
Roger Sayle
5877771853 expmed.c (add_cost, [...]): Make arrays indexed by machine mode.
* expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
	Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
	(init_expmed): Initialize these cost arrays as appropriate.
	(store_bit_field, extract_bit_field): Correct whitespace.
	(synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
	expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
	neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
	word_mode or compute_mode as appropriate.

From-SVN: r82743
2004-06-08 04:30:48 +00:00
Giovanni Bajo
9221325f10 re PR c++/7841 (gcc accepts illegal member function syntax for template classes)
PR c++/7841
	* parser.c (cp_parser_direct_declarator): Reject constructor named
	as qualified template-id.

	PR c++/7841
	* g++.old-deja/g++.pt/ctor2.C: Add error mark.

From-SVN: r82741
2004-06-08 03:24:37 +00:00
GCC Administrator
aa07e14d5d Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r82733.2
2004-06-08 00:16:25 +00:00
GCC Administrator
b61d577bdc Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r82732.2
2004-06-08 00:16:20 +00:00
Dhruv Matani
345b912f50 2004-06-07 Dhruv Matani <dhruvbird@gmx.net>
Paolo Carlini  <pcarlini@suse.de>

	* testsuite/testsuite_performance.h
	(resource_counter::allocated_memory): Make it return the right
	number of bytes requested by the allocators/application. This is
	the sbrk+mmaped memory.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r82725
2004-06-07 21:56:16 +00:00
Eric Botcazou
85bbb21f8f re PR target/15783 (ICE with union assignment in 64-bit mode)
PR target/15783
	* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
	parameter.  Enumerate the registers inside the PARALLEL.
	(function_arg): Adjust call to function_arg_union_value.
	(function_value): Likewise.

From-SVN: r82722
2004-06-07 20:58:33 +00:00
Roger Sayle
67057c537b real.c (real_copysign): New function to implement libm's copysign.
* real.c (real_copysign): New function to implement libm's copysign.
	* real.h (real_copysign): Prototype here.
	* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
	and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
	* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
	fold_builtin_isdigit): Add function prototypes.
	(fold_builtin_copysign): New function to fold copysign, copysignf
	and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
	constant arguments at compile-time using real_copysign.  Fold
	copysign(X,Y) as fabs(X) if Y is always non-negative.
	(fold_builtin_1): Correct minor whitespace/style issues.  Call
	fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.

	* gcc.dg/builtins-41.c: New test case.
	* gcc.dg/builtins-42.c: New test case.

From-SVN: r82721
2004-06-07 20:50:14 +00:00
J"orn Rennecke
f29b9db93e * tree.c (iterative_hash_expr): Use real_hash.
From-SVN: r82720
2004-06-07 21:46:40 +01:00
David Edelsohn
2435e0362d altivec-1.C: XFAIL powerpc-ibm-aix*.
* g++.dg/ext/altivec-1.C: XFAIL powerpc-ibm-aix*.
        * g++.dg/ext/altivec-10.C: Same.
        * g++.dg/ext/altivec-2.C: Same.
        * g++.dg/ext/altivec-3.C: Same.
        * g++.dg/ext/altivec-4.C: Same.
        * g++.dg/ext/altivec-5.C: Same.
        * g++.dg/ext/altivec-6.C: Same.
        * g++.dg/ext/altivec-7.C: Same.
        * g++.dg/ext/altivec-8.C: Same.
        * g++.dg/ext/altivec-9.C: Same.
        * g++.old-deja/g++.abi/cxa_vec.C: Same.
        * g++.old-deja/g++.brendan/new3.C: Same.
        * gcc.c-torture/execute/eeprof-1.x: Same.

From-SVN: r82718
2004-06-07 16:36:56 -04:00
Richard Kenner
821e1ea1b1 ada-tree.def (TRANSFORM_EXPR, [...]): Deleted.
* ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
	(GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
	(BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
	(ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
	(STMT_STMT, USE_STMT): New statement codes.
	(LOOP_STMT, EXIT_STMT): Make slight semantic changes.
	* ada-tree.h: Reflect above changes.
 	(struct tree_loop_id): Deleted.
	(union lang_tree_node, struct lang_decl, struct lang_type):
	Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
	and DECL_LANGUAGE_SPECIFIC to reflect these changes.
	(DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
	(IS_ADA_STMT): New macro.
	* decl.c (annotate_decl_with_node): New function.
	(gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
	(gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
	Call add_stmt_with_node to do needed assignments.
	Add call to update setjmp buffer directly, not via EXPR_STMT.
	(maybe_variable): Argment GNAT_NODE deleted.
	* gigi.h (maybe_variable): Likewise.
	(make_transform, add_stmt_with_node, set_block_for_group): New.
	(gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
	(set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
	(discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
	(set_lineno, set_lineno_from_sloc): Likewise.
	(record_code_position, insert_code_for): Likewise.
	(gnat_poplevel): Now returns void.
	(end_subprog_body): Now takes argument.
	* misc.c (cgraph.h, tree-inline.h): New includes.
	(gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
	(gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
	(LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
	(gnat_parse_file): Don't set immediate_size_expand.
	Call cgraph functions.
	(gnat_expand_expr): Remove most cases.
	(record_code_position, insert_code_for): Remove from here.
	* trans.c (toplev.h, tree-gimple.h): Now included.
	(discard_file_names): Deleted.
	(gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
	(first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
	(struct stmt_group, current_stmt_group, stmt_group_free_list): New.
	(gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
	(add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
	(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
	(gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
	(set_block_for_group, add_stmt_list): Likewise.
	(start_stmt_group): Renamed from start_block_stmt.
	(end_stmt_group): Likewise, from end_block_stmt.
	(build_stmt_group): Likewise, from build_block_stmt, also add arg.
	(gigi): Don't set discard_file_names or call set_lineno.
	Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
	(tree_transform): Deleted, now renamed to be gnat_to_gnu.
	Numerous changes throughout to reflect new names and complete
	function-at-a-time implementation.
	(gnat_expand_stmt): Delete or comment out all cases.
	(process_inlined_subprograms): Use add_stmt.
	(process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
	call set_lineno; also remove unneeded block handling.
	(process_type): Remove unneeded block handling.
	(build_unit_elab): Remove calls to deleted functions.
	* utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
	(tree-dump.h): Likewise.
	(struct ada_binding_level): Add field jmpbuf_decl.
	(gnat_define_builtin, gnat_install_builtins): New.
	(gnat_gimplify_function, gnat_finalize): Likewise.
	(gnat_poplevel): No longer return BLOCK, set it instead.
	Remove code dealing with nested functions.
	(gnat_init_decl_processing): Also set size_type_node.
	Call gnat_install_builtins.
	(create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
	(create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
	Remove special-case for "main".
	(end_subprog_body): Add arg and rework for tree-ssa.
	(convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
	Add case for BOOLEAN_TYPE.
	* utils2.c (rtl.h): Now include.
	(build_call_raise): Test Debug_Flag_NN directly.
	(build_call_alloc_dealloc): Don't use local stack allocation for now.
	(gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
	(gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.

From-SVN: r82714
2004-06-07 15:52:53 -04:00
Joseph Myers
45b0c94cb4 re PR c/14765 (ice-on-invalid-code, ICE while compiling ({}) expression)
PR c/14765
	* c-parse.in (compstmt_primary_start): Set last_expr_type to
	NULL_TREE.

testsuite:
	* gcc.dg/pr14765-1.c: New test.

From-SVN: r82713
2004-06-07 20:49:31 +01:00
Mark Mitchell
3743236e9c re PR c++/15815 (Update #pragma interface and #pragma implementation documentation.)
PR c++/15815
	* lex.c (handle_pragma_interface): Deprecate.
	(handle_pragma_implementation): Likewise.

	PR c++/15815
	* doc/extend.texi: Deprecate #pragma interface and #pragma
	implementation.

From-SVN: r82712
2004-06-07 19:23:28 +00:00
Alexandre Oliva
0b395e1959 re PR middle-end/15666 ([unit-at-a-time] Gcc abort on valid code)
PR middle-end/15666
* c-decl.c (finish_decl): Use change_decl_assembler_name for the
builtin decl as well.

From-SVN: r82706
2004-06-07 19:06:28 +00:00
Roger Sayle
bf730f15c5 re PR c/14649 (atan(1.0) should not be a constant expression)
PR c/14649
	* c-typeck.c (require_constant_value, require_constant_elements):
	Move declarations to the top of the file.
	(build_function_call): If we require a constant value, fold with
	fold_initializer.  If the result is a constant, and the function
	wasn't called using __builtin_foo, issue a pedantic warning.
	(build_unary_op): If we require a constant value, fold tree with
	fold_initializer.
	(build_binary_op): Use require_constant_value to determine whether
	to call fold or fold_initializer.

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

From-SVN: r82705
2004-06-07 18:49:36 +00:00