Commit Graph

125033 Commits

Author SHA1 Message Date
Paolo Carlini 802e8b38a1 re PR c++/58190 (FAIL: g++.dg/pr57878.C (test for excess errors) on x86_64-apple-darwin10)
2013-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58190
	* g++.dg/pr57878.C: Use __SIZE_TYPE__.

From-SVN: r201874
2013-08-20 11:39:15 +00:00
Gabriel Dos Reis 8ccb81bdb8 error.c (pp_ggc_formatted_text): New.
* error.c (pp_ggc_formatted_text): New.
	(type_as_string): Use it in lieu of pp_formatted_text.
	(type_as_string_translate): Likewise.
	(expr_as_string): Likewise.
	(decl_as_string): Likewise.
	(decl_as_string_translate): Likewise.
	(lang_decl_name): Likewise.
	(decl_to_string): Likewise.
	(expr_to_string): Likewise.
	(fndecl_to_string): Likewise.
	(parm_to_string): Likewise.
	(type_to_string): Likewise.
	(args_to_string): Likewise.
	(subst_to_string): Likewise.

From-SVN: r201873
2013-08-20 11:23:30 +00:00
Tim Shen f6f0407c4c regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type.
2013-08-20  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_constants.h: Add underlying `unsigned int` for
	  enum syntax_option_type.

From-SVN: r201872
2013-08-20 10:36:42 +00:00
Pavel Chupin 8edb8dc817 Fix LIB_SPEC for systems without libpthread.
* config/gnu-user.h: Introduce GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC.
	* config/arm/linux-eabi.h: Use GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC
	for Android.
	* config/i386/linux-common.h: Likewise.
	* config/mips/linux-common.h: Likewise.

From-SVN: r201871
2013-08-20 08:31:40 +00:00
Zhouyi Zhou d71ff3faa1 tree-ssa-ccp.c (get_default_value): Remove redundant condition checks.
* tree-ssa-ccp.c (get_default_value): Remove redundant condition
       checks.

From-SVN: r201870
2013-08-20 00:25:10 -06:00
Alan Modra a98cbc3694 floatformat.h (floatformat_ibm_long_double): Delete.
include/
	* floatformat.h (floatformat_ibm_long_double): Delete.
	(floatformat_ibm_long_double_big): Declare.
	(floatformat_ibm_long_double_little): Declare.
libiberty/
	* floatformat.c (floatformat_ibm_long_double): Rename to..
	(floatformat_ibm_long_double_big): ..this.
	(floatformat_ibm_long_double_little): New.

From-SVN: r201869
2013-08-20 15:01:41 +09:30
Benjamin De Kosnik 6a56e2dd33 MAINTAINERS: Update name, email.
2013-08-19  Benjamin De Kosnik  <bkoz@gnu.org>

	* MAINTAINERS: Update name, email.

From-SVN: r201868
2013-08-20 03:10:19 +00:00
Balaji V. Iyer 318cda8521 re PR c/57490 (ICE on c-c++-common/cilk-plus/AN/an-if.c)
Fix for PR c/57490.

gcc/c/ChangeLog
+2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR c/57490
+       * c-array-notation.c (fix_conditional_array_notations_1): Added a
+       check for truth values.
+       (expand_array_notation_exprs): Added truth values case.  Removed an
+       unwanted else.  Added for-loop to walk through subtrees in default
+       case.
+

gcc/cp/ChangeLog
+2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR c/57490
+       * cp-array-notation.c (cp_expand_cond_array_notations): Added a
+       check for truth values.
+       (expand_array_notation_exprs): Added truth values case.  Removed an
+       unwanted else.  Added for-loop to walk through subtrees in default
+       case.
+       * call.c (build_cxx_call): Inherited the type of the array notation for
+       certain built-in array notation functions.
+

gcc/testsuite/ChangeLog
+2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR c/57490
+       * c-c++-common/cilk-plus/AN/pr57490.c: New test.
+

