Commit Graph

119361 Commits

Author SHA1 Message Date
Jan Hubicka
ed901e4c61 ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence.
* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
	time spent by the inlined sequence.
	(do_estimate_edge_growth): Rename to ...
	(do_estimate_edge_time): ... this one; return size of inlined
	sequence.
	* ipa-inline.h (do_estimate_edge_size): New.
	(do_estimate_edge_growth): Remove.
	(estimate_edge_size): New function.
	(estimate_edge_growth): Use it.

From-SVN: r192185
2012-10-07 18:58:04 +00:00
Jan Hubicka
e75f8f79f0 lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
	(lto_symtab_encoder_delete): Update.
	(lto_symtab_encoder_encode): Update.
	(compute_ltrans_boundary): Update.
	(input_symtab): Update.
 	* lto-streamer.h (lto_symtab_encoder_new): Update.
	
	* lto.c (read_cgraph_and_symbols): Release type merging hash early;
	release input encoders.
	* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.

From-SVN: r192184
2012-10-07 17:16:02 +00:00
Matthias Klose
7c9bc8758e Fix typo in previous commit:
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192182
2012-10-07 11:46:06 +00:00
Matthias Klose
acb72498a7 unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192181
2012-10-07 10:06:30 +00:00
Matthias Klose
d39e4c0c0b basic: Remove empty directory.
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
        * testsuite/28_regex/algorithms/match/extended: Likewise.
        * testsuite/28_regex/algorithms/match: Likewise.

