Commit Graph

121806 Commits

Author SHA1 Message Date
Jason Merrill cc999d0300 linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
	(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
	* include/c_std/cstdlib: Add atexit and at_quick_exit.
	* include/c_global/cstdlib: Add atexit and at_quick_exit.
	* testsuite/18_support/quick_exit/quick_exit.cc: New.

From-SVN: r195948
2013-02-11 12:50:13 -05:00
Uros Bizjak b63fe0076d re PR rtl-optimization/56275 (ICE in simplify_subreg, at simplify-rtx.c:5261 with vector code.)
PR rtl-optimization/56275
	* simplify-rtx.c (avoid_constant_pool_reference): Check that
	offset is non-negative and less than cmode size before
	calling simplify_subreg.

testsuite/ChangeLog:

	PR rtl-optimization/56275
	* gcc.dg/pr56275.c: New test.

From-SVN: r195944
2013-02-11 17:05:44 +01:00
Jason Merrill ba9146c16b re PR c++/56268 (C++11 ICE with boost multi-precision and boost variant during assignment)
PR c++/56268
	* semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
	maybe_instantiate_noexcept.

From-SVN: r195943
2013-02-11 10:47:46 -05:00
Richard Biener e77439af64 re PR tree-optimization/56273 (Bogus -Warray-bounds warning)
2013-02-11  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/56273
	* gcc.dg/tree-ssa/vrp17.c: Disable tail-merging.

From-SVN: r195942
2013-02-11 15:08:51 +00:00
Richard Biener 8e89b5b5fb re PR tree-optimization/56264 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:557)
2013-02-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56264
	* cfgloop.h (fix_loop_structure): Adjust prototype.
	* loop-init.c (fix_loop_structure): Return the number of
	newly discovered loops.
	* tree-cfgcleanup.c (repair_loop_structures): When new loops
	are discovered, do a full loop-closed SSA rewrite.

	* gcc.dg/torture/pr56264.c: New testcase.

From-SVN: r195941
2013-02-11 15:07:40 +00:00
Richard Biener b4a4b56dc7 re PR tree-optimization/56273 (Bogus -Warray-bounds warning)
2013-02-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56273
	* tree-vrp.c (simplify_cond_using_ranges): Disable for the
	first VRP run.
	(check_array_ref): Fix missing newline in dumps.
	(search_for_addr_array): Likewise.

	* g++.dg/warn/Warray-bounds-6.C: New testcase.
	* gcc.dg/tree-ssa/pr21559.c: Adjust.
	* gcc.dg/tree-ssa/vrp17.c: Likewise.
	* gcc.dg/tree-ssa/vrp18.c: Likewise.
	* gcc.dg/tree-ssa/vrp23.c: Likewise.
	* gcc.dg/tree-ssa/vrp24.c: Likewise.

From-SVN: r195940
2013-02-11 13:33:19 +00:00
Paolo Carlini 3b424b30be re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56282
	Revert:
	2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/56193
	* include/bits/basic_ios.h: Replace operator void*() const
	with explicit operator bool() const in C++11 and greater.
	* testsuite/27_io/basic_ios/pr56193.cc: New file.

From-SVN: r195939
2013-02-11 10:30:43 +00:00
François Dumont adb1c4d1e0 containers.xml: Add section on unordered containers.
2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/containers.xml: Add section on unordered containers.
	* doc/xml/manual/using.xml: Fix incomplete sentence.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r195937
2013-02-11 00:19:41 +00:00
Jonathan Wakely dfed5434f3 re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
	* include/bits/hashtable.h (__cache_default): Check if hash function
	is copy assignable.
	* testsuite/23_containers/unordered_set/56267.cc: New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r195936
2013-02-11 00:19:29 +00:00
Jonathan Wakely a9b68b8289 re PR libstdc++/56278 (unordered containers fail static assertion)
PR libstdc++/56278
	* include/bits/hashtable_policy.h (_Hash_code_base): Make default
	constructor public.
	* testsuite/23_containers/unordered_set/56278.cc: New.

