Commit Graph

94732 Commits

Author SHA1 Message Date
Arnaud Charlet
d175a2fa7c [multiple changes]
2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Install_Context): If the unit is a package body,
	install the private with_clauses of the corresponding package
	declaration.

2009-07-09  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Minor reformatting

2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>

	* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
	into ug_words.

2009-07-09  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
	Do not warn for a constant overlaying any constant object

From-SVN: r149417
2009-07-09 13:03:25 +02:00
Arnaud Charlet
24da37f2b6 [multiple changes]
2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Install_Context): If the unit is a package body,
	install the private with_clauses of the corresponding package
	declaration.

2009-07-09  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Minor reformatting

2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>

	* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
	into ug_words.

2009-07-09  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
	Do not warn for a constant overlaying any constant object

From-SVN: r149416
2009-07-09 12:59:19 +02:00
Arnaud Charlet
7a5debc9fc [multiple changes]
2009-07-09  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Check_Selector): Do not create local copies of the
	socket sets on the stack.

2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Add missing VMS translations.

From-SVN: r149414
2009-07-09 12:32:08 +02:00
Arnaud Charlet
3f92c93b3c [multiple changes]
2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
	condition, to prevent generation of visible code during expansion,
	when Check is not enabled.

2009-07-09  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
	the check gets registered for any available local handler
	(Set_Local_Raise).

	* sem_util.adb: Add with and use of Exp_Ch11.
	(Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
	that the check gets registered for any available local handler.

	* exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
	on slice ranges.

2009-07-09  Steve Baird  <baird@adacore.com>

	* exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
	function.
	(Expand_N_Exception_Declaration): Fix handling of exceptions
	declared in a subprogram.

From-SVN: r149413
2009-07-09 12:29:09 +02:00
Arnaud Charlet
f6cf5b85ea [multiple changes]
2009-07-09  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
	multi-unit files.

2009-07-09  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb: Minor reformatting

	* exp_ch3.adb: Minor comment fix.

	* sinfo.ads: Minor comment fix

2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.

From-SVN: r149411
2009-07-09 12:22:49 +02:00
Arnaud Charlet
7aedb36acb [multiple changes]
2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Expression): If the expression is the name of a
	function in a call, and the function has not been frozen yet, create
	extra formals for it to ensure that the proper actuals are created
	when expanding the call.

2009-07-09  Emmanuel Briot  <briot@adacore.com>

	* prj-pp.adb (Print): Fix handling of source index when set on a
	declaration node.

From-SVN: r149408
2009-07-09 12:17:40 +02:00
Ed Schonberg
a4941eecd0 einfo.ads, einfo.adb: New attribute Related_Expression...
2009-07-09  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads, einfo.adb: New attribute Related_Expression, used to link
	a temporary to the source expression whose value it captures.

	* exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.

From-SVN: r149406
2009-07-09 12:14:30 +02:00
Tobias Burnus
4b41f35ea3 re PR fortran/40604 (ICE with -fcheck=pointer)
2009-07-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40604
        * intrinsic.c (gfc_convert_type_warn): Set sym->result.
        * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
        for optional arguments.

2009-07-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40604
        * gfortran.dg/pointer_check_6.f90: New test.

From-SVN: r149405
2009-07-09 11:42:34 +02:00
Adam Nemet
fcaf7e1250 simplify-rtx.c (simplify_binary_operation_1): Transform (and (truncate)) into (truncate (and)).
* simplify-rtx.c (simplify_binary_operation_1) <AND>: Transform (and
        (truncate)) into (truncate (and)).

testsuite/
	* gcc.target/mips/truncate-5.c: New test.

From-SVN: r149402
2009-07-09 05:43:56 +00:00
Adam Nemet
3f36bac24b combine.c (make_extraction): Check TRULY_NOOP_TRUNCATION before creating LHS paradoxical subregs.
* combine.c (make_extraction): Check TRULY_NOOP_TRUNCATION before
	creating LHS paradoxical subregs.  Fix surrounding returns to
	use NULL_RTX rather than 0.