From-SVN: r192180
2012-10-07 09:59:02 +00:00
Richard Sandiford
4670abb087 mips-protos.h (mips_split_type): New enum.
gcc/
	* config/mips/mips-protos.h (mips_split_type): New enum.
	(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
	(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
	(mips_split_move_insn): Declare.
	* config/mips/mips.c (mips_tuning_info): New variable.
	(mips_load_store_insns): Use mips_split_move_insn_p instead of
	mips_split_64bit_move_p.
	(mips_emit_move_or_split, mips_mult_move_p): New functions.
	(mips_split_64bit_move_p): Rename to...
	(mips_split_move_p): ...this and take a mips_split_type argument.
	Generalize to all moves.  Call mips_mult_move_p.
	(mips_split_doubleword_move): Rename to...
	(mips_split_move): ...this and take a mips_split_type argument.
	Assert that mips_split_move_p holds.
	(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
	New functions.
	(mips_output_move): Use mips_split_move_p instead of
	mips_split_64bit_move_p.  Handle MULT $0, $0 moves.
	(mips_save_reg): Use mips_emit_move_or_split.
	(mips_sim_reset): Assign to curr_state.  Call targetm.sched.init
	and advance_state.
	(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
	targetm.sched.init_dfa_post_cycle_insn, if defined.
	(mips_sim_next_cycle): Assign to curr_state.  Use advance_state
	instead of state_transition.
	(mips_sim_issue_insn): Assign to curr_state.  Use
	targetm.sched.variable_issue to see how many more insns
	can be issued.
	(mips_seq_time, mips_mult_zero_zero_cost)
	(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
	(mips_expand_to_rtl_hook): New functions.
	(TARGET_EXPAND_TO_RTL_HOOK): Define.
	* config/mips/mips.md (move_type): Add imul.
	(type): Map imul move_types to imul.
	(*movdi_32bit, *movti): Add imul alternatives.
	Use mips_split_move_insn_p and mips_split_move_insn instead of
	mips_split_64bit_move_p and mips_split_doubleword_move in move
	splitters.

gcc/testsuite/
2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
	and test that the accumulator is initialized using MULT.
	* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
	* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r192179
2012-10-07 08:45:23 +00:00
Segher Boessenkool
03d15315a1 rs6000.c (print_operand): Delete.
gcc/
	* config/rs6000/rs6000.c (print_operand) ['A']: Delete.

From-SVN: r192178
2012-10-07 04:07:42 +02:00
GCC Administrator
d82f0a93ac Daily bump.
From-SVN: r192177
2012-10-07 00:17:50 +00:00
Paolo Carlini
a2ca8577e6 re PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52764
	* ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
	__STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
	* ginclude/stdint-gcc.h: In C++11 unconditionally define
	limit and constant macros.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52764
	* g++.dg/cpp0x/stdint.C: New.

/libstdc++-v3
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52764
	* include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
	__STDC_CONSTANT_MACROS related macros.

From-SVN: r192174
2012-10-06 23:06:04 +00:00
Paolo Carlini
21c278c930 re PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54249
	* ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
	namespace.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54249
	* g++.dg/cpp0x/stddef.C: New.

From-SVN: r192173
2012-10-06 22:44:12 +00:00
Gerald Pfeifer
55d5c6aff7 Fix ChangeLog date of
* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
	default_use_cxa_atexit to yes.

From-SVN: r192170
2012-10-06 21:49:06 +00:00
Janne Blomqvist
227e441f2b Fix usage of secure_getenv with glibc 2.17.
See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv

2012-10-06  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Check for presence of secure_getenv.
	* libgfortran.h: Use HAVE_SECURE_GETENV.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r192169
2012-10-06 23:56:05 +03:00
Diego Novillo
1996c0a6e0 x86_64-unknown-linux-gnu.xfail: Update.
2012-10-06  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

From-SVN: r192168
2012-10-06 13:44:39 -04:00
Jan Hubicka
ba52e3cf49 * gcc.dg/lto/resolutions_0.c: New testcase.
From-SVN: r192167
2012-10-06 17:43:07 +00:00
Jan Hubicka
c295453808 re PR lto/53831 (Virtuals missing in LTO symtab)
PR lto/53831
	PR lto/54776
	* lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.

From-SVN: r192166
2012-10-06 17:30:42 +00:00
Dehao Chen
f16dd82295 re PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)
2012-10-05  Dehao Chen  <dehao@google.com>

	PR debug/54826
	* gimple-low.c (lower_stmt): Set the block for call args.

From-SVN: r192165
2012-10-06 16:19:34 +00:00
Jan Hubicka
6ada5e7d99 Fix previous commit once again :(
From-SVN: r192164
2012-10-06 14:54:46 +00:00
Jan Hubicka
5b53596723 Fix previous commit.
From-SVN: r192163
2012-10-06 14:52:23 +00:00
Jan Hubicka
28d516bc9f Fix previous commit.
From-SVN: r192162
2012-10-06 14:19:33 +00:00
Jan Hubicka
37e5402bb3 invoke.texi (-fprofile-report): Document.
* doc/invoke.texi (-fprofile-report): Document.
	* common.opt (-fprofile-report): New option.
	* toplev.c (finalize): Call dump_profile_report.
	* toplev.h (profile_report): Declare.
	* passes.c (profile_record): New static var.
	(check_profile_consistency): New function.
	(dump_profile_record): New function.
	(execute_one_ipa_transform_pass): Call check_profile_consistency.
	(execute_one_pass): Likewise.

From-SVN: r192161
2012-10-06 14:06:04 +00:00
Janus Weil
5e25600e6e re PR fortran/54832 ([OOP] Type-bound operator not picked up with RESULT variable)
2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54832
	* resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
	attribute for proc-ptr components with RESULT variable.

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54832
	* gfortran.dg/typebound_operator_17.f90: New.

From-SVN: r192160
2012-10-06 16:03:08 +02:00
Jan Hubicka
46591697e1 re PR lto/54790 (Missing optimization with LTO)
PR lto/54790 
	* lto.c (resolution_map): New static var.
	(register_resolution): New function.
	(lto_register_var_decl_in_symtab): Use it.
	(read_cgraph_and_symbols): Copy resolutions into the symtab.
	* lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
	lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
	* lto-symtab.c (lto_symtab_register_decl): Remove.

From-SVN: r192159
2012-10-06 13:59:55 +00:00
Thomas Koenig
4ed3a4d41b re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several platforms)
2012-10-06  Thomas König  <tkoenig@gcc.gnu.org>

	PR libfortran/54736
	* runtime/environ.c (search_unit):  Correct logic
	for binary search.
	(mark_single):  Fix index errors.

From-SVN: r192158
2012-10-06 13:04:35 +00:00
Janus Weil
e9355cc32e re PR fortran/45521 ([F08] GENERIC resolution with ALLOCATABLE/POINTER and PROCEDURE)
2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45521
	* interface.c (generic_correspondence): Implement additional
	distinguishability criteria of F08.
	(compare_actual_formal): Reject data object as actual argument for
	procedure formal argument.

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45521
	* gfortran.dg/generic_25.f90: New.
	* gfortran.dg/generic_26.f90: New.
	* gfortran.dg/generic_27.f90: New.

From-SVN: r192157
2012-10-06 14:20:09 +02:00
Andreas Schwab
2aa3b677b1 re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
* config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2):
Remove.

From-SVN: r192156
2012-10-06 11:42:13 +00:00
Oleg Endo
7d11d29699 re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.md (define_constants): Add UNSPECV_GBR.
	(get_thread_pointer, set_thread_pointer): New expanders.
	(load_gbr): Rename to store_gbr.  Remove GBR_REG use.
	(store_gbr): New insn.
	* config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
	gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
	(sh1_builtin_p): New function.
	(signature_args): Add SH_BLTIN_VP.
	(bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.

	PR target/54760
	* gcc.target/sh/pr54760-1.c: New.

From-SVN: r192155
2012-10-06 11:20:11 +00:00
Joe Seymour
d6a5e81d74 dynamic_bitset: Fix cxxabi_forced.h include path.
2012-10-06  Joe Seymour  <jseymour@codesourcery.com>

	* include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.

From-SVN: r192154
2012-10-06 08:39:13 +00:00
John David Anglin
8f937c1892 re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
	* config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
	for 32-bit targets.  Adjust expanders.

From-SVN: r192152
2012-10-06 00:33:52 +00:00
GCC Administrator
0f2426b175 Daily bump.
From-SVN: r192151
2012-10-06 00:18:22 +00:00
Mark Kettenis
8eaee0f0f1 config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
	* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
	(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
	(ElfW): Likewise.

From-SVN: r192148
2012-10-05 23:35:55 +00:00
Benjamin Kosnik
d2edfb151d match: Rename to...
2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/28_regex/algorithms/match: Rename to...
	* testsuite/28_regex/algorithms/regex_match: ...this.
	* testsuite/28_regex/basic_regex/regex.cc: Rename to...
	* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
	* testsuite/util/testsuite_regex.h: New.
	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.

From-SVN: r192146
2012-10-05 21:18:54 +00:00
John David Anglin
74bf7dbb1e pa.md: Adjust unamed HImode add insn pattern.
* config/pa/pa.md: Adjust unamed HImode add insn pattern.

From-SVN: r192143
2012-10-05 21:03:29 +00:00
Oleg Endo
6d9e122050 sh.c (builtin_description): Add is_enabled member.
* config/sh/sh.c (builtin_description): Add is_enabled member.
	(shmedia_builtin_p): New function.
	(bdesc): Use shmedia_builtin_p for existing built-ins.
	(sh_media_init_builtins, sh_init_builtins): Merge into single function
	sh_init_builtins.  Add is_enabled checking.  Move variable declarations
	to where they are actually used.
	(sh_media_builtin_decl, sh_builtin_decl): Merge into single function
	sh_builtin_decl.  Add is_enabled checking.
	(sh_expand_builtin): Move variable declarations to where they are
	actually used.

From-SVN: r192142
2012-10-05 19:47:05 +00:00
Jakub Jelinek
0d23cf7a4f cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
cp/
	* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
	* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
	SIZEOF_EXPR_TYPE_P.
	* mangle.c (write_expression): Likewise.
	* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
	* error.c (dump_expr): Likewise.
	* parser.c (cp_parser_unary_expression): For sizeof call
	cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
	return SIZEOF_EXPR with the operand.
	* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
	call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
	return SIZEOF_EXPR with tsubsted operand.
	(value_dependent_expression_p): Handle SIZEOF_EXPR with
	SIZEOF_EXPR_TYPE_P.
	(instantiation_dependent_r): Likewise.
	* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
	* semantics.c (finish_call_expr): Call
	sizeof_pointer_memaccess_warning if needed.
	(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
	(potential_constant_expression_1): Remove early exit for
	C++98.  Handle PROPERTY_REF.
	* decl.c (duplicate_decls): When redeclaring a builtin function,
	keep the merged decl builtin also if newdecl is a gnu_inline
	inline definition.
	(fold_sizeof_expr_r): New function.
	(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
	* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
	* typeck.c (cp_build_binary_op): For warn_for_sign_compare
	try harder using maybe_constant_value to get INTEGER_CSTs.

	* decl.c (stabilize_vla_size): Call pointer_set_destroy
	at the end.
testsuite/
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
	* g++.dg/warn/Wsign-compare-5.C: New test.
	* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
	* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
	* g++.dg/ext/builtin30.C: New test.
	* g++.dg/ext/vla12.C: New test.
	* gcc.dg/builtins-85.c: New test.
libstdc++-v3/
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
	numbers.

From-SVN: r192141
2012-10-05 21:30:39 +02:00
Jakub Jelinek
94645a02dc tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS...
* tree-inline.c (expand_call_inline): Move VAR_DECLs with
	PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
	into id->block's BLOCK_VARS.

From-SVN: r192140
2012-10-05 21:25:58 +02:00
Jakub Jelinek
878eef4ad8 re PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)
PR debug/54519
	* ipa-split.c (split_function): Add debug args and
	debug source and normal stmts for args_to_skip which are
	gimple regs.
	* tree-inline.c (copy_debug_stmt): When inlining, adjust
	source debug bind stmts to debug binds of corresponding
	DEBUG_EXPR_DECL.

	* gcc.dg/guality/pr54519-1.c: New test.
	* gcc.dg/guality/pr54519-2.c: New test.
	* gcc.dg/guality/pr54519-3.c: New test.
	* gcc.dg/guality/pr54519-4.c: New test.
	* gcc.dg/guality/pr54519-5.c: New test.
	* gcc.dg/guality/pr54519-6.c: New test.

From-SVN: r192139
2012-10-05 21:24:38 +02:00
Marc Glisse
3b1cd14dd0 re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/54686
	* include/c_global/cstdlib (abs(long long)): Define with
	__builtin_llabs when we have long long.
	(abs(long)): Use __builtin_labs.
	(abs(__int128)): Define when we have __int128.

From-SVN: r192138
2012-10-05 19:10:22 +00:00
Paolo Carlini
67dd8d5938 cstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.
2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cstdlib: Remove redundant pasto code protected
	by __GXX_EXPERIMENTAL_CXX0X__.
	* include/c_global/cwctype: Likewise.
	* include/c_global/ccomplex: Remove uses of obsolete macro
	_GLIBCXX_INCLUDE_AS_TR1.
	* include/c_global/cfloat: Likewise.

From-SVN: r192137
2012-10-05 17:39:32 +00:00
Georg-Johann Lay
870128f21d avr.md: Fix indentations of insn C snippets.
* config/avr/avr.md: Fix indentations of insn C snippets.

From-SVN: r192136
2012-10-05 16:37:04 +00:00
Marc Glisse
8f2b580aeb re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/54686
	* include/c_std/cstdlib (abs(long long)): Define with
	__builtin_llabs when we have long long.
	(abs(long)): Use __builtin_labs.
	(abs(__int128)): Define when we have __int128.
	* testsuite/26_numerics/headers/cstdlib/54686.c: New file.

From-SVN: r192132
2012-10-05 16:20:44 +00:00
Paolo Carlini
92e2cbfa6a re PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)
2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50893
	* g++.dg/cpp0x/defaulted38.C: New.

From-SVN: r192131
2012-10-05 15:00:26 +00:00
Arnaud Charlet
236f10422f [multiple changes]
2012-10-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.adb: Minor reformatting.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
	a duplicate pragma before Rep_Item_Too_Late to prevent spurious
	messages about duplicate pragmas.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Find_Init_Call): If the successor of the
	object declaration is a block, check whether it contains the
	initialization call, because it may have been created by actuals
	that use the secondary stack.

From-SVN: r192130
2012-10-05 16:33:42 +02:00
Arnaud Charlet
95081e99e2 [multiple changes]
2012-10-05  Thomas Quinot  <quinot@adacore.com>

	* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
	guard against abnormal tree resulting from a previously diagnosed
	illegality.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
	and update all refs to it. Do not freeze an entity outside a subprogram
	body when the original context is an expression function.

2012-10-05  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
	is suppressed, even if backend overflow/divide checks are enabled.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

	* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
	chain properly subprograms on Subprograms_For_Type list.
	* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
	procedure, to create declaration for invariant procedure
	independently of the construction of the body, so that it can
	be called within expression functions.
	* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
	declaration may already have been generated at the point an
	explicit invariant aspect is encountered.
	* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
	for invariant procedure.
	* sem_ch7.adb (Analyze_Package_Specification): clean up call to
	build invariant procedure.
	(Preserve_Full_Attributes): propagate information about invariants
	if they appear on a completion,

2012-10-05  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi: Update documentation to lift Microsoft C
	restriction.

From-SVN: r192128
2012-10-05 16:29:57 +02:00
Arnaud Charlet
967fb65e80 [multiple changes]
2012-10-05  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb (Has_One_Matching_Field): Handle case of lone
	discriminant.

2012-10-05  Yannick Moy  <moy@adacore.com>

	* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
	for the division operation and exponent operation. Adjust bound
	for the mod and rem operations.

From-SVN: r192126
2012-10-05 16:26:27 +02:00
Robert Dewar
60b68e56ce checks.adb, [...]: Minor reformatting.
2012-10-05  Robert Dewar  <dewar@adacore.com>

	* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
	s-spsufi.ads, exp_ch4.adb: Minor reformatting.

From-SVN: r192125
2012-10-05 16:22:55 +02:00
Arnaud Charlet
5707e389d3 [multiple changes]
2012-10-05  Yannick Moy  <moy@adacore.com>

	* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
	osint.adb: Minor correction of typos, and special case for Alfa mode.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
	Add with and use clauses for System.Finalization_Masters.
	(Finalize_And_Deallocate): Add an instance of
	Ada.Unchecked_Deallocation. Merge the code from the now obsolete
	Finalize_Subpool into this routine.
	* s-spsufi.ads: Add pragma Preelaborate.
	* s-stposu.adb: Remove with clause for
	Ada.Unchecked_Deallocation; Add with and use clauses for
	System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
	Update the comment on all actions takes with respect to a subpool
	finalization. Finalize and deallocate each individual subpool.
	(Finalize_Subpool): Removed.
	(Free): Removed;
	(Detach): Move from package body to spec.
	* s-stposu.ads (Detach): Move from package body to spec.
	(Finalize_Subpool): Removed.

2012-10-05  Arnaud Charlet  <charlet@adacore.com>

	* s-tassta.adb: Update comments.
	(Vulnerable_Complete_Master): If Free_On_Termination is set, do
	nothing, and let the task free itself if not already done.

From-SVN: r192124
2012-10-05 16:21:21 +02:00
Ian Lance Taylor
686750d25d runtime: Use argv[0] to get executable name for backtrace.
From-SVN: r192123
2012-10-05 13:44:40 +00:00
Richard Guenther
4f60bf181e re PR lto/54811 (tree code '�' is not supported in LTO streams)
2012-10-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/54811
	* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
	DECL_DEBUG_EXPR again.

From-SVN: r192120
2012-10-05 11:48:27 +00:00
Jan Hubicka
bfc61b40d4 re PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining)
PR tree-optimization/33763
	* tree-inline.c (expand_call_inline): Silently ignore always_inline
	attribute for redefined extern inline functions.

	* c-c++-common/pr33763.c: New test.

From-SVN: r192119
2012-10-05 13:43:38 +02:00
Jan Hubicka
9ed313cc23 tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
	(vect_analyze_loop_operations): Use loop count estimate to rule out
	unprofitable vectorization.
	(vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.

From-SVN: r192116
2012-10-05 10:10:33 +00:00