From-SVN: r195935
2013-02-11 00:19:14 +00:00
GCC Administrator 9a147b39c6 Daily bump.
From-SVN: r195934
2013-02-11 00:19:06 +00:00
Ian Lance Taylor d54fc07473 compiler, libgo: Permit testing package when test imports it circularly.
From-SVN: r195931
2013-02-10 06:02:38 +00:00
GCC Administrator 8e29a61c2d Daily bump.
From-SVN: r195930
2013-02-10 00:18:37 +00:00
Ian Lance Taylor d3deca3973 re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo testsuite: If using DejaGNU, don't frob the log file.

From-SVN: r195927
2013-02-09 23:19:33 +00:00
Ian Lance Taylor d5698f71bb re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.

From-SVN: r195926
2013-02-09 23:02:09 +00:00
François Dumont 0112ed6089 bessel_function.tcc (__cyl_bessel_ij_series): Code simplification.
2013-02-09  François Dumont  <fdumont@gcc.gnu.org>

	* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
	simplification.

From-SVN: r195925
2013-02-09 20:55:12 +00:00
Jason Merrill 25976b7f5d re PR c++/56247 (internal compiler error: in tsubst_copy, at cp/pt.c:12131)
PR c++/56247
	* pt.c (eq_specializations): Set comparing_specializations.
	* tree.c (cp_tree_equal): Check it.
	* cp-tree.h: Declare it.

From-SVN: r195922
2013-02-09 15:39:13 -05:00
Jason Merrill 8d40d877c0 * decl.c (decls_match): Check versions later.
From-SVN: r195921
2013-02-09 15:38:54 -05:00
Jason Merrill d982e0246a re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515)
PR c++/56238
	* pt.c (build_non_dependent_expr): Don't try to fold
	instantiation-dependent expressions.
	(instantiation_dependent_r) [TRAIT_EXPR]: Split out.
	[BIND_EXPR]: Treat as dependent.