From-SVN: r149401
2009-07-09 05:32:21 +00:00
DJ Delorie
ae30c1fa3d mep.c: (mep_option_can_inline_p): New.
* config/mep/mep.c: (mep_option_can_inline_p): New.
(TARGET_OPTION_CAN_INLINE_P): Define.

From-SVN: r149400
2009-07-08 22:22:37 -04:00
Jerry DeLisle
e6fe9294ed re PR libfortran/40330 (incorrect IO)
2009-07-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/40330
	PR libfortran/40662
	* gfortran.dg/fmt_cache_1.f: New test.

From-SVN: r149399
2009-07-09 01:54:47 +00:00
Jerry DeLisle
2418d0e0e6 re PR libfortran/40330 (incorrect IO)
2009-07-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/40330
	PR libfortran/40662
	* io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
	whether the parsed format data was previously saved. Used to determine
	if the current format data should be freed or not.
	* io/transfer.c (st_read_done): Use the format_not_saved bit.
	(st_write_done): Likewise.
	* io/format.c (parse_format_list): Add boolean pointer to arg list. This
	pointer is used to return status to the caller regarding whether it is
	safe to cache the parsed format data.  Currently, if a FMT_STRING token
	is encounetered, it is not safe to cache. Also, added a local boolean
	variable to hold this information as recursive calls to
	parse_format_list are made.  Remove previous save_format logic.
	(parse_format): Do not use the format caching facility if the current
	unit is an internal unit or if it is not safe to save parsed format
	data.

From-SVN: r149398
2009-07-09 01:20:23 +00:00
GCC Administrator
0eb8f20cf8 Daily bump.
From-SVN: r149396
2009-07-09 00:16:39 +00:00
Janis Johnson
23862bec3e re PR libstdc++/40691 (bug in logical not operator for valarray used with slice)
PR libstdc++/40691
	* include/bugs/valarray-after.h (_Expr::operator!): Fix return type.
	* testsuite/26_numerics/valarray/40691.cc: New test.

From-SVN: r149393
2009-07-08 22:26:50 +00:00
Tobias Burnus
60d340efa7 re PR fortran/40675 (Support -fnosign-zero for SIGN intrinsic for Fortran 77 compatibility)
2009-07-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40675
        * simplify.c (gfc_simplify_sign): Handle signed zero correctly.
        * trans-intrinsic.c (gfc_conv_intrinsic_sign): Support
        -fno-sign-zero.
        * invoke.texi (-fno-sign-zero): Add text regarding SIGN
        * intrinsic.

2009-07-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40675
        * gfortran.dg/nosigned_zero_1.f90: New test.
        * gfortran.dg/nosigned_zero_2.f90: New test.

