PR tree-optimization/54717
	* tree-ssa-pre.c (do_partial_partial_insertion): Consider also edges
	with ANTIC_IN.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193553 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/54073
	* config/i386/i386.md (mov<mode>cc): Use comparison_operator
	instead of ordered_comparison_operator resp.
	ix86_fp_comparison_operator predicates.
	* config/i386/i386.c (ix86_expand_fp_movcc): Reject TImode
	or for -m32 DImode comparisons.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193554 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/mv1.C (dg-options): Add -march=x86-64.
	* g++.dg/mv6.C (dg-options): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193555 138bc75d-0d04-0410-961f-82ee72b054a4
	* ChangeLog: Add ChangeLog entry for my last commit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193556 138bc75d-0d04-0410-961f-82ee72b054a4
Define/use hardware pointer type for stack unwind

	PR other/55333
	* include/sanitizer/common_interface_defs.h (uhwptr): New type
	for hardware pointer.
	* sanitizer_common/sanitizer_stacktrace.cc (StackTrace::FastUnwindStack):
	Replace uptr with uhwptr for stack unwind.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193557 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/55337
	* tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P
	only on SIZEOF_EXPR.

	* g++.dg/template/alignof2.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193558 138bc75d-0d04-0410-961f-82ee72b054a4
	* lib/target-supports.exp
	(check_effective_target_has_w_floating_suffix): Use options for c++ only.
	(check_effective_target_has_q_floating_suffix): Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193559 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-16  Matthias Klose  <doko@ubuntu.com>

        * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
        * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
        Include pa/t-linux.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193560 138bc75d-0d04-0410-961f-82ee72b054a4
	* configure.ac: Invoke AM_MAINTAINER_MODE.
	* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
	interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193561 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/54875 -  Error with alias template that resolves to an enum

Consider this short example:

     1	template<typename T>
     2	using AddConst = T const;
     3
     4	enum FwdEnum : int;
     5
     6	int main() {
     7	  AddConst<FwdEnum> *ptr = nullptr;
     8	}

At line 7, when we build the type for AddConst<FwdEnum> in
lookup_template_class_1, the resulting type is the enum FwdEnum.  This
confuses lookup_template_class_1 near the if below, wrongly making it
taking the branch and thus calling tsubst_enum while it shouldn't:

      if (TREE_CODE (t) == ENUMERAL_TYPE && !is_dependent_type)
	/* Now that the type has been registered on the instantiations
	   list, we set up the enumerators.  Because the enumeration
	   constants may involve the enumeration type itself, we make
	   sure to register the type first, and then create the
	   constants.  That way, doing tsubst_expr for the enumeration
	   constants won't result in recursive calls here; we'll find
	   the instantiation and exit above.  */
	tsubst_enum (template_type, t, arglist);

Before the alias template feature, the only reason why TREE_CODE (t)
== ENUMERAL_TYPE would be true is when lookup_template_class_1 is
called for an enum that is a member of a class template.  But that
condition can be also true for an alias template instantiation.

So I guess that condition should be changed to TREE_CODE
(template_type) == ENUMERAL_TYPE, to specifically detect the member
enum of a class template case.  Note that for the alias template
instantiation case above, template_type points to a TEMPLATE_TYPE_PARM
which name is AddConst.

This is what the patchlet below does.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

	* pt.c (lookup_template_class_1): Look at the type of the
	potential member enum of class template to determine if we are
	actually substituting into a member enum of class template.

gcc/testsuite/

	* g++.dg/cpp0x/alias-decl-27.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193562 138bc75d-0d04-0410-961f-82ee72b054a4
	* lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.
	* gcc.dg/hoist-register-pressure-1.c: Cleanup hoist rtl dump.
	* gcc.dg/hoist-register-pressure-2.c: Ditto.
	* gcc.dg/hoist-register-pressure-3.c: Ditto.
	* gcc.dg/tree-prof/peel-1.c: Cleanup loop2_unroll rtl dump.
	* gcc.dg/tree-prof/unroll-1.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193563 138bc75d-0d04-0410-961f-82ee72b054a4
	* Make-lang.in (gccgo$(exeext)): Add + at start of command.
	(go1$(exeext)): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193564 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: don't remove floating point conversion of typed constant


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193565 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55330
	* lra-constraints.c (MAX_INHERITANCE_PASSES): New macro.
	(lra_inheritance, lra_undo_inheritance): Use it to limit number of
	the passes.

2012-11-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55330
	* gfortran.dg/pr55330.f90: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193567 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55297
	* resolve.c (resolve_typebound_intrinsic_op): Only add typebound
	operators to the operator list in the namespace of the derived type.

2012-11-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55297
	* gfortran.dg/typebound_operator_18.f90: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193568 138bc75d-0d04-0410-961f-82ee72b054a4

    * include/cpplib.h (struct cpp_options): Add canonical_system_headers.
    * files.c (find_file_in_dir): Call maybe_shorter_path() only if
    canonical_system_headers is set.
    * init.c (cpp_create_reader): Initialize canonical_system_headers.
    * configure.ac: Add new --enable-canonical-system-headers.
    * configure: Regenerate.
    * config.in: Regenerate.

    * doc/cppopts.texi: Document -f[no-]canonical-system-headers.
    * doc/install.texi: Document --enable-canonical-system-headers.

    * c.opt: Add f[no-]canonical-system-headers.
    * c-opts.c (c_common_handle_option): Handle
    OPT_fcanonical_system_headers.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193569 138bc75d-0d04-0410-961f-82ee72b054a4

	* params.def (max-peeled-insns, max-completely-peeled-insns): Reduce to 100.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193570 138bc75d-0d04-0410-961f-82ee72b054a4
Fix commit of testcase which got truncated somehow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193571 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/libstdc++-prettyprinters/whatis.cc: New file.
	* testsuite/lib/gdb-test.exp (whatis-test): New proc.
	(gdb-test): Handle 'whatis' tests.
	(gdb_batch_check): New proc.
	(gdb_version_check): Rewrite to use gdb_batch_check.
	* python/libstdcxx/v6/printers.py: Import gdb.types.
	(FilteringTypePrinter): New class.
	(add_one_type_printer, register_type_printers): New functions.
	(register_libstdcxx_printers): Call register_type_printers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193573 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-16  Matthias Klose  <doko@ubuntu.com>

        * Imported zlib 1.2.7; merged local changes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193574 138bc75d-0d04-0410-961f-82ee72b054a4