From-SVN: r201867
2013-08-19 18:10:56 -07:00
David Malcolm e42c64cb6d Make opt_pass and gcc::pass_manager be GC-managed
2013-08-20  David Malcolm  <dmalcolm@redhat.com>

	Make opt_pass and gcc::pass_manager be GC-managed, so that pass
	instances can own GC refs.

	* Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h.
	* context.c (gcc::context::gt_ggc_mx): Traverse passes_.
	(gcc::context::gt_pch_nx): Likewise.
	(gcc::context::gt_pch_nx):  Likewise.
	* ggc.h (gt_ggc_mx <T>): New.
	(gt_pch_nx_with_op <T>): New.
	(gt_pch_nx <T>): New.
	* passes.c (opt_pass::gt_ggc_mx): New.
	(opt_pass::gt_pch_nx): New.
	(opt_pass::gt_pch_nx_with_op): New.
	(pass_manager::gt_ggc_mx): New.
	(pass_manager::gt_pch_nx): New.
	(pass_manager::gt_pch_nx_with_op): New.
	(pass_manager::operator new): Use
	ggc_internal_cleared_alloc_stat rather than xcalloc.
	* pass_manager.h (class pass_manager): Add GTY((user)) marking.
	(pass_manager::gt_ggc_mx): New.
	(pass_manager::gt_pch_nx): New.
	(pass_manager::gt_pch_nx_with_op): New.
	* tree-pass.h (class opt_pass): Add GTY((user)) marking.
	(opt_pass::operator new): New.
	(opt_pass::gt_ggc_mx): New.
	(opt_pass::gt_pch_nx): New.
	(opt_pass::gt_pch_nx_with_op): New.

From-SVN: r201865
2013-08-20 00:54:49 +00:00
David Malcolm 910c02a071 Make gcc::context be GC-managed
* Makefile.in (GTFILES): Add context.h.
	* context.c (gcc::context::operator new): New.
	(gcc::context::gt_ggc_mx): New.
	(gcc::context::gt_pch_nx): New.
	(gcc::context::gt_pch_nx): New.
	* context.h (gcc::context): Add GTY((user)) marking.
	(gcc::context::operator new): New.
	(gcc::context::gt_ggc_mx): New.
	(gcc::context::gt_pch_nx): New.
	(gcc::context::gt_pch_nx): New.
	(g): Add GTY marking.
	(gt_ggc_mx (gcc::context *)): New.
	(gt_pch_nx (gcc::context *)): New.
	(gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op,
	void *cookie)): New.
	* gengtype.c (open_base_files) <ifiles>: Add context.h.

From-SVN: r201864
2013-08-20 00:48:14 +00:00
GCC Administrator c28878251a Daily bump.
From-SVN: r201863
2013-08-20 00:16:58 +00:00
Alan Modra af4b4236a4 re PR target/57865 (Broken _save64gpr and _rest64gpr usage)
PR target/57865
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
	(rs6000_emit_epilogue): Likewise.

From-SVN: r201860
2013-08-20 09:09:05 +09:30
Dehao Chen 0d6332222b value-prof.c (gimple_ic): Fix the bug of adding EH edge.
2013-08-19  Dehao Chen (dehao@google.com)

        * value-prof.c (gimple_ic): Fix the bug of adding EH edge.

From-SVN: r201859
2013-08-19 22:14:00 +00:00
Dehao Chen f524d0aa99 dwarf2.def (DW_AT_GNU_discriminator): New attribute.
2013-08-19  Dehao Chen  <dehao@google.com>

	* dwarf2.def (DW_AT_GNU_discriminator): New attribute.

From-SVN: r201855
2013-08-19 20:11:09 +00:00
Peter Bergner e2323f5b33 builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin.
gcc/
	* builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin.
	(BUILT_IN_FABSD64): Likewise.
	(BUILT_IN_FABSD128): Likewise.
	* builtins.c (expand_builtin): Add support for new DFP ABS builtins.
	(fold_builtin_1): Likewise.
	* config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping destination
	and source operands.
	(*abstd2_fpr): Likewise.
	(*nabstd2_fpr): Likewise.

gcc/testsuite/
	* gcc.target/powerpc/dfp-dd-2.c: New test.
	* gcc.target/powerpc/dfp-td-2.c: Likewise.
	* gcc.target/powerpc/dfp-td-3.c: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r201849