From-SVN: r149390
2009-07-08 21:34:49 +02:00
Paul Thomas
0f158db0bf re PR fortran/40683 (gfortran.dg/proc_ptr_21.f90 doesn't work for 32bit)
2008-07-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40683
	* gfortran.dg/proc_ptr_21.f90: Initialize 'i'.

From-SVN: r149383
2009-07-08 19:00:17 +00:00
Eric Botcazou
a729ce289c Fix nits
From-SVN: r149378
2009-07-08 18:24:07 +00:00
Mark Wielaard
3d78d293d4 re PR debug/40659 (A simple struct member offset doesn't need a full dwarf location expression)
2009-07-08  Mark Wielaard  <mjw@redhat.com>

	PR debug/40659
	* dwarf2out.c (add_data_member_location_attribute): When we have
	only a constant offset don't emit a new location description using
	DW_OP_plus_uconst, but just add the constant with add_AT_int, when
	dwarf_version > 2.

From-SVN: r149377
2009-07-08 18:07:47 +00:00
Richard Henderson
ac2e563fcf re PR target/38900 (ICE: unable to find a register to spill)
PR target/38900
	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move to i386.c.
	(enum reg_class): Add CLOBBERED_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
	* config/i386/i386.c (ix86_conditional_register_usage): Moved
	from CONDITIONAL_REGISTER_USAGE; build CLOBBERED_REGS for 64-bit.
	(ix86_function_ok_for_sibcall): Tidy.  Disallow MS->SYSV sibcalls.
	(ix86_expand_call): Use sibcall_insn_operand when needed.  Don't
	force 64-bit sibcalls into R11.
	* config/i386/constraints.md (U): New constraint.
	* config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
	(sibcall_1_rex64, sibcall_value_1_rex64): Likewise.
	(sibcall_1_rex64_v, sibcall_value_1_rex64_v): Remove.

From-SVN: r149373
2009-07-08 09:41:23 -07:00
Richard Guenther
acb78844c7 ssa-pta-fn-1.c: Fix invalid testcase again.
2009-07-08  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/torture/ssa-pta-fn-1.c: Fix invalid testcase again.

From-SVN: r149368
2009-07-08 12:58:36 +00:00
Richard Biener
9cb225b93f ssa-pta-fn-1.c: Fix invalid testcase.
2009-07-08  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/torture/ssa-pta-fn-1.c: Fix invalid testcase.

From-SVN: r149367
2009-07-08 12:41:59 +00:00
Shujing Zhao
8ed77e22a9 basic-block.h (dump_regset, [...]): Remove duplicate prototypes.
2009-07-08  Shujing Zhao  <pearly.zhao@oracle.com>

	* basic-block.h (dump_regset, debug_regset): Remove duplicate
	prototypes.
	* c-objc-common.h (c_initialize_diagnostics): Ditto.
	* ebitmap.h (dump_ebitmap): Ditto.
	* optabs.h (optab_libfunc): Ditto.
	* tree.h (tree_expr_nonzero_warnv_p): Ditto.
	* tree-flow.h (vect_can_force_dr_alignment_p,
	get_vectype_for_scalar_type): Ditto.	
	(vectorize_loops): Move prototype to ...
	* tree-vectorizer.h: ... here. Also, adjust comment. 
	(vect_set_verbosity_level): Remove duplicate prototype.
	* tree-ssa-loop.c: Include tree-vectorizer.h.
	* Makefile.in (tree-ssa-loop.o): Depend on tree-vectorizer.h.

From-SVN: r149364
2009-07-08 11:35:18 +00:00
Nick Clifton
c6075b134c unix.h (ASM_COMMENT_START): Add a space after the forward slash.
* config/i386/unix.h (ASM_COMMENT_START): Add a space after the
        forward slash.

From-SVN: r149363
2009-07-08 09:43:51 +00:00
Paul Thomas
3276e0b350 re PR fortran/40591 (Procedure(interface): Rejected if interface is indirectly hostassociated)
2008-07-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40591
	* decl.c (match_procedure_interface):  Correct the association
	or creation of the interface procedure's symbol.

2008-07-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40591
	* gfortran.dg/proc_ptr_21.f90: New test.

From-SVN: r149362
2009-07-08 04:38:06 +00:00
DJ Delorie
d1b5afd557 mep-ivc2.cpu (cpmovtocsar0_C3, [...]): Mark volatile.
* config/mep/mep-ivc2.cpu (cpmovtocsar0_C3, cpmovtocsar1_C3,
cpmovtocc_C3, cpmovtocsar0_P0S_P1, cpmovtocsar1_P0S_P1,
cpmovtocc_P0S_P1): Mark volatile.  Note which registers are
written to.
* config/mep/intrinsics.md: Regenerated.
* config/mep/mep.c (mep_interrupt_saved_reg): Save IVC2 control
registers when asm() or calls are detected.

From-SVN: r149361
2009-07-08 00:19:16 -04:00
GCC Administrator
824d8363ce Daily bump.
From-SVN: r149357
2009-07-08 00:16:42 +00:00
Manuel López-Ibáñez
d665b6e585 re PR c++/31246 (-Wunreachable-code warnings for compiler-generated code)
2009-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/31246
	* gimplify.c (gimplify_expr): Propagate no_warning flag when
	gimplifying.
	* gimple (gimple_build_call_from_tree): Likewise.
	* tree-cfg.c (remove_useless_stmts_warn_notreached): Check
	no_warning flag before warning.
cp/
	* init.c (build_new_1): Set TREE_NO_WARNING for compiler-generated
	code.
	* cp-gimplify.c (genericize_eh_spec_block): Likewise.
	
testsuite/	
	* g++.dg/warn/pr31246.C: New.
	* g++.dg/warn/pr31246-2.C: New.

From-SVN: r149354
2009-07-07 22:18:35 +00:00
Jason Merrill
438c0fa8a0 re PR c++/35828 ([C++0x] ICE on default template template parameter in template function)
PR c++/35828
	* pt.c (tsubst_decl): Don't abort if we didn't change anything
	in a TEMPLATE_DECL's args.

From-SVN: r149351
2009-07-07 18:03:42 -04:00
Manuel López-Ibáñez
5e278028ed tree.c (set_expr_locus): Remove.
2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* tree.c (set_expr_locus): Remove.
	* tree.h (EXPR_LOCUS,SET_EXPR_LOCUS,set_expr_locus): Remove.
	* c-typeck.c (c_finish_stmt_expr):  Replace EXPR_LOCUS by
	EXPR_LOCATION.
	* gimplify.c (internal_get_tmp_var): Likewise.
	(gimplify_call_expr): Likewise.
	(gimplify_one_sizepos): Likewise.
objc/
	* objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
	EXPR_LOCATION.
cp/	
	* semantics.c (finalize_nrv_r): Replace EXPR_LOCUS by
	EXPR_LOCATION.
ada/
	* gcc-interface/trans.c (gnat_gimplify_expr):  Replace EXPR_LOCUS by
	EXPR_LOCATION.

From-SVN: r149350
2009-07-07 21:52:01 +00:00
Eric Botcazou
ed3346c20d re PR debug/40666 (Ada tools build failure)
PR debug/40666
	* dbxout.c (dbxout_symbol) <PARM_DECL>: Deal with parameters pointing
	to variables for debugging purposes.

From-SVN: r149346
2009-07-07 20:46:06 +00:00
Mark Loeser
4db19cc759 re PR other/40010 (Parallel make issue when building man pages)
gcc/
2009-06-23  Mark Loeser  <mark@halcy0n.com>

	PR build/40010
	* Makefile.in (gcc.pod): Depend on gcc-vers.texi.

From-SVN: r149345
2009-07-07 19:57:15 +00:00
Jason Merrill
60662d5f6b re PR c++/37816 ([c++0x] Invalid handling of scoped enums defined at class scope)
PR c++/37816
	* decl.c (build_enumerator): Don't add enumerators for a
	scoped enum to the enclosing class.

	PR c++/40639
	* decl.c (start_enum): Allow dependent underlying type.

	PR c++/40633
	* decl.c (finish_enum): Finish scope even in a template.

From-SVN: r149341
2009-07-07 13:55:26 -04:00
Manuel López-Ibáñez
72f90fdede pretty-print.c (pp_base_format): Remove %J.
2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* pretty-print.c (pp_base_format): Remove %J.
	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
	gcc_cxxdiag_char_table): Likewise.
	(init_dynamic_diag_info): Likewise.
	
testsuite/	
	* gcc.dg/format/gcc_diag-1.c: Remove tests for %J.

From-SVN: r149334
2009-07-07 15:29:12 +00:00
Manuel López-Ibáñez
dcb91ebed3 pretty-print.c (pp_base_format): Remove %H.
2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* pretty-print.c (pp_base_format): Remove %H.
	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
	gcc_cxxdiag_char_table): Likewise.
	(init_dynamic_diag_info): Likewise.
	* config/mep/mep.c (mep_select_section): Likewise.
	
