Commit Graph

133105 Commits

Author SHA1 Message Date
Jakub Jelinek
76e06b73ee re PR tree-optimization/61403 (An opportunity for x86 gcc vectorizer (~40% gain))
PR tree-optimization/61403
	* config/i386/i386.c (expand_vec_perm_palignr): Fix a spelling
	error in comment.  Also optimize 256-bit vectors for AVX2
	or AVX (floating vectors only), provided the first permutation
	can be performed in one insn.

	* gcc.dg/torture/vshuf-32.inc: Add a new test 29.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r215866
2014-10-03 20:16:09 +02:00
Jing Yu
7705dfd11f Add aarch64 to list of targets that support gold.
2014-09-18  Jing Yu  <jingyu@google.com>
      * configure.ac: Add aarch64 to list of targets that support gold.
      * configure: Regenerate.

From-SVN: r215865
2014-10-03 17:38:00 +00:00
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