2013-08-19 12:49:33 -05:00
Richard Sandiford 7a3def9768 mulsize-1.c: Check for SLL as well as SUBU.
gcc/testsuite/
	* gcc.target/mips/mulsize-1.c: Check for SLL as well as SUBU.
	* gcc.target/mips/mulsize-2.c: Check for ADDU rather than SUBU.
	Check for SLL too.

From-SVN: r201848
2013-08-19 17:35:57 +00:00
Richard Sandiford cfbf3ee885 mips.c (mips_adjust_insn_length): Add checks for JUMP_P and INSN_P.
gcc/
	* config/mips/mips.c (mips_adjust_insn_length): Add checks for
	JUMP_P and INSN_P.

From-SVN: r201847
2013-08-19 17:29:59 +00:00
Aldy Hernandez d3136aeb7a invoke.texi (-fcilkplus): Clarify that implementation is incomplete.
* doc/invoke.texi (-fcilkplus): Clarify that implementation is
	incomplete.

From-SVN: r201846
2013-08-19 17:19:38 +00:00
Joern Rennecke 266694cd11 * gcc.dg/tree-ssa/vrp87.c [avr-*-*] (dg-additional-options): New.
From-SVN: r201845
2013-08-19 18:01:23 +01:00
Joern Rennecke 49f032040e re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
        * gcc.dg/tree-ssa/pr31261.c [int16]: Change expected unsigned type.
        * gcc.dg/tree-ssa/ssa-pre-21.c [! size32plus]: Mark as xfail.
        * gcc.dg/tree-ssa/vector-4.c (SItype): New typedef.
        (v4si): Use it.
        * gcc.dg/tree-ssa/ssa-pre-30.c: Test requires int32.
        * gcc.dg/tree-ssa/vrp58.c: Adjust scan expression for int16.

From-SVN: r201844
2013-08-19 16:16:45 +01:00
Joern Rennecke 89b1fbefef vrp55.c: Use keeps_null_pointer_checks to determine correct test response.
* gcc.dg/tree-ssa/vrp55.c: Use keeps_null_pointer_checks to determine
        correct test response.

From-SVN: r201843
2013-08-19 16:13:33 +01:00
Joern Rennecke dced9cd71a ssa-dom-thread-4.c [avr-*-*]: Expect 6 times "Threaded".
* gcc.dg/tree-ssa/ssa-dom-thread-4.c [avr-*-*]: Expect 6 times
        "Threaded".

From-SVN: r201842
2013-08-19 16:11:55 +01:00
Paolo Carlini 9485d254d1 parser.c (cp_parser_lambda_introducer, [...]): Use cp_parser_lookup_name_simple.
2013-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_lambda_introducer, cp_parser_decltype_expr):
	Use cp_parser_lookup_name_simple.

2013-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* name-lookup.h (pop_bindings_and_leave_scope): Declare.
	* name-lookup.c (pop_bindings_and_leave_scope): Define.
	* parser.c (cp_parser_lambda_declarator_opt,
	cp_parser_direct_declarator, cp_parser_cache_defarg): Use it.