testsuite/	
	* gcc.dg/format/gcc_diag-1.c: Remove tests for %H.

From-SVN: r149333
2009-07-07 15:23:46 +00:00
Duncan Sands
cf400ddbaf Give names to some currently nameless passes (this
is useful for referring to them from plugins).

From-SVN: r149331
2009-07-07 14:52:01 +00:00
H.J. Lu
d575725b25 ia64.c (ia64_handle_model_attribute): Remove an extra 'decl' for error_at.
2009-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	* config/ia64/ia64.c (ia64_handle_model_attribute): Remove
	an extra 'decl' for error_at.

From-SVN: r149330
2009-07-07 07:25:58 -07:00
Arnaud Charlet
c236914646 [multiple changes]
2009-07-07  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
	parameters when the subtype of the actual is not known to be a subrange
	of the formal's subtype.
	(Expand_Call): Generate a range check only in the E_In_parameter case
	(in out parameter range checks are now handled in Expand_Actuals).

	* exp_ch4.adb (Expand_N_Slice): Restore code that calls
	Enable_Range_Check.

2009-07-07  Robert Dewar  <dewar@adacore.com>

	* a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments

2009-07-07  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
	designated type comes from a limited views.

2009-07-07  Emmanuel Briot  <briot@adacore.com>

	* prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
	locally removed files that are later made visible again in an importing
	project.

