Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194936 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
	for discriminants inherited from parent record types.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194939 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/tilepro/gen-mul-tables.cc: Put copyright on one line.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194940 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
	in copyright years.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194941 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
	pack the field of the record type made for a misaligned type.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194942 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194945 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
	diagnostic for component size mismatch wrt volatile requirements.
	Add a gcc_unreachable() at the end of the checks for size.  Split
	the check on volatile for positions into one check on atomic and
	a subsequent one on volatile.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194946 138bc75d-0d04-0410-961f-82ee72b054a4
	* gnatvsn.ads (Current_Year): Bump to 2013.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194947 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54678
        * intrinsics/env.c (get_environment_variable_i8): Don't use
        uninitialized variable.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194948 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/42769
	PR fortran/45836
	PR fortran/45900
	* module.c (read_module): Don't reuse local symtree if the associated
	symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
	ambiguous.
	* resolve.c (resolve_call): Use symtree's name instead of symbol's to
	lookup the symtree.

	PR fortran/42769
	PR fortran/45836
	PR fortran/45900
	* gfortran.dg/use_23.f90: New test.
	* gfortran.dg/use_24.f90: New test.
	* gfortran.dg/use_25.f90: New test.
	* gfortran.dg/use_26.f90: New test.
	* gfortran.dg/use_27.f90: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194949 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/xml/manual/abi.xml: Update library and symbol versions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194950 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194952 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/PR53876
	PR fortran/PR54990
	PR fortran/PR54992
	* trans-array.c (build_array_ref): Check the TYPE_CANONICAL
	to see if it is GFC_CLASS_TYPE_P.
	* trans-expr.c (gfc_get_vptr_from_expr): The same.
	(gfc_conv_class_to_class): If the types are not the same,
	cast parmese->expr to the type of ctree.
	* trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
	CLASS components must be set.

2013-01-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/PR53876
	PR fortran/PR54990
	PR fortran/PR54992
	* gfortran.dg/class_array_15.f03: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194953 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/bits/unordered_map.h: Fix typo in comments.
	* doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
	counts for unordered associative containers.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194957 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/55847
	* src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
	string.

	PR libstdc++/55728
	* include/std/functional (bad_function_call::what()): Declare.
	* src/c++11/functional.cc (bad_function_call::what()): Define.
	* config/abi/pre/gnu.ver (bad_function_call::what()): Export.
	* testsuite/20_util/bad_function_call/what.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194958 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/52343 - error with alias template as template template argument

In the example accompanying this patch, check_instantiated_arg tries
to ensure that a non-type template argument should be a constant if it
has integral or enumeration type.

The problem is that an alias template which type-id is, e.g, an
integer, looks like an argument that has integral/enumeration type:
its TREE_TYPE is an integer type.  So check_instantiated_arg
mistenkaly barks that this integral non-type argument is not a
constant.

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

gcc/cp/

	PR c++/52343
	* pt.c (check_instantiated_arg): Allow type template arguments.

gcc/testsuite/

	PR c++/52343
	* g++.dg/cpp0x/alias-decl-29.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194960 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/55311 - Cannot specialize alias template with arg of type array of char

Consider this test case:

     1	template <const char *const C, typename T>
     2	struct A
     3	{};
     4
     5	struct B {};
     6
     7	extern constexpr char HELLO_WORLD[] = "hello world";
     8
     9	A<HELLO_WORLD, B> g; // <-- This works fine
    10
    11	template <typename T>
    12	using PartiallySpecialized = A<HELLO_WORLD, T>;  // <-- This fails
    13

At line 12 G++ fails to instantiate the alias template that has a
string variable initialized with a string literal, with the error
message:

    test.cc:12:46: error: ‘"hello world"’ is not a valid template argument of type ‘const char*’ because ‘"hello world"’ is not a variable
     using PartiallySpecialized = A<HELLO_WORLD, T>;  // <-- This fails
                                              ^

Note that instantiating the template A at line 9 with the same
arguments as in the problematic case above works.

This happens in the context of lookup_template_class_1, when it handles
the alias template instantiation A<HELLO_WORLD, T> and thus passes the
VAR_DECL for HELLO_WORLD to convert_nontype_argument.

Note that from there decay_conversion replaces the the VAR_DECL with
its STRING_CST initializer[1].  Latter on, convert_nontype_argument
checks that the HELLO_WORLD constant it received as argument was
indeed a VAR_DECL:

      else
	{
	  tree decl;

	  decl = ((TREE_CODE (expr) == ADDR_EXPR)
		  ? TREE_OPERAND (expr, 0) : expr);
	  if (TREE_CODE (decl) != VAR_DECL)
	    {
	      error ("%qE is not a valid template argument of type %qT "
		     "because %qE is not a variable",
		     expr, type, decl);
	      return NULL_TREE;
	    }

But the issue is, that VAR_DECL has been replaced by STRING_CST, so
the last 'if' above fails.

The fix is to teach decay_conversion to return the address of array,
rather than returning its initializer.

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

gcc/cp/

	PR c++/55311
	* pt.c (decay_conversion): Do not return the initializer of an array.

gcc/testsuite/

	PR c++/55311
	* g++.dg/cpp0x/alias-decl-30.C: New test.
	* g++.dg/init/array21.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194961 138bc75d-0d04-0410-961f-82ee72b054a4
2012-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * resolve.c (resolve_select_type): Reject intrinsic types for
        a non-unlimited-polymorphic selector.

2012-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * gfortran.dg/select_type_32.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194962 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-04  Richard Biener  <rguenther@suse.de>

	PR ada/864
	* gcc-interface/Make-lang.in (ada.install-common): Always apply
	program_transform_name.


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