* include/std/functional (function::function(F)): LWG 2132: Disable
	constructor if argument isn't callable.
	* testsuite/20_util/function/cons/callable.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186947 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51795
	* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
	(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
	__lg(long long), __lg(unsigned long long)): Define constexpr.
	* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
	limitations.
	(__mod): Adjust.
	(linear_congruential): Remove FIXME static_assert.
	* include/bits/random.tcc (_Mod<>): Adjust.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	51795.cc: New.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186952 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* doc/invoke.texi (Wmissing-format-attribute): Document as an
	alias of Wsuggest-attribute=format.
c-family/
	* c.opt (Wsuggest-attribute=format): New. Alias of
	Wmissing-format-attribute.
	* c-format.c (decode_format_type): Replace
	Wmissing-format-attribute with Wsuggest-attribute=format.
	(check_function_format): Likewise.
cp/
	* typeck.c (convert_for_assignment):  Replace
	Wmissing-format-attribute with Wsuggest-attribute=format.
	* call.c (convert_for_arg_passing): Likewise.
gcc/
	* c-typeck.c (convert_for_assignment): Replace
	Wmissing-format-attribute with Wsuggest-attribute=format.
	(digest_init): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186955 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/gigi.h (mark_out_of_scope): Delete.
	(destroy_gnat_to_gnu): Declare.
	(destroy_dummy_type): Likewise.
	* gcc-interface/decl.c (mark_out_of_scope): Delete.
	* gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
	(destroy_dummy_type): Likewise.
	* gcc-interface/trans.c (gnat_validate_uc_list): New variable.
	(gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
	after the translation is completed.  Call destroy_gnat_to_gnu and
	destroy_dummy_type at the end.
	(Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
	(gnat_to_gnu) <N_Block_Statement>: Likewise.
	<N_Validate_Unchecked_Conversion>: Do not process the node, only push
	it onto gnat_validate_uc_list.
	(validate_unchecked_conversion): New function.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186956 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * c-common.c (check_function_arguments): Replace
        Wmissing-format-attribute with Wsuggest-attribute=format.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186957 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
	predicate to discriminate types.
ada/
	* gcc-interface/utils.c (finish_record_type): Force the traditional GCC
	layout for bitfields on the type if it is packed or has a representation
	clause and an alternate layout is available.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186958 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
	do not adjust the size of a tagged type if there is a representation
	clause on it.  Otherwise, round the adjustment up to the alignment
	of the first field and use the appropriate helper routine.
	(maybe_pad_type): Do not warn in type annotation mode on a tagged type.
	(gnat_to_gnu_field): Do not error out under the same circumstances.
	(annotate_rep): In type annotation mode, do not adjust the offset of
	components of a tagged type with representation clause.  Otherwise,
	round the adjustment up to the alignment of the first field.


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