Commit Graph

92535 Commits

Author SHA1 Message Date
Robert Dewar f17889b313 exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
2009-04-09  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.

	* atree.h: Add Elist26

	* gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
	backends.

From-SVN: r145818
2009-04-09 12:15:20 +02:00
Janus Weil 3070bab4c9 re PR fortran/36704 (Procedure pointer as function result)
2009-04-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36704
	* decl.c (add_hidden_procptr_result): New function for handling
	procedure pointer return values by adding a hidden result variable.
	(variable_decl,match_procedure_decl,gfc_match_function_decl,
	gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer
	return values.
	* parse.c (parse_interface): Add EXTERNAL attribute only after
	FUNCTION/SUBROUTINE declaration is complete.
	* primary.c (replace_hidden_procptr_result): New function for replacing
	function symbol by hidden result variable.
	(gfc_match_rvalue,match_variable): Replace symbol by hidden result
	variable.
	* resolve.c (resolve_contained_fntype,resolve_function,resolve_variable,
	resolve_symbol): Allow for procedure pointer function results.
	(resolve_fl_procedure): Conflict detection moved here from
	'check_conflict'.
	* symbol.c (gfc_check_function_type): Allow for procedure pointer
	function results.
	(check_conflict): Move some conflict detection to resolution stage.
	* trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden
	result variables.


2009-04-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36704
	* gfortran.dg/external_procedures_1.f90: Modified.
	* gfortran.dg/proc_ptr_result_1.f90: New.
	* gfortran.dg/proc_ptr_result_2.f90: New.
	* gfortran.dg/proc_ptr_result_3.f90: New.

From-SVN: r145815
2009-04-09 11:39:09 +02:00
Arnaud Charlet b61ee1aa7b Minor reformatting.
From-SVN: r145813
2009-04-09 11:36:25 +02:00
Arnaud Charlet a8ea8a9d3b Minor reformatting.
From-SVN: r145812
2009-04-09 11:35:59 +02:00
Javier Miranda b16d9747ff exp_disp.adb (Export_DT): Addition of a new argument (Index)...
2009-04-09  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
	retrieve from the Dispatch_Table_Wrappers list the external name.
	Addition of documentation.
	(Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
	used to export secondary dispatch tables (in the previous version of
	the frontend only primary dispatch tables were exported). Addition of
	documentation.
	(Import_DT): New subprogram (internal of Make_Tags). Used to import a
	dispatch table of a given tagged type. 
	(Make_Tags): Modified to import secondary dispatch tables.

	* sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
	(Constant_Redeclaration): Code cleanup.

	* einfo.ads (Dispatch_Table_Wrapper): Renamed to
	Dispatch_Table_Wrappers.  Update documentation.

	* einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
	Renamed to Dispatch_Table_Wrappers.

	* sem_util.adb (Collect_Interface_Components): Improve handling of
	private types.

	* atree.ads (Elist26, Set_Elist26): New subprograms

	* atree.adb (Elist26, Set_Elist26): New subprograms

From-SVN: r145811
2009-04-09 11:35:24 +02:00
Arnaud Charlet 59262ebb3e [multiple changes]
2009-04-09  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
	(Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
	tagged types.

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

	* s-direio.adb: Minor reformatting

	* exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String

From-SVN: r145808
2009-04-09 10:52:04 +02:00
Arnaud Charlet fa9693102a [multiple changes]
2009-04-09  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases

2009-04-09  Pascal Obry  <obry@adacore.com>

	* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
	s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
	a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
	a-filico.ads: Add some missing overriding keywords.

From-SVN: r145807
2009-04-09 10:45:55 +02:00
Jan Hubicka 0c0efb3346 except.c (find_prev_try): Break out from ....
* except.c (find_prev_try): Break out from ....
	(duplicate_eh_regions): ... here; properly update prev_try pointers
	when duplication part of tree.
	(dump_eh_tree): Improve dumping.
	(verify_eh_region): New.
	(verify_eh_tree): Use it.

From-SVN: r145805
2009-04-09 08:26:01 +00:00
Arnaud Charlet 3c25856afe [multiple changes]
2009-04-09  Pascal Obry  <obry@adacore.com>

	* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
	a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
	a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
	reformatting.

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

	* sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
	missing overriding indicator if the new declaration is not seen as
	primitive.

From-SVN: r145804
2009-04-09 10:25:13 +02:00
Arnaud Charlet 76c597a1fc [multiple changes]
2009-04-09  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
	overflows in computation of bounds.

2009-04-09  Pascal Obry  <obry@adacore.com>

	* a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
	typos in comment.

From-SVN: r145803
2009-04-09 10:21:08 +02:00
Arnaud Charlet 95b89f1bf9 [multiple changes]
2009-04-09  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Check_Stream_Attribute): Check violation of
	restriction No_Streams

	* gnat_rm.texi: Clarify No_Streams restriction

	* g-socket.adb: Minor reformatting.

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

	* g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.

2009-04-09  Geert Bosch  <bosch@adacore.com>

	* exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
	(Set_Result): Likewise.
	(Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
	conversion, as required by RM 4.6(31).

From-SVN: r145801
2009-04-09 10:15:14 +02:00
Richard Guenther 22a65a54cc c-gimplify.c (c_gimplify_expr): Fix the invalid GENERIC &ARRAY addresses by adjusting their types and...
2009-04-09  Richard Guenther  <rguenther@suse.de>

	* c-gimplify.c (c_gimplify_expr): Fix the invalid GENERIC
	&ARRAY addresses by adjusting their types and prepending
	a conversion.
	* tree-cfg.c (verify_gimple_assign_single): Verify that
	addresses are correct.

	* gcc.dg/vect/vect-54.c: Make constant input data file-scope
	to prevent constant propagation.
	* gcc.dg/vect/vect-56.c: Likewise.
	* gcc.dg/vect/vect-58.c: Likewise.
	* gcc.dg/vect/vect-60.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
	* gcc.dg/tree-prof/stringop-2.c: Adjust expected outcome.

From-SVN: r145800
2009-04-09 08:07:31 +00:00
Richard Guenther f76968e6d5 tree-ssa-ccp.c (maybe_fold_stmt_addition): Move non-constant indices into an array reference if possible.
2009-04-09  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (maybe_fold_stmt_addition): Move non-constant
	indices into an array reference if possible.
	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
	Fold POINTER_PLUS_EXPR statements with invariant address.

	* gcc.dg/tree-ssa/ssa-ccp-25.c: New testcase.
	* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.

From-SVN: r145799
2009-04-09 08:05:43 +00:00
Alan Modra c90c5fb5a5 re PR target/39634 (powerpc64 libgcc contains useless softfp functions)
PR target/39634
	* config.gcc (powerpc64-*-linux*): Always build biarch.

From-SVN: r145795
2009-04-09 14:17:05 +09:30
Joseph Myers 17cede2e30 re PR c/39613 (gcc 20090331 produces an error at mce64.c in kernel 2.6.29)
PR c/39613
	* c-typeck.c (do_case): If case label is not an INTEGER_CST, fold
	it and pedwarn if this results in an INTEGER_CST.

testsuite:
	* gcc.dg/case-const-1.c, gcc.dg/case-const-2.c,
	gcc.dg/case-const-3.c: New tests.

From-SVN: r145793
2009-04-09 01:20:08 +01:00
GCC Administrator 74a6dc82c2 Daily bump.
From-SVN: r145791
2009-04-09 00:16:37 +00:00
Ian Lance Taylor 9767a048ab hashtable.h (erase): Correctly handle erasing a reference to an entry in the hash table.
* include/backward/hashtable.h (erase): Correctly handle erasing a
	reference to an entry in the hash table.
	* testsuite/backward/hash_map/25896.cc: New.
	* testsuite/backward/hash_set/25896.cc: New.

From-SVN: r145788
2009-04-08 23:58:31 +00:00
Adam Nemet 0b83c44bdf baseline_symbols.txt: Regenerate.
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: New
	file.

From-SVN: r145779
2009-04-08 21:47:24 +00:00
Joseph Myers d34ac4dd68 c99-stdint-1.c: Fix cut-and-paste mistakes in test.
* gcc.dg/c99-stdint-1.c: Fix cut-and-paste mistakes in test.
	* gcc.dg/c99-stdint-7.c, gcc.dg/c99-stdint-8.c: New tests.

From-SVN: r145778
2009-04-08 22:02:17 +01:00
Joseph Myers bc02c2b1b8 * zh_CN.po: Update.
From-SVN: r145776
2009-04-08 21:40:43 +01:00
Kaveh R. Ghazi a3337ea264 configure.ac: Bump minimum GMP/MPFR versions to 4.2 and 2.3.1.
* configure.ac: Bump minimum GMP/MPFR versions to 4.2 and 2.3.1.
	* configure: Regenerate.
	
gcc:
	* doc/install.texi: Update minimum GMP version.  Remove obsolete
	text in MPFR section.

From-SVN: r145774
2009-04-08 20:25:10 +00:00
Jakub Jelinek 4f0ae266e0 re PR middle-end/39573 (Linking fails on AMD with -march=native and -fopenmp, works with generic x86_64)
PR middle-end/39573
	* omp-low.c (expand_omp_taskreg): Finalize taskreg static local_decls
	variables.

	* libgomp.c++/pr39573.C: New test.

From-SVN: r145772
2009-04-08 22:04:45 +02:00
Jakub Jelinek dead0bae53 trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't contain TYPE_STRING_FLAG types.
* trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't
	contain TYPE_STRING_FLAG types.

From-SVN: r145771
2009-04-08 22:02:43 +02:00
Jakub Jelinek ce9ba79be2 dwarf2out.c (class_scope_p): New static inline.
* dwarf2out.c (class_scope_p): New static inline.
	(class_or_namespace_scope_p): Use it.
	(gen_variable_die): Use DW_TAG_member tag for static data member
	declarations instead of DW_TAG_variable.

	* g++.dg/debug/dwarf2/static-data-member1.C: New test.

From-SVN: r145770
2009-04-08 22:00:48 +02:00
Richard Guenther d27f0ddc1e tree-ssa-sccvn.c (valueize_refs): Do not continue to valueize random data.
2009-04-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (valueize_refs): Do not continue to
	valueize random data.

From-SVN: r145768
2009-04-08 18:49:22 +00:00
Janne Blomqvist cba2a54e5e re PR fortran/39670 (dollar sign in entities is not recognized when it is first symbol)
2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/39670
	* invoke.texi (fdollar-ok): Fix typo.

From-SVN: r145767
2009-04-08 21:23:55 +03:00
Arnaud Charlet 3d5952be50 [multiple changes]
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
	suppressed.
	
	* exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
	resolution steps.

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
	No_Local_Allocators restriction preventing local instantiation.

2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* sem_eval.adb: Minor comment fix

2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
	New limited controlled type used to automate the initialization and
	finalization of the sockets implementation.
	(GNAT.Sockets.Initialize, Finalize): Make these no-ops

2009-04-08  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New read-only project-level attribute Project_Dir

	* prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
	read-only attribute of the same name.
	(Process_Declarative_Items): Call Add_Attributes with Project_Dir
	(Recursive_Process): Ditto

	* snames.adb: Add new standard name Project_Dir

	* snames.ads: Add new standard name Project_Dir

From-SVN: r145766
2009-04-08 20:03:10 +02:00
Daniel Franke f4a5580200 re PR fortran/39670 (dollar sign in entities is not recognized when it is first symbol)
2009-04-08  Daniel Franke  <franke.daniel@gmail.com>

       PR fortran/39670
       * invoke.texi (fdollar-ok): Clarify limitations.

From-SVN: r145764
2009-04-08 13:42:32 -04:00
Janne Blomqvist 2ac7316d99 open.c (already_open): Test for POSIX close return value.
2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>

        * io/open.c (already_open): Test for POSIX close return value.
        * io/unit.c (close_unit_1): Likewise.
        * io/unix.c (raw_close): Return 0 for success for preconnected units.

From-SVN: r145761
2009-04-08 20:06:34 +03:00
David Edelsohn 557cc596c9 config.gcc (aix tm_file): Add aix-stdint.h.
* config.gcc (aix tm_file):  Add aix-stdint.h.
        (aix tm clause use_gcc_stdint):  Set to wrap.
        * config/rs6000/aix-stdint.h:  New file.

From-SVN: r145760
2009-04-08 12:59:25 -04:00
Janne Blomqvist f9bfed2243 string.c (compare0): Use gfc_charlen_type.
2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>

        * runtime/string.c (compare0): Use gfc_charlen_type.
        * runtime/error.c (gfc_itoa): Move to io/write.c
        (xtoa): Rename to gfc_xtoa.
        * runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
        * intrinsics/cshift0.c (cshift0): Use index_type for shift arg.
        * intrinsics/date_and_time.c (date_and_time): Use index_type.
        (itime_i4): Likewise.
        (itime_i8): Likewise.
        (idate_i4): Likewise.
        (idate_i8): Likewise.
        (gmtime_i4): Likewise.
        (gmtime_i8): Likewise.
        (ltime_i4): Likewise.
        (ltime_i8): Likewise.
        * libgfortran.h (gfc_itoa): Remove prototype.
        (xtoa): Rename prototype to gfc_xtoa.
        * io/list_read.c (nml_read_obj): Use size_t for string length.
        * io/transfer.c (read_block_direct): Change nbytes arg from
        pointer to value.
        (unformatted_read): Minor cleanup, call read_block_directly properly.
        (skip_record): Use ssize_t.
        (next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
        (iolength_transfer): Make sure to multiply before cast.
        * io/intrinsics.c (fgetc): Remove unnecessary variable.
        * io/format.c (format_hash): Use gfc_charlen_type.
        * io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
        make static.
        (write_i): Call with pointer to itoa.
        (write_z): Call with pointer to gfc_xtoa.
        (write_integer): Pointer to itoa.
        (nml_write_obj): Type cleanup, don't call strlen in loop.

From-SVN: r145758
2009-04-08 19:48:07 +03:00
Richard Guenther 75ccc1e7fa re PR tree-optimization/36291 (GCC is slow and memory-hungry building sipQtGuipart.cpp)
2009-04-08  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36291
	* tree-dfa.c (add_referenced_var): Do not recurse into
	global initializers.
	* tree-ssa-ccp.c (get_symbol_constant_value): Add newly
	exposed variables.
	(fold_const_aggregate_ref): Likewise.

From-SVN: r145757
2009-04-08 16:33:08 +00:00
Jason Merrill f6f5e3a1cc re PR c++/25185 (deep typedef substitution in error message)
PR c++/25185
	* error.c (dump_aggr_type): Chase template typedefs if
	-fno-pretty-templates.

From-SVN: r145753
2009-04-08 12:08:15 -04:00
Arnaud Charlet b568955d9c [multiple changes]
2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* checks.adb: Minor reformatting

2009-04-08  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Add documentation for new style keyword
	OVERRIDING_INDICATORS

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
	spec is in the current unit.

From-SVN: r145749
2009-04-08 17:23:25 +02:00
Paolo Bonzini c6963675eb recog.c (ordered_comparison_operator): New.
2009-04-08  Paolo Bonzini  <bonzini@gnu.org>

        * recog.c (ordered_comparison_operator): New.
        * gensupport.c (std_preds): Add it.
	* doc/md.texi (Machine-Independent Predicates): Document it.

From-SVN: r145748
2009-04-08 15:18:49 +00:00
Jan Hubicka 6d07ad9876 tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
* tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
	* function.h (rtl_eh): Remove exception_handler_label_map.
	* except.c (ehl_hash, ehl_eq, add_ehl_entry,
	remove_exception_handler_label, for_each_eh_label_1): Remove.
	(rtl_remove_unreachable_regions): Remove.
	(convert_from_eh_region_ranges): Do not remove unreachable regions.
	(find_exception_handler_labels): Don't build the hashtable.
	(maybe_remove_eh_handler): Remove.
	(for_each_eh_label): Rewrite to walk the tree.
	(rest_of_handle_eh): Do not cleanup cfg prior EH construction.
	* except.h (maybe_remove_eh_handler): Remove.
	* passes.c (init_optimization_passes): Schedule second EH cleanup
	before out-of-ssa.
	* cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
	cfg_layout_merge_blocks): Do not call maybe_remove_eh_handler.

From-SVN: r145747
2009-04-08 15:13:01 +00:00
Paolo Bonzini 7ddf71e317 genoutput.c (validate_optab_operands): New.
2009-04-08  Paolo Bonzini  <bonzini@gnu.org>

	* genoutput.c (validate_optab_operands): New.
	(gen_insn, gen_expand): Call it.

	* genflags.c (gen_insn): Detect misused iterators.
	(main): Pass line_no to gen_insn, exit with status 1 on error.

	* genextract.c (line_no): Make global.
	(VEC_safe_set_locstr): Change assertion to error message.
	(main): Exit with status 1 on error.

From-SVN: r145746
2009-04-08 15:00:34 +00:00
Arnaud Charlet ed57136d4a [multiple changes]
2009-04-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
	presence of entity.

	* usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators

2009-04-08  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)

2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* checks.ads: Minor reformatting

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Update documentation of pragma Obsolescent
	
	* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
	be omitted, and allow Entity parameter to be omitted.

From-SVN: r145745
2009-04-08 16:54:32 +02:00
Arnaud Charlet ef7c5692f1 [multiple changes]
2009-04-08  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb: Minor comment fix

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* g-socket.ads: Fix bad syntax in pragma Obsolescent

	* par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
	argument with no identifier following one that has an identifier. Was
	missed in some cases.

	* sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
	identifier.
	(Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers

	* snames.adb: Add Name_Policy

	* snames.ads: Add Name_Policy

From-SVN: r145744
2009-04-08 16:49:44 +02:00
Arnaud Charlet 4da17013c0 [multiple changes]
2009-04-08  Vincent Celier  <celier@adacore.com>

	* snames.adb, snames.ads: Add new standard names IDE and
	Compiler_Command.

2009-04-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe,
	i.e. does not need a temporary to capture the value, if expression is
	an acceess type, even if target type is a record whose size may not
	have been determined yet.

	* exp_disp.adb (Expand_Dispatching_Call): Set size info for generated
	access_to_subprogram type, to avoid order-of-elaboration anomalies in
	gigi.

From-SVN: r145743
2009-04-08 16:41:45 +02:00
Robert Dewar 0c7f524198 gnat_rm.texi: Minor reformatting
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting

	* par-ch2.adb: Minor reformatting

From-SVN: r145742
2009-04-08 16:35:35 +02:00
Robert Dewar ae8c7d8762 exp_attr.adb, [...]: Code clean up.
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.

From-SVN: r145741
2009-04-08 16:31:44 +02:00
Robert Dewar ff69f95af0 sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate properly in the presence of Remote_Types or...
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
	properly in the presence of Remote_Types or Remote_Call_Interface.

	* sem_util.adb: Add comment.

From-SVN: r145739
2009-04-08 16:25:35 +02:00
Joseph Myers 4d84fe7cee re PR middle-end/39614 (Internal error compiling CSiBE)
PR c/39614
	PR c/39673
	* c-common.h (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR,
	C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST,
	EXPR_INT_CONST_OPERANDS): Remove duplicate definitions.
	* c-convert.c (convert): Do not call fold on results of conversion
	functions when the result is a C_MAYBE_CONST_EXPR.
	* c-parser.c (c_parser_postfix_expression): Do not fold condition
	of __builtin_choose_expr.
	* c-typeck.c (remove_c_maybe_const_expr): New.
	(build_unary_op, build_conditional_expr, build_compound_expr,
	build_binary_op, c_objc_common_truthvalue_conversion): Call
	remove_c_maybe_const_expr on any input C_MAYBE_CONST_EXPR with
	integer operands.

testsuite:
	* gcc.c-torture/compile/pr39614-1.c,
	gcc.c-torture/compile/pr39614-2.c,
	gcc.c-torture/compile/pr39614-3.c,
	gcc.c-torture/compile/pr39614-4.c,
	gcc.c-torture/compile/pr39614-5.c,
	gcc.c-torture/compile/pr39673-1.c,
	gcc.c-torture/compile/pr39673-2.c: New tests.
	* gcc.dg/gnu89-const-expr-2.c, gcc.dg/gnu99-const-expr-2.c: Test
	more cases.
	* gcc.dg/overflow-warn-1.c, gcc.dg/overflow-warn-2.c,
	gcc.dg/overflow-warn-3.c, gcc.dg/overflow-warn-4.c: Update
	expected errors.

From-SVN: r145737
2009-04-08 15:11:46 +01:00
Arnaud Charlet 2db15b1d05 [multiple changes]
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* ug_words: Add /ASSUME_VALID for -gnatB

	* vms_data.ads: Add /ASSUME_VALID for -gnatB

	* sem_cat.adb: Add clarifying commment

	* a-direio.ads (Bytes): Make sure value is non-zero

2009-04-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable): If the prefix is an explicit dereference
	that does not come from source, check for a rewritten function call in
	prefixed notation before other forms of rewriting.

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
	these are now obsolescent units used only for bootrapping with an
	older compiler.

From-SVN: r145733
2009-04-08 15:59:47 +02:00
Arnaud Charlet 94fd3dc677 [multiple changes]
2009-04-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Add documentation for pragma Thread_Local_Storage

	* sem_ch3.adb: Minor comment updates

2009-04-08  Ed Schonberg  <schonberg@adacore.com>

	* inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
	that come from source.

From-SVN: r145732
2009-04-08 15:54:32 +02:00
Bingfeng Mei d1d1c602b8 fold-const.c (const_binop): Combine two VECTOR_CST under operation CODE to produce a new one.
2009-04-08 Bingfeng Mei <bmei@broadcom.com>

	* fold-const.c (const_binop): Combine two VECTOR_CST under operation 
        CODE to produce a new one. Add a prototype to use fold_convert_const

From-SVN: r145731
2009-04-08 13:51:35 +00:00
Tristan Gingold 40a14772d9 utils.c, [...]: Add support for pragma Thread_Local_Storage
2009-04-08  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/utils.c, gcc-interface/decl.c, gcc-interface/gigi.h:
	Add support for pragma Thread_Local_Storage

From-SVN: r145730
2009-04-08 15:46:35 +02:00
Arnaud Charlet 46ff89f320 [multiple changes]
2009-04-08  Ed Schonberg  <schonberg@adacore.com>

	* inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
	by the back-end if it contains a call to a subprogram without a
	previous spec that is declared in the same unit.

	* errout.ads: Update comments on uses of dirs

2009-04-08  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed

From-SVN: r145729
2009-04-08 15:44:17 +02:00
Arnaud Charlet 812f574fda [multiple changes]
2009-04-08  Tristan Gingold  <gingold@adacore.com>

	* sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
	variables.
	Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).

2009-04-08  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb:
	(Add_Source): Add the mapping of the unit name to source file name in
	the Unit_Sources_HT hash table, if the unit name is not null.

	* prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT

	* prj.ads (Unit_Sources_Htable): New hash table instantiation
	(Project_Tree_Data): New component Unit_Sources_HT

From-SVN: r145728
2009-04-08 15:29:19 +02:00