From-SVN: r201839
2013-08-19 14:23:37 +00:00
Alexander Ivchenko d33d9e47d4 target.def (TARGET_LIBC_HAS_FUNCTION): New target hook.
* target.def (TARGET_LIBC_HAS_FUNCTION): New target hook.
	* builtins.c (default_libc_has_function): New.
	(gnu_libc_has_function): Ditto.
	(no_c99_libc_has_function): Ditto.
	(expand_builtin_cexpi): Using new target hook TARGET_LIBC_HAS_FUNCTION
	instead of TARGET_HAS_SINCOS and TARGET_C99_FUNCTIONS.
	(fold_builtin_sincos): Likewise.
	(fold_builtin_cexp): Likewise.
	* builtins.def (DEF_C94_BUILTIN): Likewise.
	(DEF_C99_BUILTIN): Likewise.
	(DEF_C99_C90RES_BUILTIN): Likewise.
	(DEF_C99_COMPL_BUILTIN): New define. Change all complex c99 builtin
	definitions to using this define.
	* config/darwin-protos.h (darwin_libc_has_function): New.
	* config/darwin.c: (darwin_libc_has_function: Ditto.
	* config/alpha/linux.h: Remove TARGET_C99_FUNCTIONS and
	TARGET_HAS_SINCOS. Redefine TARGET_LIBC_HAS_FUNCTION.
	* config/darwin.h: Ditto.
	* config/elfos.h: Ditto.
	* config/freebsd.h: Ditto.
	* config/i386/cygming.h: Ditto.
	* config/i386/djgpp.h: Ditto.
	* config/i386/i386-interix.h: Ditto.
	* config/microblaze/microblaze.h: Ditto.
	* config/mmix/mmix.h: Ditto.
	* config/gnu-user.h: Ditto.
	* config/ia64/hpux.h: Ditto.
	* config/pa/pa-hpux.h: Ditto.
	* config/pdp11/pdp11.h: Ditto.
	* config/picochip/picochip.h: Ditto.
	* config/linux.h: Ditto.
	* config/netbsd.h: Ditto.
	* config/openbsd.h: Ditto.
	* config/rs6000/aix43.h: Ditto.
	* config/rs6000/aix51.h: Ditto.
	* config/rs6000/aix52.h: Ditto.
	* config/rs6000/aix53.h: Ditto.
	* config/rs6000/aix61.h: Ditto.
	* config/rs6000/darwin.h: Ditto.
	* config/rs6000/linux.h: Ditto.
	* config/rs6000/linux64.h: Ditto.
	* config/s390/tpf.h: Ditto.
	* config/sol2-10.h: Ditto.
	* config/sol2.h: Ditto.
	* config/vms/vms.h: Ditto.
	* config/vxworks.h: Ditto.
	* config/linux-android.c (linux_android_libc_has_function):
	New linux-specific implementation of TARGET_LIBC_HAS_FUNCTION.
	* config/linux-protos.h (linux_android_libc_has_function):
	New declaration.
	* config/i386/i386.c (ix86_libc_has_function): New.
	* config/i386/i386-protos.h
	(ix86_libc_has_function): New declaration.
	* config/i386/i386.md
	("isinfxf2"): Change condition for TARGET_LIBC_HAS_FUNCTION.
	("isinf<mode>2): Likewise.
	* convert.c (convert_to_integer): Using new target hook
	TARGET_LIBC_HAS_FUNCTION istead of TARGET_HAS_SINCOS and
	TARGET_C99_FUNCTIONS.
	* fortran/f95-lang.c (gfc_init_builtin_functions): Ditto.
	* tree-ssa-math-opts.c (execute_cse_sincos): Ditto.
	* coretypes.h (function_class): New enum for different
	classes of functions.
	* defaults.h: Remove TARGET_C99_FUNCTIONS and TARGET_HAS_SINCOS.
	* doc/tm.texi.in (TARGET_C99_FUNCTIONS): Remove documentation.
	(TARGET_HAS_SINCOS): Likewise.
	(TARGET_LIBC_HAS_FUNCTION): New.
	* doc/tm.texi: Regenerated.
	* targhooks.h (default_libc_has_function): New declaration.
	(no_c99_libc_has_function): Ditto.
	(gnu_libc_has_function): Ditto.
	* system.h: Add the poisoning of TARGET_C99_FUNCTIONS
	and TARGET_HAS_SINCOS.

From-SVN: r201838
2013-08-19 12:21:26 +00:00
Joern Rennecke 89138a6e3e * gcc.target/avr/progmem-error-1.cpp: Update linenumber of error.
From-SVN: r201837
2013-08-19 12:59:39 +01:00
Jan Hubicka eefe9a995c Makeifle-in (ipa-devirt.o): New.
* Makeifle-in (ipa-devirt.o): New.
	(GTFILES): Add ipa-utils.h and ipa-devirt.c
	* cgraphunit.c (decide_is_symbol_needed): Do not care about virtuals.
	(analyze_functions): Look into possible targets of polymorphic call.
	* dumpfile.c (dump_files): Add type-inheritance dump.
	* dumpfile.h (TDI_inheritance): New.
	* ipa-devirt.c: New file.
	* ipa-utils.h (odr_type_d): Forward declare.
	(odr_type): New type.
	(build_type_inheritance_graph): Declare.
	(possible_polymorphic_call_targets): Declare and introduce inline
	variant when only edge is pased.
	(dump_possible_polymorphic_call_targets): Likewise.
	* timevar.def (TV_IPA_INHERITANCE, TV_IPA_VIRTUAL_CALL): New.
	* tree.c (type_in_anonymous_namespace_p): Break out from ...
	(types_same_for_odr): ... here.
	* tree.h (type_in_anonymous_namespace_p): Declare.

	* g++.dg/ipa/type-inheritance-1.C: New testcase.

From-SVN: r201836
2013-08-19 10:14:06 +00:00
Janus Weil 5eb5ec2f30 re PR fortran/46271 ([F03] OpenMP default(none) and procedure pointers)
2013-08-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46271
	* openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.


2013-08-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46271
	* gfortran.dg/gomp/proc_ptr_1.f90: New.

From-SVN: r201835
2013-08-19 11:03:20 +02:00
GCC Administrator 247690cdfe Daily bump.
From-SVN: r201832
2013-08-19 00:16:48 +00:00
Iain Sandoe 9107b096ce re PR gcov-profile/58127 (37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10)
libgcc:

	PR gcov-profile/58127
	* libgcov.c (__gcov_indirect_call_callee): Don't make this a
	__thread var for emulated TLS.
	(__gcov_indirect_call_counters): Likewise.

From-SVN: r201829
2013-08-18 15:50:17 +00:00
Jakub Jelinek 29b894421e re PR tree-optimization/58006 (ICE compiling VegaStrike with -ffast-math -ftree-parallelize-loops=2)
PR tree-optimization/58006
	* tree-parloops.c (take_address_of): Don't ICE if get_name
	returns NULL.
	(eliminate_local_variables_stmt): Remove clobber stmts.

	* g++.dg/opt/pr58006.C: New test.

From-SVN: r201827
2013-08-18 17:23:24 +02:00
Eric Botcazou 4f219961f0 cgraphunit.c (handle_alias_pairs): Reset the alias flag after the error message is issued for an alias to...
* cgraphunit.c (handle_alias_pairs): Reset the alias flag after the
	error message is issued for an alias to undefined symbol.

From-SVN: r201826
2013-08-18 14:58:58 +00:00
Tim Shen ce645eb091 regex_automaton.h: _S_opcode_backref.
2013-08-18  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_automaton.h: _S_opcode_backref.
	* include/bits/regex_automaton.tcc: Backref automaton support.
	* include/bits/regex_compiler.tcc: Parsing support.
	* include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
	* include/bits/regex_executor.tcc: Add _S_opcode_backref support.
	* testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.

From-SVN: r201825
2013-08-18 13:55:48 +00:00
Jan Hubicka 1d5755efee cgraph.c (cgraph_create_indirect_edge): Discover polymorphic calls and record basic info into indirect_info.
* cgraph.c (cgraph_create_indirect_edge): Discover
	polymorphic calls and record basic info into indirect_info.
	* gimple-fold.c (gimple_fold_call): When doing BINFO based
	devirtualization, ignore objc function calls.
	* ipa-cp.c (initialize_node_lattices): Be ready for polymorphic
	call with no parm index info.
	* ipa-prop.c (ipa_analyze_call_uses): Likewise.
	* tree.c (virtual_method_call_p): New function.
	* tree.h (virtual_method_call_p): Declare.

From-SVN: r201824
2013-08-18 09:22:42 +00:00
Jason Merrill 34fdd6b31e re PR c++/58083 (ICE with lambda as default parameter of a template function)
PR c++/58083
	* name-lookup.c (push_class_level_binding_1): It's OK to push a
	lambda type after the enclosing type is complete.

From-SVN: r201822
2013-08-17 21:06:49 -04:00
GCC Administrator d709431600 Daily bump.
From-SVN: r201821
2013-08-18 00:16:26 +00:00
Gabriel Dos Reis 3c1ab1ab83 error.c (dump_scope): Add a cxx_pretty_printer parameter.
* error.c (dump_scope): Add a cxx_pretty_printer parameter.
	Adjust callers.
	(dump_template_argument): Likewise.
	(dump_template_argument_list): Likewise.
	(dump_template_parameter): Likewise.
	(dump_template_bindings): Likewise.
	(dump_alias_template_specialization): Likewise.
	(dump_type): Likewise.
	(dump_typename): Likewise.
	(dump_aggr_type): Likewise.
	(dump_type_prefix): Likewise.
	(dump_type_suffix): Likewise.
	(dump_global_iord): Likewise.
	(dump_simple_decl): Likewise.
	(dump_decl): Likewise.
	(dump_template_decl): Likewise.
	(dump_function_decl): Likewise.
	(dump_parameters): Likewise.
	(dump_ref_qualifier): Likewise.
	(dump_exception_spec): Likewise.
	(dump_function_name): Likewise.
	(dump_template_parms): Likewise.
	(dump_call_expr_args): Likewise.
	(dump_aggr_init_expr_args): Likewise.
	(dump_expr_list): Likewise.
	(dump_expr_init_vec): Likewise.
	(dump_expr): Likewise.
	(dump_binary_op): Likewise.
	(dump_unary_op): Likewise.

From-SVN: r201818
2013-08-17 20:31:02 +00:00
Jan Hubicka 5945bebf44 re PR middle-end/58179 (obj_type_ref ICE building libobjc)
PR middle-end/58179
	* tree.c (obj_type_ref_class): Do not ICE on non-method calls.

From-SVN: r201817
2013-08-17 18:14:18 +00:00
Ian Lance Taylor f4fca9d481 compiler: Don't generate value reference in range clause if receiver is a sink.
The panic in test/fixedbugs/bug454.go was caused by the generation of an unnecessary var reference when writing a range value into a sink. If the receiving variable is a sink, there's no need to dereference a possible NULL pointer.

Fixes Issue 24.

From-SVN: r201815
2013-08-17 18:04:35 +00:00
David Edelsohn 47fa5d2302 rs6000.md (rs6000_get_timebase_ppc32): Add length attribute.
* config/rs6000/rs6000.md (rs6000_get_timebase_ppc32): Add length
        attribute.

From-SVN: r201812
2013-08-16 20:43:38 -04:00
GCC Administrator ba1e0b793e Daily bump.
From-SVN: r201811
2013-08-17 00:16:32 +00:00
Maciej W. Rozycki 0f9bde1fac mips16.S (CE_STARTFN, CE_ENDFN): New macros.
* config/mips/mips16.S (CE_STARTFN, CE_ENDFN): New macros.
	(RET_FUNCTION): Use them in place of STARTFN and ENDFN.
	(CALL_STUB_NO_RET): Likewise.
	(CALL_STUB_RET): Likewise.
	* config/mips/libgcc-mips16.ver: Remove __mips16_call_stub and
	__mips16_ret call/return stub symbols.
	* config.host <mips*-*-linux>: For non-R5900 add t-slibgcc-libgcc
	to tmake_file.

Co-Authored-By: Catherine Moore <clm@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r201805
2013-08-16 22:23:29 +00:00
David Malcolm c74f54a0c1 Support "gcc" namespace in gengtype
gcc/
	* gengtype.c (type_for_name): Add special-case support for
	locating types within the "gcc::" namespace.
	(open_base_files): Emit a "using namespace gcc" directive.

From-SVN: r201800
2013-08-16 19:46:12 +00:00
Michael Meissner f758f2992f re PR target/58160 (Power8 fusion support has a bug that shows up in running spec 2006)
2013-08-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58160
	* config/rs6000/predicates.md (fusion_gpr_mem_load): Allow the
	memory rtx to contain ZERO_EXTEND and SIGN_EXTEND.

	* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Pass operands
	array instead of each individual operand as a separate argument.
	(emit_fusion_gpr_load): Likewise.
	(expand_fusion_gpr_load): Add new function declaration.

	* config/rs6000/rs6000.c (fusion_gpr_load_p): Change the calling
	signature to have the operands passed as an array, instead of as
	separate arguments.  Allow ZERO_EXTEND to be in the memory
	address, and also SIGN_EXTEND if -mpower8-fusion-sign.  Do not
	depend on the register live/dead flags when peepholes are run.
	(expand_fusion_gpr_load): New function to be called from the
	peephole2 pass, to change the register that addis sets to be the
	target register.
	(emit_fusion_gpr_load): Change the calling signature to have the
	operands passed as an array, instead of as separate arguments.
	Allow ZERO_EXTEND to be in the memory address, and also
	SIGN_EXTEND if -mpower8-fusion-sign.

	* config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): Delete unused
	unspec enumeration.
	(power8 fusion peephole/peephole2): Rework the fusion peepholes to
	adjust the register addis loads up in the peephole2 pass.  Do not
	depend on the register live/dead state when the peephole pass is
	done.

From-SVN: r201792
2013-08-16 15:28:13 +00:00
David Malcolm 158f4e4f46 Fix bad interaction between GTY((user)) and incomplete declarations
gcc/
	* gengtype.c (create_user_defined_type): Ensure that the kind
	is set to TYPE_USER_STRUCT, fixing a bug seen when an incomplete
	declaration is seen before the GTY((user)) marking.

From-SVN: r201791
2013-08-16 14:59:02 +00:00
Bernd Edlinger 22f8cea5d8 re PR target/58105 (wrong code generation for multiversioned functions)
PR target/58105
	* config/i386/i386.c (make_resolver_func): Set DECL_UNINLINABLE.

From-SVN: r201790
2013-08-16 15:22:36 +02:00
Jan Hubicka c49bdb2ee9 gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new arugment expected_type.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new
	arugment expected_type.
	(gimple_fold_call): Use it.
	* gimple.h (gimple_extract_devirt_binfo_from_cst): Update prototype.
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Update.
	* ipa-prop.c (ipa_analyze_virtual_call_uses): Use
	obj_type_ref_class.
	(try_make_edge_direct_virtual_call): Likewise.
	* tree.c (obj_type_ref_class): New.
	* tree.h (obj_type_ref_class): Use it.

From-SVN: r201789
2013-08-16 12:38:04 +00:00
Gabriel Dos Reis 4042dca916 sched-vis.c (rtl_slim_pp_initialized): Remove.
* sched-vis.c (rtl_slim_pp_initialized): Remove.
	(rtl_slim_pp): Likewise.
	(init_rtl_slim_pretty_print): Likewise.
	(dump_value_slim):  Don't call it.  Use local pretty printer.
	(dump_insn_slim): Likewise.
	(dump_rtl_slim): Likewise.
	(str_pattern_slim): Likewise.
	* tree-mudflap.c (mf_varname_tree): Use local pretty printer.
	Simplify.

From-SVN: r201785
2013-08-16 10:42:49 +00:00
Tim Shen 5073d50905 regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences.
2013-08-16  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h (regex_traits<>::transform_primary):
	Avoid past-the-end dereferences.

From-SVN: r201783
2013-08-16 09:06:31 +00:00
Jakub Jelinek 639dc669ec re PR tree-optimization/58164 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
PR tree-optimization/58164
	* gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
	walk gimple_goto_dest of GIMPLE_GOTO.

	* gcc.c-torture/compile/pr58164.c: New test.

From-SVN: r201782
2013-08-16 11:05:52 +02:00
Jakub Jelinek 7a46059462 re PR regression/58165 (internal compiler error: verify_flow_info)
PR tree-optimization/58165
	* tree-call-cdce.c (shrink_wrap_one_built_in_call): If
	bi_call must be the last stmt in a bb, don't split_block, instead
	use fallthru edge from it and give up if there is none.
	Release conds vector when returning early.

	* g++.dg/opt/pr58165.C: New test.

From-SVN: r201780
2013-08-16 10:57:29 +02:00