2009-07-07  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Clarify documentation of Stream_Convert pragma

2009-07-07  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Add an example to the description of gnatcheck
	'Style_Checks' rule option.

2009-07-07  Tristan Gingold  <gingold@adacore.com>

	* seh_init.c: Fix inline assembly statement in seh_init.c

2009-07-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_References): Do not emit warnings on formals of
	an entry body. Only the formals of the entry declaration are traced.

From-SVN: r149328
2009-07-07 15:38:45 +02:00
Robert Dewar
75a5a4879d s-osprim-mingw.adb: Minor reformatting Minor code reorganization
2009-07-07  Robert Dewar  <dewar@adacore.com>

	* s-osprim-mingw.adb: Minor reformatting
	Minor code reorganization

	* a-stzsea.adb, a-stwise.adb, a-strsea.adb (Index): Redo previous change
	(Ind should be Integer).

From-SVN: r149327
2009-07-07 15:22:34 +02:00
Arnaud Charlet
85686ad98b [multiple changes]
2009-07-07  Robert Dewar  <dewar@adacore.com>

	* prj-nmsc.adb: Minor reformatting

2009-07-07  Pascal Obry  <obry@adacore.com>

	* a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
	cases where Pattern is longer than Source.

2009-07-07  Pascal Obry  <obry@adacore.com>

	* s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.

From-SVN: r149326
2009-07-07 15:17:29 +02:00
Arnaud Charlet
54ecb428e7 [multiple changes]
2009-07-07  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
	project file.

2009-07-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
	primitive operations, in case one of them is called in the
	initialization procedure for the type.

From-SVN: r149325
2009-07-07 15:12:32 +02:00
Robert Dewar
84157c9a3f a-calend.adb: Minor code reorganization (use conditional expressions)
2009-07-07  Robert Dewar  <dewar@adacore.com>

	* a-calend.adb: Minor code reorganization (use conditional expressions)

	* s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
	prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
	s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
	s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
	s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
	g-comlin.adb, exp_ch11.adb: Minor reformatting.

From-SVN: r149320
2009-07-07 14:42:43 +02:00
Jakub Jelinek
535536b45a re PR middle-end/40669 (ICE in gimple_assign_set_rhs1 from eliminate_tail_call)
PR middle-end/40669
	* tree-tailcall.c (adjust_return_value_with_ops,
	create_tailcall_accumulator): Set DECL_GIMPLE_REG_P on the temporary
	if it has complex or vector type.

	* gcc.dg/pr40669.c: New test.

