Commit Graph

133103 Commits

Author SHA1 Message Date
Jason Merrill b2cb98ed66 decl.c (start_decl): Complain about static/thread_local vars in constexpr function.
* decl.c (start_decl): Complain about static/thread_local vars
	in constexpr function.
	(check_for_uninitialized_const_var): Also uninitialized vars.
	* parser.c (cp_parser_jump_statement): And gotos.
	(cp_parser_asm_operand_list): And asm.
	(cp_parser_try_block): And try.
	* semantics.c (ensure_literal_type_for_constexpr_object): And
	non-literal.

From-SVN: r215863
2014-10-03 12:48:24 -04:00
Jason Merrill e01a49c11b semantics.c (constexpr_fn_retval): Ignore declarations in C++14.
* semantics.c (constexpr_fn_retval): Ignore declarations in C++14.
	(var_in_constexpr_fn): New.
	(cxx_eval_constant_expression): Look into DECL_INITIAL.
	(potential_constant_expression_1): Allow constexpr-local vars.

From-SVN: r215862
2014-10-03 12:48:18 -04:00
David Malcolm 742a072ad0 gcc.c: Split up the driver's "main" into smaller functions
gcc/ChangeLog:
	* gcc.c (class driver): New class.
	(main): Reimplement in terms of driver::main, moving most of the
	locals to be locals within individual methods of class driver.
	The remaining locals "explicit_link_files", "decoded_options" and
	"decoded_options_count" are used by multiple driver:: methods, and
	so become member data.  Doing so isolates the argc/argv reads and
	writes.  Replace "goto out" with a special exit code from
	new method driver::prepare_infiles.  Split out the old
	implementation of main into the following...
	(driver::main): New function, corresponding to the old "main"
	implementation.
	(driver::set_progname): New function, taken from the old
	"main" implementation.
	(driver::expand_at_files): Likewise.
	(driver::decode_argv): Likewise.
	(driver::global_initializations): Likewise.
	(driver::build_multilib_strings): Likewise.
	(driver::set_up_specs): Likewise.
	(driver::putenv_COLLECT_GCC): Likewise.
	(driver::maybe_putenv_COLLECT_LTO_WRAPPER): Likewise.
	(driver::handle_unrecognized_options): Likewise.
	(driver::maybe_print_and_exit): Likewise.
	(driver::prepare_infiles): Likewise.
	(driver::do_spec_on_infiles): Likewise.
	(driver::maybe_run_linker): Likewise.
	(driver::final_actions): Likewise.
	(driver::get_exit_code): Likewise.

From-SVN: r215861
2014-10-03 16:28:03 +00:00
Jason Merrill 2bd8ca2100 re PR c++/63362 (The c++11 triviality-traits need front-end help)
PR c++/63362
	* tree.c (strip_typedefs): Handle TREE_LIST.

From-SVN: r215860
2014-10-03 11:52:03 -04:00
Ian Lance Taylor 22806403ec re PR go/61877 (reflect: cannot use []string as type string in Call)
PR go/61877
refect: fix direct call of variadic method value

As reported in bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61877
gcc mainline has regressed in this.  This CL adds the tests proposed
for the main Go repository:

        https://codereview.appspot.com/151280043/
        https://codereview.appspot.com/152060043/

restores the code from the amd64/386 path that makes this work and
was lost when the Go 1.3 stdlib was merged and changes the FFI path
to call into the same helper code as the amd64/386 path.

I've only tested this on amd64 but I did test a version that was
patched to unconditionally take the FFI path.

From-SVN: r215859
2014-10-03 15:51:38 +00:00
Ian Lance Taylor acbe08d242 compiler: Don't insert promoted methods that conflict with fields.
From-SVN: r215856
2014-10-03 15:14:50 +00:00
Yury Gribov c6d129b0ea asan.c (asan_finish_file): Disable __asan_init calls for KASan; don't emit empty ctors.
2014-10-03  Yury Gribov  <y.gribov@samsung.com>

	* asan.c (asan_finish_file): Disable __asan_init calls for KASan;
	don't emit empty ctors.