From-SVN: r195920
2013-02-09 15:38:33 -05:00
Jakub Jelinek 4ab7747c26 re PR other/56245 (-fsanitize=address miscompiles GCC)
PR other/56245
	* regex.c (PTR_INT_TYPE): Define.
	(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.

From-SVN: r195918
2013-02-09 19:41:00 +01:00
David Edelsohn 0c88522946 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
From-SVN: r195917
2013-02-09 10:52:23 -05:00
Uros Bizjak acd5a6da9d asan_test.C: Compile with -D__NO_INLINE__ for *-*-linux-gnu targets.
* g++.dg/asan/asan_test.C: Compile with -D__NO_INLINE__
	for *-*-linux-gnu targets.
	* g++.dg/asan/interception-test-1.c: Ditto.
	* g++.dg/asan/interception-failure-test-1.C: Ditto.
	* g++.dg/asan/interception-malloc-test-1.C: Ditto.

From-SVN: r195916
2013-02-09 16:06:08 +01:00
Paul Thomas 52880d11ce re PR fortran/55362 (ICE with size() on character pointer)
2013-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/55362
	* check.c (array_check): It is an error if a procedure is
	passed.

2013-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/55362
	* gfortran.dg/intrinsic_size_4.f90 : New test.

From-SVN: r195915
2013-02-09 09:49:49 +00:00
Jakub Jelinek 59ac9a555e re PR target/56256 (inline asm with {|} alternatives in it no longer accepted)
PR target/56256
	* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.

	* gcc.target/powerpc/pr56256.c: New test.

From-SVN: r195913
2013-02-09 10:30:45 +01:00
Ian Lance Taylor d6517f8d69 * lib/go.exp: Load timeout.exp.
From-SVN: r195910
2013-02-09 01:54:24 +00:00
GCC Administrator bf83e8d3fa Daily bump.
From-SVN: r195909
2013-02-09 00:18:54 +00:00
Vladimir Makarov 25bb0bb5b0 re PR rtl-optimization/56246 (ICE in assign_by_spills, at lra-assigns.c:1262)
2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/56246
	* lra-constraints.c (simplify_operand_subreg): Try tor reuse
	reload pseudo.
	* lra.c (lra): Clear lra_optional_reload_pseudos only when all
	constraints are satisfied.

2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/56246
	* gcc.target/i386/pr56246.c: New test.

From-SVN: r195902
2013-02-08 21:59:11 +00:00
Jeff Law a698cc0308 re PR debug/53948 (Assignment line missing for -O0 -g)
PR debug/53948
        * emit-rtl.c (reg_is_parm_p): New function.
        * regs.h (reg_is_parm_p): New prototype.
        * ira-conflicts.c (ira_build_conflicts): Allow parameters in
        callee-clobbered registers.

       PR debug/53948
        * gcc.dg/debug/dwarf2/pr53948.c: New test.

From-SVN: r195900
2013-02-08 13:03:52 -07:00
Michael Meissner e1122ddda6 re PR target/56043 (ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c)
[gcc]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/56043
	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
	If there is no implicit builtin declaration, just return NULL.

[gcc/testsuite]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/56043
	* gcc.target/powerpc/vsx-mass-1.c: Only run this test on
	powerpc*-*-linux*.

From-SVN: r195898
2013-02-08 19:36:04 +00:00
Ian Lance Taylor 540817f4ef syscall: Always use _C_int for C libcalls.
From-SVN: r195897
2013-02-08 19:24:26 +00:00
Uros Bizjak 19c5f6e600 sse.md (FMAMODEM): New mode iterator.
* config/i386/sse.md (FMAMODEM): New mode iterator.
	(fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
	mode iterator. Do not use TARGET_SSE_MATH in insn constraint.

From-SVN: r195896
2013-02-08 19:29:58 +01:00
Uros Bizjak 2480f2ca88 gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
	when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
	* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.

From-SVN: r195895
2013-02-08 19:08:12 +01:00
Edgar E. Iglesias 76ef61fbd9 config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
gcc:
	* config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
	(microblaze*-*-elf): Likewise
	* config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to 
	LINK_SPEC
	* config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN 
	and _BIG_ENDIAN
	* config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to 
	TARGET_DEFAULT flags.
	Expand ASM_SPEC and LINK_SPEC.
	Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN
	* config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal 
	instructions to use low-order / high-order reg print_operands
	* config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian 
	options and inversemask / mask of LITTLE_ENDIAN
	* config/microblaze/t-microblaze: Expand multilib options to include mlittle-
	endian (le) and update exceptions patterns
gcc/testsuite:
	* 20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0

From-SVN: r195893
2013-02-08 16:02:47 +00:00
Jakub Jelinek 5df813131d re PR rtl-optimization/56195 (Error: incorrect register `%rdi' used with `l' suffix (at -O2))
PR rtl-optimization/56195
	* lra-constraints.c (get_reload_reg): Don't reuse regs
	if they have smaller mode than requested, if they have
	wider mode than requested, try to return a SUBREG.

	* gcc.dg/torture/pr56195.c: New test.

From-SVN: r195891
2013-02-08 16:19:02 +01:00
Mikael Morin 3434c119a3 re PR fortran/54107 ([F03] Memory hog with abstract interface)
fortran/
	PR fortran/54107
	* trans-types.c (gfc_get_function_type): Change a NULL backend_decl
	to error_mark_node on entry.  Detect recursive types.  Build a variadic
	procedure type if the type is recursive.  Restore the initial
	backend_decl.

testsuite/
	PR fortran/54107
	* gfortran.dg/recursive_interface_2.f90: New test.

From-SVN: r195890
2013-02-08 15:13:32 +00:00
Jakub Jelinek 600a5961b2 re PR tree-optimization/56250 (Wrong constant folding on unsigned int)
PR tree-optimization/56250
	* fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
	if type is unsigned and code isn't MULT_EXPR.

	* gcc.c-torture/execute/pr56250.c: New test.

From-SVN: r195888
2013-02-08 16:06:26 +01:00
Edward Smith-Rowland be59c9322a re PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!)
PR libstdc++/56216

From-SVN: r195886
2013-02-08 14:10:48 +00:00
Georg-Johann Lay ff54464986 re PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST)
gcc/
	PR tree-optimization/56064
	* fixed-value.c (fixed_from_double_int): Sign/zero extend payload
	bits according to mode.
	* fixed-value.h (fixed_from_double_int)
	(const_fixed_from_double_int): Adjust comments.

gcc/testsuite/
	PR tree-optimization/56064
	* gcc.dg/fixed-point/view-convert-2.c: New test.

From-SVN: r195885
2013-02-08 13:23:34 +00:00
Richard Biener e45cde9826 re PR middle-end/56231 (warning traces have bogus line information when using LTO)
2013-02-08  Richard Biener  <rguenther@suse.de>

	PR lto/56231
	* lto-streamer.h (struct data_in): Remove current_file, current_line
	and current_col members.
	* lto-streamer-out.c (lto_output_location): Stream changed bits
	en-block for efficiency.
	* lto-streamer-in.c (clear_line_info): Remove.
	(lto_input_location): Cache current file, line and column
	globally via local statics.  Read changed bits en-block.
	(input_function): Do not call clear_line_info.
	(lto_read_body): Likewise.
	(lto_input_toplevel_asms): Likewise.

	lto/
	* lto-lang.c (lto_init): Do not enter a dummy file.

From-SVN: r195884
2013-02-08 12:55:13 +00:00
Michael Matz c1ca73d819 re PR tree-optimization/52448 (cselim broken with calls)
PR tree-optimization/52448

	* tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
	(nt_call_phase): New static.
	(add_or_mark_expr): Only mark accesses with newer phase than any
	call seen.
	(nonfreeing_call_p): New.
	(nt_init_block): Update nt_call_phase, mark blocks as visited.
	(nt_fini_block): Keep blocks marked as visited.
	(get_non_trapping): Initialize nt_call_phase, and reset aux pointer.

testsuite/
	PR tree-optimization/52448
	* gcc.dg/pr52448.c: New test.

From-SVN: r195883
2013-02-08 12:31:19 +00:00
Richard Biener 57548aa249 ira.c (ira): Free broken dominator information.
2013-02-08  Richard Biener  <rguenther@suse.de>

	* ira.c (ira): Free broken dominator information.

From-SVN: r195882
2013-02-08 12:10:48 +00:00
Uros Bizjak 8e10366fe5 i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
* config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.

From-SVN: r195881
2013-02-08 13:06:03 +01:00
Marek Polacek f64fb0facb Add more checking of headers.
From-SVN: r195880
2013-02-08 11:39:01 +00:00
Richard Biener 0375167b6c re PR rtl-optimization/56181 (ICE in verify_loop_structure, at cfgloop.c:1581 with -ftracer)
2013-02-08  Richard Biener  <rguenther@suse.de>

	PR middle-end/56181
	* cfgloop.h (flow_loops_find): Adjust.
	(bb_loop_header_p): Declare.
	* cfgloop.c (bb_loop_header_p): New function split out from ...
	(flow_loops_find): ... here.  Adjust function signature,
	support incremental loop structure update.
	(verify_loop_structure): Cleanup.  Verify a loop is a loop.
	* cfgloopmanip.c (fix_loop_structure): Move ...
	* loop-init.c (fix_loop_structure): ... here.
	(apply_loop_flags): Split out from ...
	(loop_optimizer_init): ... here.
	(fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
	in incremental mode, only remove dead loops here.

	* gcc.dg/torture/pr56181.c: New testcase.

From-SVN: r195879
2013-02-08 11:00:26 +00:00
Georg-Johann Lay 85d768f349 re PR target/54222 ([avr] Implement fixed-point support)
gcc/
	PR target/54222
	* config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
	* config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
	(round<mode>3, round<mode>3_const): New expanders for fixed-mode.
	(*round<mode>3.libgcc): New insns for fixed-modes.
	* config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
	(ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
	(ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
	* config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
	implementations.  Define to __builtin_avr_absFX,
	__builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
	(roundFX, countlsFX): Define to __builtin_avr_roundFX,
	__builtin_avr_countlsFX, respectively.
	* config/avr/avr-c.c (target.h): Include it.
	(enum avr_builtin_id): New enum.
	(avr_resolve_overloaded_builtin): New static function.
	(avr_register_target_pragmas): Use it to set
	targetm.resolve_overloaded_builtin.
	* config/avr/avr.c (avr_init_builtins): Supply myriads of local
	tree nodes used by DEF_BUILTIN.
	(avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
	(avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
	<AVR_BUILTIN_xxBITS>: Same.
	
libgcc/
	PR target/54222
	* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
	* config/avr/lib2-object.mk: New iterator to build objects from it.
	* config/avr/t-avr: Iterate lib2-object.mk to build objects from
	lib2funcs.c.
	(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
	(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
	_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
	_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
	_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
	* config/avr/lib1funcs-fixed.S: Implement them.

gcc/testsuite/
	PR target/54222
	* gcc.target/avr/torture/builtins-4-roundfx.c: New test.
	* gcc.target/avr/torture/builtins-5-countlsfx.c: New test.

From-SVN: r195878
2013-02-08 10:13:37 +00:00
Richard Biener 661bc682bc cfgloop.c (verify_loop_structure): Properly handle a loop exiting to another loop header.
2013-02-08  Richard Biener  <rguenther@suse.de>

	* cfgloop.c (verify_loop_structure): Properly handle
	a loop exiting to another loop header.
	* ira-int.h (ira_loops): Remove.
	* ira.c (ira_loops): Remove.
	(ira): Use loop_optimizer_init and loop_optimizer_finalize.
	(do_reload): Use loop_optimizer_finalize.
	* ira-build.c (create_loop_tree_nodes): Use get_loops and
	number_of_loops to access the loop tree.
	(more_one_region_p): Likewise.
	(finish_loop_tree_nodes): Likewise.
	(rebuild_regno_allocno_maps): Likewise.
	(mark_loops_for_removal): Likewise.
	(mark_all_loops_for_removal): Likewise.
	(remove_unnecessary_regions): Likewise.
	(ira_build): Likewise.
	* ira-emit.c (setup_entered_from_non_parent_p): Likewise.

From-SVN: r195877
2013-02-08 09:09:38 +00:00
Richard Biener 0d5049b238 Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
2013-02-08  Richard Biener  <rguenther@suse.de>

	* Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
	* ipa-pure-const.c (analyze_function): Avoid calling
	mark_irreducible_loops twice.
	* tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops
	for fixup.

From-SVN: r195876
2013-02-08 09:07:49 +00:00
GCC Administrator ce3aef7d2b Daily bump.
From-SVN: r195874
2013-02-08 00:18:14 +00:00
David S. Miller 499f32e8fa Fix variable tracking for leaf functions on sparc.
* dwarf2out.c (based_loc_descr): Perform leaf register remapping
	on 'reg'.
	* var-tracking.c (vt_add_function_parameter): Test the presence of
	HAVE_window_save properly and do not remap argument registers when
	we have a leaf function.

From-SVN: r195869
2013-02-07 15:19:27 -08:00
Ian Lance Taylor 48227088fd runtime: Change main in goc2c to return int.
From Uros Bizjak.

From-SVN: r195868
2013-02-07 22:24:34 +00:00