From-SVN: r149319
2009-07-07 14:18:38 +02:00
Gary Dismukes
d79e621af2 checks.adb (Generate_Range_Check): Replace type conversions with unchecked conversions to support the case of...
2009-07-07  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb (Generate_Range_Check): Replace type conversions with
	unchecked conversions to support the case of performing range checks
	on Enum'Val (permits integer values to be converted to enumeration).

	* exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
	Attribute_Succ): Set Do_Range_Check to False before calling
	Expand_Pred_Succ, to prevent gigi from generating any range checks.
	(Expand_N_Attribute_Reference, case Attribute_Val):
	Generate a range check when needed (and set Do_Range_Check to False).

	* exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
	scalar object initialization if needed.

	* exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
	when needed on scalar allocators.
	(Expand_N_Qualified_Expression): Generate range check when needed.
	(Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
	Checks on slice ranges handled in Resolve_Slice.

	* exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
	when needed, for all scalar assignments, not just discrete.
	(Expand_Simple_Function_Return): Resolve the conversion created for a
	scalar function return so that the conversion will get expanded to
	generate a possible constraint check.

	* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
	in out scalar actuals when subtypes don't match, to ensure generation
	of return checks (and set Do_Range_Check to False).
	(Expand_Call): Uncomment code to perform range checks, but make it apply
	only to in and in out parameters (checks on parameter returns are
	handled in Expand_Actuals). If a scalar actual for a call to a derived
	subprogram is marked as needing a range check, peform it here (and set
	Do_Range_Check to False).

	* sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
	range check on scalar component associations when needed.

	* sem_eval.adb (In_Subrange_Of): Return False when the first type has
	infinities but the second type does not, as these aren't compatible
	floating-point types.

	* sem_res.adb (Resolve_Slice): In the case where the prefix of the
	slice is itself a slice, pick up the Etype of the prefix. This handles
	the case where the prefix was an Image attribute expanded to a slice,
	and ensures that we get the subtype with the slice constraint rather
	than the unconstrained subbtype of the 'Image.

From-SVN: r149318
2009-07-07 12:52:14 +02:00
Ed Schonberg
e0ba1bfd64 sem_ch4.adb (Analyze_Conditional_Expression): handle properly overloaded expressions in a conditional expressions.
2009-07-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Conditional_Expression): handle properly
	overloaded expressions in a conditional expressions.

	* sem_res.adb (Resolve): Handle properly overloaded conditional
	expressions.

From-SVN: r149317
2009-07-07 12:40:14 +02:00
Robert Dewar
b46be8a2b7 scng.adb: Minor reformattting
2009-07-07  Robert Dewar  <dewar@adacore.com>

	* scng.adb: Minor reformattting

	* par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
	association allows conditional expression without parens.

	* par-ch4.adb (P_Name): Attribute arguments can be conditional
	expressions without enclosing parentheses, and also as parameters,
	indexing expressions etc.
	(P_Conditional_Expression): New procedure
	(P_Expression_If_OK): New procedure

	* par.adb (P_Conditional_Expression): New procedure
	(P_Expression_If_OK): New procedure

	* sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
	form of conditional expression.

	* sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
	missing True argument if ELSE argument missing.

	* sinfo.adb (Is_Elsif): New flag

	* sinfo.ads (N_Conditional_Expression): This node is now a syntactic
	part of the language, and the documentation is modified accordingly.
	(Is_Elsif): New flag

From-SVN: r149316
2009-07-07 12:36:25 +02:00
Olivier Hainque
f062f8f230 t-osf4 (SHLIB_LINK): Do not hide the dummy weak pthread symbols.
* config/alpha/t-osf4 (SHLIB_LINK): Do not hide the dummy weak
	pthread symbols.

From-SVN: r149314
2009-07-07 06:53:56 +00:00
Basile Starynkevitch
cac1b0eef1 Makefile.in: added more lists of includes to PLUGIN_HEADERS.
2009-07-07  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/Makefile.in: added more lists of includes to PLUGIN_HEADERS.

From-SVN: r149313
2009-07-07 06:07:59 +00:00
Manuel López-Ibáñez
c5d753640d cgraphunit.c: Replace %J by an explicit location.
2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* cgraphunit.c: Replace %J by an explicit location. Update all
	calls.
	* c-decl.c: Likewise.
	* function.c: Likewise.
	* varasm.c: Likewise.
	* tree-ssa.c: Likewise.
	* c-common.c: Likewise.
	* tree-cfg.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/v850/v850.c: Likewise.
java/	
	* class.c: Replace %J by an explicit location. Update all calls.
objc/	
	* objc-act.c: Replace %J by an explicit location. Update all
	calls.
cp/
	* init.c: Replace %J by an explicit location. Update all calls.
	* decl.c: Likewise.
	* typeck2.c: Likewise.
	* pt.c: Likewise.
	* name-lookup.c: Likewise.

From-SVN: r149312
2009-07-07 02:55:59 +00:00
DJ Delorie
b932c20b25 mep-core.cpu (fsft, ssarb): Mark as VOLATILE.
* config/mep/mep-core.cpu (fsft, ssarb): Mark as VOLATILE.
* config/mep/mep-ivc2.cpu (many): Add VOLATILE to more insns that make
unspecified accesses to control registers.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.

From-SVN: r149311
2009-07-06 22:33:47 -04:00