From-SVN: r215851
2014-10-03 14:17:28 +00:00
Jonathan Wakely 9793232966 re PR libstdc++/63449 (documentation of vector space overhead management)
PR libstdc++/63449
	* doc/xml/manual/containers.xml: Remove outdated section.
	* doc/html/*: Regenerate.

From-SVN: r215849
2014-10-03 14:36:57 +01:00
Marek Polacek fa7bbfd3c8 a.35.4.c: Fix implicit declarations.
* gcc.dg/gomp/appendix-a/a.35.4.c: Fix implicit declarations.
	* gcc.dg/gomp/appendix-a/a.35.5.c: Likewise.
	* gcc.dg/gomp/appendix-a/a.35.6.c: Likewise.
	* gcc.dg/gomp/asm-1.c: Likewise.
	* gcc.dg/gomp/for-1.c: Likewise.
	* gcc.dg/gomp/empty.c: Fix defaulting to int.
	* gcc.dg/gomp/sharing-3.c: Likewise.
	* gcc.dg/gomp/udr-3.c: Use -std=gnu89.

From-SVN: r215846
2014-10-03 11:18:06 +00:00
Marek Polacek 7e9b821966 pr24626-2.c: Add function declarations.
* gcc.dg/torture/pr24626-2.c: Add function declarations.  Fix
	defaulting to int.
	* gcc.dg/torture/pr28814.c: Likewise.
	* gcc.dg/torture/pr57036-1.c: Likewise.
	* gcc.dg/torture/inline-1.c: Add function declarations.
	* gcc.dg/torture/pr24626-1.c: Likewise.
	* gcc.dg/torture/pr24626-3.c: Likewise.
	* gcc.dg/torture/pr25947-1.c: Likewise.
	* gcc.dg/torture/pr27409.c: Likewise.
	* gcc.dg/torture/pr38948.c: Likewise.
	* gcc.dg/torture/pr44807.c: Likewise.
	* gcc.dg/torture/pr49603.c: Likewise.
	* gcc.dg/torture/pr45865.c: Likewise.
	* gcc.dg/torture/pr51071-2.c: Likewise.
	* gcc.dg/torture/pr51801.c: Likewise.
	* gcc.dg/torture/pr52720.c: Likewise.
	* gcc.dg/torture/pr55124.c: Likewise.
	* gcc.dg/torture/pr55238.c: Likewise.
	* gcc.dg/torture/pr55687.c: Likewise.
	* gcc.dg/torture/pr55888.c: Likewise.
	* gcc.dg/torture/pr57036-2.c: Likewise.
	* gcc.dg/torture/pr57147-3.c: Likewise.
	* gcc.dg/torture/pr57584.c: Likewise.
	* gcc.dg/torture/pr59993.c: Likewise.
	* gcc.dg/torture/pr58079.c: Likewise.
	* gcc.dg/torture/va-arg-25.c: Likewise.
	* gcc.dg/torture/vector-2.c: Likewise.
	* gcc.dg/torture/stackalign/nested-3.c: Likewise.
	* gcc.dg/torture/pr31254.c: Fix defaulting to int.
	* gcc.dg/torture/pr43781.c: Likewise.
	* gcc.dg/torture/pr52912.c: Likewise.
	* gcc.dg/torture/pr59139.c: Likewise.
	* gcc.dg/torture/pr55890-1.c: Likewise.
	* gcc.dg/torture/pr55890-2.c: Likewise.
	* gcc.dg/torture/pr59164.c: Likewise.
	* gcc.dg/torture/pr57393-2.c: Likewise.
	* gcc.dg/torture/stackalign/comp-goto-1.c: Likewise.
	* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
	* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
	* lib/target-supports.exp (check_effective_target_trapping): Likewise.
	* gcc.dg/torture/pr35227.c: Use -std=gnu89.  Fix defaulting to int.
	* gcc.dg/torture/stackalign/builtin-apply-4.c: Use -fgnu89-inline.

From-SVN: r215844
2014-10-03 10:41:29 +00:00
Eric Botcazou bcfee57870 convert.c (convert_to_integer): Do not introduce useless conversions between integral types.
* convert.c (convert_to_integer): Do not introduce useless conversions
	between integral types.

From-SVN: r215843
2014-10-03 10:28:50 +00:00
David Sherwood 8684302d34 ira-int.h (ira_allocno): Mark hard_regno as signed.
gcc/
2014-10-03  David Sherwood  <david.sherwood@arm.com>

	* ira-int.h (ira_allocno): Mark hard_regno as signed.

From-SVN: r215842
2014-10-03 10:11:46 +00:00
Paolo Carlini 2a931365f7 parser.c (cp_parser_assignment_expression, [...]): Add default arguments.
2014-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_assignment_expression,
	cp_parser_constant_expression): Add default arguments.
	(cp_parser_primary_expression,
	cp_parser_postfix_open_square_expression,
	cp_parser_parenthesized_expression_list,
	cp_parser_question_colon_clause,
	cp_parser_expression, cp_parser_constant_expression,
	cp_parser_label_for_labeled_statement, cp_parser_static_assert,
	cp_parser_template_argument, cp_parser_enumerator_definition,
	cp_parser_member_declaration, cp_parser_constant_initializer,
	cp_parser_noexcept_specification_opt, cp_parser_throw_expression,
	cp_parser_std_attribute_spec, cp_parser_objc_message_args,
	cp_parser_objc_class_ivars, cp_parser_omp_clause_collapse,
	cp_parser_omp_clause_aligned, cp_parser_omp_clause_safelen,
	cp_parser_omp_clause_simdlen, cp_parser_omp_clause_dist_schedule,
	cp_parser_omp_for_incr, cp_parser_omp_for_loop_init,
	cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear): Adjust.

From-SVN: r215840
2014-10-03 08:50:26 +00:00
Ilya Enkovich 54bddf1d58 lra-constraints.c (inherit_in_ebb): Handle calls with multiple return values.
gcc/
	* lra-constraints.c (inherit_in_ebb): Handle calls with
	multiple return values.
	* caller-save.c (save_call_clobbered_regs): Likewise.

From-SVN: r215839
2014-10-03 08:43:21 +00:00
Jakub Jelinek f598c55c56 tree-vect-data-refs.c (vect_permute_load_chain, [...]): Fix a typo in temporary var names, suffle3 to shuffle3.
* tree-vect-data-refs.c (vect_permute_load_chain,
	vect_shift_permute_load_chain): Fix a typo in temporary var names,
	suffle3 to shuffle3.

From-SVN: r215837
2014-10-03 10:15:03 +02:00
Jakub Jelinek 5771c3915b re PR libgomp/61200 (internal compiler error: Segmentation fault, assert & openmp)
PR libgomp/61200
	* omp-low.c (taskreg_contexts): New variable.
	(scan_omp_parallel): Push newly created context into taskreg_contexts
	vector and move record layout code to finish_taskreg_scan.
	(scan_omp_task): Likewise.
	(finish_taskreg_scan): New function.
	(execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
	vector elements and release it.

	* c-c++-common/gomp/pr61200.c: New test.

	* testsuite/libgomp.c/pr61200.c: New test.

From-SVN: r215835
2014-10-03 09:29:42 +02:00
Jakub Jelinek 661fb5ddb8 re PR target/62128 (Use vpalignr for AVX2 rotation)
PR target/62128
	* config/i386/i386.c (expand_vec_perm_palignr): If op1, op0 order
	of palignr arguments can't be used due to min 0 or max - min
	too high, try also op0, op1 order of palignr arguments.

	* gcc.dg/torture/vshuf-16.inc (TESTS): Add 2 new permutations.
	* gcc.dg/torture/vshuf-32.inc (TESTS): Add 5 new permutations.

From-SVN: r215834
2014-10-03 09:27:50 +02:00
Jan Hubicka 4081ada2c7 cgraph.h (ipa_polymorphic_call_context): Turn bools into bitfields...
* cgraph.h (ipa_polymorphic_call_context):
	Turn bools into bitfields; add DYNAMIC; make MAKE_SPECULATIVE
	private, add POSSIBLE_DYNAMIC_TYPE_CHANGE.
	* ipa-polymorphic-call.c
	(ipa_polymorphic_call_context::restrict_to_inner_class): Allow accesses
	past end of dynamic types.
	(ipa_polymorphic_call_context::stream_out,
	speculative_outer_type): Stream dynamic flag.
	(ipa_polymorphic_call_context::set_by_decl): Clear DYNAMIC.
	(ipa_polymorphic_call_context::ipa_polymorphic_call_context):
	Clear DYNAMIC.
	(ipa_polymorphic_call_context::get_dynamic_type): Use DYNAMIC;
	set it.
	(ipa_polymorphic_call_context::combine_with): Propagate dynamic.
	* ipa-prop.c (update_jump_functions_after_inlining,
	try_make_edge_direct_virtual_call): Use possible_dynamic_type_change.

From-SVN: r215833
2014-10-03 05:42:47 +00:00
Ian Lance Taylor 60d9e9fc19 runtime: Check for CPU_COUNT itself, don't check glibc version.
Fixes issue 38.

From-SVN: r215832
2014-10-03 05:04:59 +00:00
Teresa Johnson 5d20321177 tree-ssa-threadupdate.c (freqs_to_counts_path): Scale frequencies up when synthesizing counts to avoid rounding errors.
2014-10-02  Teresa Johnson  <tejohnson@google.com>

	* tree-ssa-threadupdate.c (freqs_to_counts_path): Scale frequencies
	up when synthesizing counts to avoid rounding errors.

From-SVN: r215830
2014-10-03 00:46:16 +00:00
GCC Administrator a3f5573622 Daily bump.
From-SVN: r215829
2014-10-03 00:17:06 +00:00
Edward Smith-Rowland ee7572eb2e feat-cxx98-neg.C: Fix double negative thinko and add many more tests.
2014-10-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* g++.dg/cpp1y/feat-cxx98-neg.C: Fix double negative thinko and
	add many more tests.

From-SVN: r215823
2014-10-02 20:31:09 +00:00
Teresa Johnson bbc05e6aeb re PR middle-end/63422 (ICE in freqs_to_counts_path, at tree-ssa-threadupdate.c:981)
2014-10-01  Teresa Johnson  <tejohnson@google.com>

	PR middle-end/63422
	* tree-ssa-threadupdate.c (freqs_to_counts_path): Remove
	asserts to handle incoming insanities.

From-SVN: r215822
2014-10-02 20:30:11 +00:00
Segher Boessenkool c19adb17ef dg-extract-results.py (output_variation): Always sort if do_sum.
2014-10-02  Segher Boessenkool  <segher@kernel.crashing.org>

	* dg-extract-results.py (output_variation): Always sort if do_sum.

From-SVN: r215817
2014-10-02 20:24:07 +02:00
Marek Polacek 830976a1de 20030731-1.c: Use -std=gnu89.
* gcc.dg/tree-ssa/20030731-1.c: Use -std=gnu89.
	* gcc.dg/tree-ssa/20030729-1.c: Likewise.
	* gcc.dg/tree-ssa/20030807-8.c: Likewise.
	* gcc.dg/tree-ssa/20040326-1.c: Likewise.
	* gcc.dg/tree-ssa/vrp27.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise.
	* gcc.dg/tree-ssa/20040302-1.c: Likewise.
	* gcc.dg/tree-ssa/vrp09.c: Likewise.
	* gcc.dg/tree-ssa/inline-7.c: Likewise.
	* gcc.dg/tree-ssa/attr-alias.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Likewise.
	* gcc.dg/tree-ssa/20041008-1.c: Likewise.
	* gcc.dg/tree-ssa/20030917-1.c: Likewise.
	* gcc.dg/tree-ssa/20030917-2.c: Likewise.
	* gcc.dg/tree-ssa/20030530-2.c: Add function declarations.
	* gcc.dg/tree-ssa/20030708-1.c: Likewise.
	* gcc.dg/tree-ssa/20030709-2.c: Likewise.
	* gcc.dg/tree-ssa/20030710-1.c: Likewise.
	* gcc.dg/tree-ssa/20030711-1.c: Likewise.
	* gcc.dg/tree-ssa/20030711-2.c: Likewise.
	* gcc.dg/tree-ssa/20030711-3.c: Likewise.
	* gcc.dg/tree-ssa/20030728-1.c: Likewise.
	* gcc.dg/tree-ssa/20030731-2.c: Likewise.
	* gcc.dg/tree-ssa/20030807-1.c: Likewise.
	* gcc.dg/tree-ssa/20030807-3.c: Likewise.
	* gcc.dg/tree-ssa/20030807-7.c: Likewise.
	* gcc.dg/tree-ssa/20030807-9.c: Likewise.
	* gcc.dg/tree-ssa/20030814-2.c: Likewise.
	* gcc.dg/tree-ssa/20030814-3.c: Likewise.
	* gcc.dg/tree-ssa/20030814-4.c: Likewise.
	* gcc.dg/tree-ssa/20030814-5.c: Likewise.
	* gcc.dg/tree-ssa/20030820-1.c: Likewise.
	* gcc.dg/tree-ssa/20030820-2.c: Likewise.
	* gcc.dg/tree-ssa/20030821-1.c: Likewise.
	* gcc.dg/tree-ssa/20031022-1.c: Likewise.
	* gcc.dg/tree-ssa/20040209-1.c: Likewise.
	* gcc.dg/tree-ssa/20040211-1.c: Likewise.
	* gcc.dg/tree-ssa/alias-13.c: Likewise.
	* gcc.dg/tree-ssa/alias-28.c: Likewise.
	* gcc.dg/tree-ssa/asm-3.c: Likewise.
	* gcc.dg/tree-ssa/coalesce-1.c: Likewise.
	* gcc.dg/tree-ssa/foldstring-1.c: Likewise.
	* gcc.dg/tree-ssa/forwprop-25.c: Likewise.
	* gcc.dg/tree-ssa/forwprop-26.c: Likewise.
	* gcc.dg/tree-ssa/isolate-3.c: Likewise.
	* gcc.dg/tree-ssa/isolate-5.c: Likewise.
	* gcc.dg/tree-ssa/loadpre7.c: Likewise.
	* gcc.dg/tree-ssa/pr22117.c: Likewise.
	* gcc.dg/tree-ssa/pr23744.c: Likewise.
	* gcc.dg/tree-ssa/pr24117.c: Likewise.
	* gcc.dg/tree-ssa/pr24840.c: Likewise.
	* gcc.dg/tree-ssa/pr25734.c: Likewise.
	* gcc.dg/tree-ssa/pr33723.c: Likewise.
	* gcc.dg/tree-ssa/pr33920.c: Likewise.
	* gcc.dg/tree-ssa/pr34146-2.c: Likewise.
	* gcc.dg/tree-ssa/pr34146.c: Likewise.
	* gcc.dg/tree-ssa/pr38385.c: Likewise.
	* gcc.dg/tree-ssa/pr49642-1.c: Likewise.
	* gcc.dg/tree-ssa/pr49642-2.c: Likewise.
	* gcc.dg/tree-ssa/pr59597.c: Likewise.
	* gcc.dg/tree-ssa/sra-1.c: Likewise.
	* gcc.dg/tree-ssa/sra-2.c: Likewise.
	* gcc.dg/tree-ssa/sra-5.c: Likewise.
	* gcc.dg/tree-ssa/sra-6.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-10.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-31.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-14.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-29.c: Likewise.
	* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
	* gcc.dg/tree-ssa/vrp46.c: Likewise.
	* gcc.dg/tree-ssa/vrp56.c: Likewise.
	* gcc.dg/tree-ssa/vrp67.c: Likewise.
	* gcc.dg/tree-ssa/vrp72.c: Likewise.
	* gcc.dg/tree-ssa/vrp73.c: Likewise.
	* gcc.dg/tree-ssa/vrp75.c: Likewise.
	* gcc.dg/tree-ssa/20030611-1.c: Fix defaulting to int.
	* gcc.dg/tree-ssa/20030703-1.c: Likewise.
	* gcc.dg/tree-ssa/20030807-11.c: Likewise.
	* gcc.dg/tree-ssa/20030917-3.c: Likewise.
	* gcc.dg/tree-ssa/20040121-1.c: Likewise.
	* gcc.dg/tree-ssa/20040216-1.c: Likewise.
	* gcc.dg/tree-ssa/20040319-1.c: Likewise.
	* gcc.dg/tree-ssa/20040326-2.c: Likewise.
	* gcc.dg/tree-ssa/20040729-1.c: Likewise.
	* gcc.dg/tree-ssa/attr-alias-2.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-1.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-3.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-5.c: Likewise.
	* gcc.dg/tree-ssa/foldconst-4.c: Likewise.
	* gcc.dg/tree-ssa/foldconst-5.c: Likewise.
	* gcc.dg/tree-ssa/ifc-4.c: Likewise.
	* gcc.dg/tree-ssa/ifc-6.c: Likewise.
	* gcc.dg/tree-ssa/inline-10.c: Likewise.
	* gcc.dg/tree-ssa/inline-9.c: Likewise.
	* gcc.dg/tree-ssa/ipa-cp-1.c: Likewise.
	* gcc.dg/tree-ssa/ipa-split-5.c: Likewise.
	* gcc.dg/tree-ssa/local-pure-const.c: Likewise.
	* gcc.dg/tree-ssa/nonzero-1.c: Likewise.
	* gcc.dg/tree-ssa/pr23434.c: Likewise.
	* gcc.dg/tree-ssa/pr33922.c: Likewise.
	* gcc.dg/tree-ssa/scev-3.c: Likewise.
	* gcc.dg/tree-ssa/scev-4.c: Likewise.
	* gcc.dg/tree-ssa/scev-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dce-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-4.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
	* gcc.dg/tree-ssa/vrp01.c: Likewise.
	* gcc.dg/tree-ssa/vrp02.c: Likewise.
	* gcc.dg/tree-ssa/vrp03.c: Likewise.
	* gcc.dg/tree-ssa/vrp04.c: Likewise.
	* gcc.dg/tree-ssa/vrp05.c: Likewise.
	* gcc.dg/tree-ssa/vrp07.c: Likewise.
	* gcc.dg/tree-ssa/vrp08.c: Likewise.
	* gcc.dg/tree-ssa/vrp10.c: Likewise.
	* gcc.dg/tree-ssa/vrp11.c: Likewise.
	* gcc.dg/tree-ssa/vrp14.c: Likewise.
	* gcc.dg/tree-ssa/wholeprogram-1.c: Likewise.
	* gcc.dg/tree-ssa/writeonly.c: Likewise.
	* gcc.dg/tree-ssa/20030807-2.c: Add function declarations.  Fix
	defaulting to int.
	* gcc.dg/tree-ssa/20030814-1.c: Likewise.
	* gcc.dg/tree-ssa/20050719-1.c: Likewise.
	* gcc.dg/tree-ssa/20070302-1.c: Likewise.
	* gcc.dg/tree-ssa/builtin-expect-1.c: Likewise.
	* gcc.dg/tree-ssa/builtin-expect-2.c: Likewise.
	* gcc.dg/tree-ssa/builtin-expect-3.c: Likewise.
	* gcc.dg/tree-ssa/builtin-expect-4.c: Likewise.
	* gcc.dg/tree-ssa/builtin-expect-5.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-2.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-4.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-9.c: Likewise.
	* gcc.dg/tree-ssa/foldconst-2.c: Likewise.
	* gcc.dg/tree-ssa/foldconst-3.c: Likewise.
	* gcc.dg/tree-ssa/forwprop-28.c: Likewise.
	* gcc.dg/tree-ssa/inline-5.c: Likewise.
	* gcc.dg/tree-ssa/inline-6.c: Likewise.
	* gcc.dg/tree-ssa/ipa-split-1.c: Likewise.
	* gcc.dg/tree-ssa/ipa-split-2.c: Likewise.
	* gcc.dg/tree-ssa/ivopts-2.c: Likewise.
	* gcc.dg/tree-ssa/ivopts-3.c: Likewise.
	* gcc.dg/tree-ssa/loop-20.c: Likewise.
	* gcc.dg/tree-ssa/loop-38.c: Likewise.
	* gcc.dg/tree-ssa/pr20913.c: Likewise.
	* gcc.dg/tree-ssa/pr21582.c: Likewise.
	* gcc.dg/tree-ssa/pr24670.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-12.c: Likewise.
	* gcc.dg/tree-ssa/vrp06.c: Likewise.
	* gcc.dg/tree-ssa/vrp12.c: Likewise.
	* gcc.dg/tree-ssa/vrp13.c: Likewise.
	* gcc.dg/tree-ssa/vrp23.c: Likewise.
	* gcc.dg/tree-ssa/vrp24.c: Likewise.
	* gcc.dg/tree-ssa/vrp25.c: Likewise.
	* gcc.dg/tree-ssa/vrp55.c: Likewise.
	* gcc.dg/tree-ssa/recip-6.c: Fix typo.

From-SVN: r215816
2014-10-02 18:22:09 +00:00
Marek Polacek 091b2ce040 20091013.c: Fix defaulting to int.
* gcc.dg/tm/20091013.c: Fix defaulting to int.
	* gcc.dg/tm/20091221.c: Likewise.
	* gcc.dg/tm/debug-1.c: Likewise.
	* gcc.dg/tm/irrevocable-1.c: Likewise.
	* gcc.dg/tm/irrevocable-2.c: Likewise.
	* gcc.dg/tm/irrevocable-3.c: Likewise.
	* gcc.dg/tm/irrevocable-4.c: Likewise.
	* gcc.dg/tm/memopt-1.c: Likewise.
	* gcc.dg/tm/pr52173-1.c: Likewise.
	* gcc.dg/tm/props-1.c: Likewise.
	* gcc.dg/tm/props-2.c: Likewise.
	* gcc.dg/tm/props-3.c: Likewise.
	* gcc.dg/tm/20100125.c: Fix implicit declarations.
	* gcc.dg/tm/memopt-11.c: Likewise.
	* gcc.dg/tm/memopt-12.c: Likewise.
	* gcc.dg/tm/memopt-16.c: Likewise.
	* gcc.dg/tm/memopt-3.c: Likewise.
	* gcc.dg/tm/memopt-4.c: Likewise.
	* gcc.dg/tm/memopt-5.c: Likewise.
	* gcc.dg/tm/memopt-6.c: Likewise.
	* gcc.dg/tm/wrap-4.c: Likewise.

From-SVN: r215815
2014-10-02 18:17:04 +00:00
Marek Polacek d90d76715c pr24049.c: Fix implicit declarations.
* gcc.dg/vect/pr24049.c: Fix implicit declarations.
	* gcc.dg/vect/pr37730.c: Likewise.
	* gcc.dg/vect/pr52870.c: Likewise.
	* gcc.dg/vect/pr60092-2.c: Likewise.
	* gcc.dg/vect/pr60092.c: Likewise.
	* gcc.dg/vect/vect-reduc-sad.c: Likewise.
	* gcc.dg/vect/pr26359.c: Fix defaulting to int.
	* gcc.dg/vect/pr31041.c: Likewise.
	* gcc.dg/vect/pr32216.c: Likewise.
	* gcc.dg/vect/pr32224.c: Likewise.
	* gcc.dg/vect/pr32366.c: Likewise.
	* gcc.dg/vect/pr33866.c: Likewise.
	* gcc.dg/vect/pr43430-2.c: Likewise.
	* gcc.dg/vect/pr43842.c: Likewise.
	* gcc.dg/vect/vect-1.c: Likewise.
	* gcc.dg/vect/vect-1-big-array.c: Likewise.
	* gcc.dg/vect/vect-93.c: Likewise.
	* gcc.dg/vect/pr28952.c: Fix implicit declarations and
	defaulting to int.

From-SVN: r215814
2014-10-02 18:14:27 +00:00
Paolo Carlini 04bbdb1d08 re PR c++/53025 ([C++11] noexcept operator depends on copy-elision)
/cp
2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53025
	* cp-tree.h (struct saved_scope): Add noexcept_operand.
	(cp_noexcept_operand): Define.
	* call.c (build_over_call): Use it.
	* parser.c (cp_parser_unary_expression, [RID_NOEXCEPT]): Likewise.
	* pt.c (tsubst_copy_and_build, [NOEXCEPT_EXPR]): Likewise.

/testsuite
2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53025
	* g++.dg/cpp0x/noexcept23.C: New.
	* g++.dg/cpp0x/noexcept24.C: Likewise.

From-SVN: r215813
2014-10-02 18:05:55 +00:00
Marek Polacek a3ac63c46f 20020130-1.c: Use -std=gnu89.
* gcc.dg/noncompile/20020130-1.c: Use -std=gnu89.
	* gcc.dg/noncompile/20050120-1.c: Likewise.
	* gcc.dg/noncompile/old-style-parm-2.c: Likewise.
	* gcc.dg/noncompile/920616-2.c: Fix defaulting to int.
	* gcc.dg/noncompile/930301-1.c: Likewise.
	* gcc.dg/noncompile/930622-1.c: Likewise.
	* gcc.dg/noncompile/930622-2.c: Likewise.
	* gcc.dg/noncompile/950825-1.c: Likewise.
	* gcc.dg/noncompile/invalid_asm.c: Likewise.
	* gcc.dg/noncompile/scope.c: Likewise.
	* gcc.dg/noncompile/va-arg-1.c: Likewise.
	* gcc.dg/noncompile/920923-1.c: Fix implicit declarations.
	* gcc.dg/noncompile/971104-1.c: Likewise.

From-SVN: r215811
2014-10-02 17:57:01 +00:00
Ian Lance Taylor 4e3bba8fc3 re PR go/61880 (Linking with external functions in C does not work in GO when using gccgo, while it works in gc)
PR go/61880
compiler: symbol names should have '.' replaced with '_'

Package and symbol names issued by the cgo tool and compiler
should be the same for the object files to link.

A minimal change to fix only:
   https://code.google.com/p/gofrontend/issues/detail?id=36
and
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61880

From-SVN: r215810
2014-10-02 17:56:50 +00:00
Marek Polacek b177d7bf11 crossmodule-indircall-1.c: Fix defaulting to int.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: Fix defaulting to int.
	* gcc.dg/tree-prof/crossmodule-indircall-1a.c: Likewise.
	* gcc.dg/tree-prof/merge_block.c: Likewise.
	* gcc.dg/tree-prof/peel-1.c: Likewise.
	* gcc.dg/tree-prof/stringop-1.c: Likewise.
	* gcc.dg/tree-prof/stringop-2.c: Likewise.
	* gcc.dg/tree-prof/unroll-1.c: Likewise.
	* gcc.dg/tree-prof/update-cunroll-2.c: Likewise.
	* gcc.dg/tree-prof/val-prof-1.c: Likewise.
	* gcc.dg/tree-prof/val-prof-2.c: Likewise.
	* gcc.dg/tree-prof/val-prof-3.c: Likewise.
	* gcc.dg/tree-prof/val-prof-4.c: Likewise.
	* gcc.dg/tree-prof/val-prof-5.c: Likewise.
	* gcc.dg/tree-prof/val-prof-6.c: Likewise.
	* gcc.dg/tree-prof/cmpsf-1.c: Likewise.
	* gcc.dg/tree-prof/inliner-1.c: Use -fgnu89-inline.  Fix defaulting
	to int.

From-SVN: r215809
2014-10-02 17:55:51 +00:00
Martin Jambor 252c1a465c re PR rtl-optimization/63375 (reordering of reads across fences)
2014-10-02  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/63375
	* tree-sra.c (build_access_from_expr_1): Disqualify volatile
	references.

From-SVN: r215804
2014-10-02 18:49:14 +02:00
Jonathan Wakely d17f7d8a9d ctgmath: Include <complex>.
* include/c_global/ctgmath: Include <complex>.
	* testsuite/26_numerics/headers/ctgmath/complex.cc: New.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r215803
2014-10-02 16:52:24 +01:00
Segher Boessenkool 5827c03c81 Add file I forgot to add before.
From-SVN: r215802
2014-10-02 15:40:53 +02:00
Edward Smith-Rowland f65eb9e641 stl_function.h: Generic associative lookup feature is not supported.
2014-10-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/stl_function.h: Generic associative lookup feature
	is not supported.
	* testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
	actually available.
	* testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/duration/literals/range.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Adjust.

From-SVN: r215801
2014-10-02 12:38:41 +00:00
Olivier Hainque 5a6b6a9f21 Makefile.in (CROSS): Define, to @CROSS@.
2014-10-02  Olivier Hainque  <hainque@adacore.com>

        * Makefile.in (CROSS): Define, to @CROSS@.

From-SVN: r215799
2014-10-02 09:44:20 +00:00
Marek Polacek 9dddb6f579 20000120-2.c: Use -fgnu89-inline.
* gcc.c-torture/compile/20000120-2.c: Use -fgnu89-inline.
	* gcc.c-torture/compile/20011119-1.c: Likewise.
	* gcc.c-torture/compile/20011119-2.c: Likewise.
	* gcc.c-torture/compile/20021120-1.c: Likewise.
	* gcc.c-torture/compile/20021120-2.c: Likewise.
	* gcc.c-torture/compile/20050215-1.c: Likewise.
	* gcc.c-torture/compile/20050215-2.c: Likewise.
	* gcc.c-torture/compile/20050215-3.c: Likewise.
	* gcc.c-torture/compile/pr37669.c: Likewise.
	* gcc.c-torture/execute/20020107-1.c: Likewise.
	* gcc.c-torture/execute/restrict-1.c: Likewise.
	* gcc.c-torture/compile/20090721-1.c: Fix defaulting to int.
	* gcc.c-torture/execute/930529-1.c: Likewise.
	* gcc.c-torture/execute/920612-1.c: Likewise.
	* gcc.c-torture/execute/920711-1.c: Likewise.
	* gcc.c-torture/execute/990127-2.c: Likewise.
	* gcc.c-torture/execute/pr40386.c: Likewise.
	* gcc.c-torture/execute/pr57124.c: Likewise.
	* gcc.c-torture/compile/pr34808.c: Add function declarations.
	* gcc.c-torture/compile/pr42299.c: Likewise.
	* gcc.c-torture/compile/pr48517.c: Use -std=gnu89.
	* gcc.c-torture/compile/simd-6.c: Likewise.
	* gcc.c-torture/execute/pr53645-2.c: Likewise.
	* gcc.c-torture/execute/pr53645.c: Likewise.
	* gcc.c-torture/execute/20001121-1.c: Use -fgnu89-inline.  Add function
	declarations.
	* gcc.c-torture/execute/980608-1.c: Likewise.
	* gcc.c-torture/execute/bcp-1.c: Likewise.
	* gcc.c-torture/execute/p18298.c: Likewise.
	* gcc.c-torture/execute/unroll-1.c: Likewise.
	* gcc.c-torture/execute/va-arg-7.c: Likewise.
	* gcc.c-torture/execute/va-arg-8.c: Likewise.
	* gcc.c-torture/execute/930526-1.c: Use -fgnu89-inline.  Add function
	declarations.  Fix defaulting to int.
	* gcc.c-torture/execute/961223-1.c: Likewise.
	* gcc.c-torture/execute/loop-2c.c: Use -fgnu89-inline and
	-Wno-pointer-to-int-cast.  Fix defaulting to int.

From-SVN: r215798
2014-10-02 09:37:53 +00:00
Jakub Jelinek 8a605c51cb re PR target/62128 (Use vpalignr for AVX2 rotation)
PR target/62128
	* config/i386/i386.c (expand_vec_perm_1): Try expand_vec_perm_palignr
	if it expands to a single insn only.
	(expand_vec_perm_palignr): Add SINGLE_INSN_ONLY_P argument.  If true,
	fail unless in_order is true.  Add forward declaration.
	(expand_vec_perm_vperm2f128): Fix up comment about which permutation
	is useful for one_operand_p.
	(ix86_expand_vec_perm_const_1): Adjust expand_vec_perm_palignr caller.

From-SVN: r215796
2014-10-02 09:29:49 +02:00
Jan Hubicka 5ae5a2386e cgraphclones.c (build_function_type_skip_args): Do not make new type variant of old.
* cgraphclones.c (build_function_type_skip_args): Do not make new
	type variant of old.

From-SVN: r215795
2014-10-02 07:07:04 +00:00
Jan Hubicka 5ce97055e0 ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE when speculation is added.
* ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE
	when speculation is added.
	(ipa_edge_args): Add polymorphic_call_contexts.
	(ipa_get_ith_polymorhic_call_context): New accesor.
	(ipa_make_edge_direct_to_target): Add SPECULATIVE parameter.
	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Print contexts.
	(ipa_compute_jump_functions_for_edge): Compute contexts.
	(update_jump_functions_after_inlining): Update contexts.
	(ipa_make_edge_direct_to_target): Add SPECULATIVE argument;
	update dumping; add speculative edge creation.
	(try_make_edge_direct_virtual_call): Add CTX_PTR parameter; handle
	context updating.
	(update_indirect_edges_after_inlining): Pass down context.
	(ipa_edge_duplication_hook): Duplicate contexts.
	(ipa_write_node_info): Stream out contexts.
	(ipa_read_node_info): Stream in contexts.
	* ipa-devirt.c (type_all_derivations_known_p): Avoid ICE on non-ODR
	types.
	(try_speculative_devirtualization): New function.
	* ipa-utils.h (try_speculative_devirtualization): Declare.

From-SVN: r215794
2014-10-02 07:03:15 +00:00
Andrew Pinski 9fbbb20da5 gcc/testsuite/
2014-10-01  Andrew Pinski  <apinski@cavium.com>
            Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* lib/ubsan-dg.exp
	(check_effective_target_fsanitize_address): New function.
	(ubsan_init): Save off ALWAYS_CXXFLAGS.
	(ubsan_finish): Restore ALWAYS_CXXFLAGS correctly.
	* lib/asan-dg.exp
	(check_effective_target_faddress_sanitizer): Rename to ...
	(check_effective_target_fsanitize_address): ... this. Change to creating
	an executable.
	(asan_init): Save off ALWAYS_CXXFLAGS.
	(asan_finish): Restore ALWAYS_CXXFLAGS correctly.
	* lib/tsan-dg.exp
	(check_effective_target_fthread_sanitizer): Rename to ...
	(check_effective_target_fsanitize_thread): ... this. Change to creating
	an executable.
	(tsan_init): Save off ALWAYS_CXXFLAGS.
	(tsan_finish): Restore ALWAYS_CXXFLAGS correctly. Set dg-do-what-default
	to run as a default behaviour.
	* gcc.dg/ubsan/ubsan.exp: Don't check the return value of ubsan_init.
	Check check_effective_target_fsanitize_undefined before running the
	tests.
	* g++.dg/ubsan/ubsan.exp: Likewise.
	* gcc.dg/asan/asan.exp: Don't check the return value of asan_init.
	check_effective_target_fsanitize_address too early.
	Check check_effective_target_fsanitize_address before running the tests.
	* g++.dg/asan/asan.exp: Likewise.
	* gcc.dg/tsan/tsan.exp: Don't check the return value of tsan_init.
	check_effective_target_fsanitize_thread too early.
	Check check_effective_target_fsanitize_thread before running the tests.
	* g++.dg/tsan/tsan.exp: Likewise.

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>

From-SVN: r215793
2014-10-02 09:35:49 +03:00
Jan Hubicka 9189aff736 ipa.c (walk_polymorphic_call_targets): Avoid ICE when dumping during WPA.
* ipa.c (walk_polymorphic_call_targets): Avoid ICE when
	dumping during WPA.

From-SVN: r215792
2014-10-02 05:49:32 +00:00
Jan Hubicka fe7bf32edf ipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants.
* ipa-prop.c (ipa_modify_formal_parameters): Do not merge
	type variants.

From-SVN: r215791
2014-10-02 05:34:21 +00:00
Jan Hubicka 67a1b94ce3 * ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class):
	Rename EXPECTED_TYPE to OTR_TYPE; Validate speculation late;
	use speculation_consistent_p to do so; Add CONSDER_BASES
	and CONSIDER_PLACEMENT_NEW parameters.
	(contains_type_p): Add CONSDER_PLACEMENT_NEW and CONSIDER_BASES;
	short circuit obvious cases.
	(ipa_polymorphic_call_context::dump): Improve formatting.
	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Use
	combine_speculation_with to record speculations; Do not ICE when
	object is located in pointer type decl; do not ICE for methods
	of UNION_TYPE; do not record nonpolymorphic types.
	(ipa_polymorphic_call_context::speculation_consistent_p): New method.
	(ipa_polymorphic_call_context::combine_speculation_with): New method.
	(ipa_polymorphic_call_context::combine_with): New method.
	(ipa_polymorphic_call_context::make_speculative): Move here; use
	combine speculation.
	* cgraph.h (ipa_polymorphic_call_context): Update
	restrict_to_inner_class prototype; add offset_by, make_speculative, 
	combine_with, useless_p, combine_speculation_with and
	speculation_consistent_p methods.
	(ipa_polymorphic_call_context::offset_by): New method.
	(ipa_polymorphic_call_context::useless_p): New method.

From-SVN: r215790
2014-10-02 04:45:44 +00:00
Segher Boessenkool fef32cf89f re PR rtl-optimization/62151 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2014-10-01  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	PR rtl-optimization/62151
	* combine.c (can_combine_p): Allow the destination register of INSN
	to be clobbered in I3.
	(subst): Do not substitute into clobbers of registers.

gcc/testsuite/
	* gcc.dg/combine-clobber.c: New.

From-SVN: r215789
2014-10-02 04:18:01 +02:00
GCC Administrator 3f4dd27a6e Daily bump.
From-SVN: r215788
2014-10-02 00:16:20 +00:00
Bernd Edlinger dc257367bb charset.c (convert_no_conversion): Reallocate memory with 25% headroom.
2014-10-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
            Jeff Law  <law@redhat.com>

        * charset.c (convert_no_conversion): Reallocate memory with 25%
        headroom.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r215785
2014-10-02 00:06:28 +00:00
Jakub Jelinek 7faa2dfdd7 re PR debug/63342 (ICE in loc_list_from_tree, at dwarf2out.c:14698)
PR debug/63342
	* dwarf2out.c (loc_list_from_tree): Handle MEM_REF with non-zero
	offset, TARGET_MEM_REF and SSA_NAME.

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

From-SVN: r215782
2014-10-01 22:51:34 +02:00
Jakub Jelinek af27dfc447 re PR c++/63306 (ICE: Segmentation fault in analyze_functions())
PR c++/63306
	* g++.dg/ipa/pr63306.C: New test.

From-SVN: r215779
2014-10-01 22:42:23 +02:00
Jakub Jelinek 7cf4833e8d i386.c (expand_vec_perm_palignr): Handle 256-bit vectors for TARGET_AVX2.
* config/i386/i386.c (expand_vec_perm_palignr): Handle
	256-bit vectors for TARGET_AVX2.

From-SVN: r215778
2014-10-01 22:41:37 +02:00