gcc.git
12 years agoPR c++/53528 C++11 attribute support
Dodji Seketeli [Mon, 8 Oct 2012 09:29:05 +0000 (09:29 +0000)]
PR c++/53528 C++11 attribute support

This patch implements the c++-11 generalized attributes, described in
the N2761 paper[1].

The idea is to modify the front-end to accept the new attribute syntax
(including alignas expressions) and to build an internal
representation similar to the one we already have for GNU attributes.

This lets us re-use our existing GNU attribute mechanisms to support
the generalized c++11 attributes.

The patch does change the existing internal representation to support
scoped attribute (aka attributes with namespaces), which is a concept
that doesn't exist in GNU attributes.  I have thus put all existing
GNU extension attributes into the "gnu" namespace.  For instance, in
C++-11, the "unused" attribute would be represented as
"[[gnu::unused]]".  Because there is no syntax for scoped attributes
in C, writting "__attribute__((unused))" unconditionnally refers to
the "unused" attribute in the "gnu" namespace.

Note that this patch follows a conservative understanding of the
specification by disallowing attributes appertaining to types, unless
they apply to a type definition.

Tested on x86_64-unknown-linux-gnu and powerpc64-unknown-linux-gnu.

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf

gcc/
* plugin.h (register_scoped_attributes): Declare new function.
* tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
(lookup_scoped_attribute_spec, cxx_11_attribute_p)
(get_attribute_name, get_attribute_namespace): Declare new functions.
(struct attribute_spec): Remove const qualifier from the members.
* tree.c (comp_type_attributes, private_lookup_attribute)
(lookup_ident_attribute, remove_attribute, merge_attribute)
(attribute_hash_list, attribute_list_contained): Use
get_attribute_name.
* attribs.c (decl_attributes): Don't crash on error_mark_node.
Forbid c++11 attributes appertaining to type-specifiers.
(attribute_hash): Remove global variable.
(attributes_table): New global variable.
(find_attribute_namespace, register_scoped_attribute): New static
functions.
(register_scoped_attributes, lookup_scoped_attribute_spec)
(cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
New public functions.
(init_attributes): Register all the GNU attributes into the "gnu"
namespace.
(register_attribute): Use register_scoped_attribute to register
the attribute into the "gnu" namespace.
(lookup_attribute_spec): Use lookup_scoped_attribute_spec to
lookup the attribute in the "gnu" namespace.
(decl_attributes): Use new get_attribute_namespace and
lookup_scoped_attribute_spec to consider attribute namespaces when
looking up attributes.  When operating in c++-11 mode, pass flag
ATTR_FLAG_CXX11 to the spec handler.

gcc/c-family/

* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
new functions.
* c-common.c (check_cxx_fundamental_alignment_constraints): New
static function.
(handle_aligned_attribute): In choose strictest alignment
among many.  Use new check_cxx_fundamental_alignment_constraints.
(handle_transparent_union_attribute): In c++11 attribute syntax,
don't look through typedefs.

gcc/cp/

* cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
(enum cp_decl_spec::ds_std_attribute): New enumerator.
(struct cp_decl_specifier_seq::std_attributes): New field.
(cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
new functions.
(check_tag_decl): Take an extra parameter for explicit
instantiations.
* decl.c (warn_misplaced_attr_for_class_type): Extract from ...
(check_tag_decl): ... here.  Add check for c++11 attributes being
applied to an explicit instantiation.  Take an extra parameter for
explicit instantiations.
(grokdeclarator): Make sure a c++11 attribute after an array
declarator appertains to the array, an attribute after a function
declarator appertains to the function type, an attribute after a
declarator-id appertains to the entity being declared, and an
attribute after a pointer declarator appertains to the pointer.
* decl2.c (is_late_template_attribute): Use get_attribute_name.
* error.c (maybe_warn_cpp0x): Support
CPP0X_GENERALIZED_ATTRIBUTES.
* parser.c (cp_next_tokens_can_be_attribute_p)
(cp_next_tokens_can_be_gnu_attribute_p)
(cp_next_tokens_can_be_std_attribute_p)
(cp_nth_tokens_can_be_attribute_p)
(cp_nth_tokens_can_be_gnu_attribute_p)
(cp_nth_tokens_can_be_std_attribute_p)
(cp_parser_gnu_attribute_list, cp_parser_std_attribute)
(cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
(cp_parser_attributes_opt, cp_parser_std_attribute_list): New
static functions.
(cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
(cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
(cp_parser_postfix_expression): Disallow "[[" tokens here.
(cp_parser_label_for_labeled_statement): Use take an extra
parameter for attributes.
(cp_parser_block_declaration): Use
cp_nth_tokens_can_be_std_attribute_p here.
(cp_parser_decl_specifier_seq): Likewise.  Store C++11 attributes
that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
declaration.  Emit proper warning about misplaced c++11 attributes
for class type.
(cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
(cp_parser_init_declarator):  Parsing attributes here is no more a
GNU extension in c++-11.
(cp_parser_type_specifier_seq): Use
cp_next_tokens_can_be_attribute_p.
(cp_parser_direct_declarator): Likewise.  Hang c++11 attributes
following the declarator to its syntactic construct.  It'll later
be applied to the proper appertaining entity by grokdeclarator.
(cp_parser_ptr_operator): Likewise.
(make_declarator): Initialize cp_declarator::std_attribute.
(make_pointer_declarator, make_reference_declarator)
(make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
attributes that appertain to the pointer/reference in argument.
(cp_parser_ptr_operator): Take an out parameter for c++11
attributes.  Update comments.
(cp_parser_new_declarator_opt)
(cp_parser_conversion_declarator_opt): Adjust.
(cp_parser_declarator): Likewise.  Handle C++11 attributes.
Rename attributes to gnu_attribute for better legibility.
(cp_parser_simple_declaration): Update comment.
(cp_parser_class_specifier_1): Parse GNU attributes specifically
(cp_parser_enum_specifier): Accept only gnu attributes after the
specifier.
(cp_parser_member_declaration): Don't clear attributes -- intended
for the entity being declared -- too early because check_tag_decl
needs them.
(cp_parser_statement): Update comment.  Parse optional c++11
attributes at the beginning of the relevant kind of statements and
ignore them, for now, unless when calling
cp_parser_label_for_labeled_statement.
(cp_parser_label_for_labeled_statement): Take c++11 attributes
in parameter.
* semantics.c (potential_constant_expression_1): Likewise.
* typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
functions.

gcc/testsuite/

* g++.dg/cpp0x/gen-attrs-1.C: New test.
* g++.dg/cpp0x/gen-attrs-2.C: Likewise.
* g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-3.C: Likewise.
* g++.dg/cpp0x/gen-attrs-4.C: Likewise.
* g++.dg/cpp0x/gen-attrs-5.C: Likewise.
* g++.dg/cpp0x/gen-attrs-6.C: Likewise.
* g++.dg/cpp0x/gen-attrs-7.C: Likewise.
* g++.dg/cpp0x/gen-attrs-8.C: Likewise.
* g++.dg/cpp0x/gen-attrs-9.C: Likewise.
* g++.dg/cpp0x/gen-attrs-10.C: Likewise.
* g++.dg/cpp0x/gen-attrs-11.C: Likewise.
* g++.dg/cpp0x/gen-attrs-12.C: Likewise.
* g++.dg/cpp0x/gen-attrs-13.C: Likewise.
* g++.dg/cpp0x/gen-attrs-14.C: Likewise.
* g++.dg/cpp0x/gen-attrs-15.C: Likewise.
* g++.dg/cpp0x/gen-attrs-16.C: Likewise.
* g++.dg/cpp0x/gen-attrs-17.C: Likewise.
* g++.dg/cpp0x/gen-attrs-18.C: Likewise.
* g++.dg/cpp0x/gen-attrs-19.C: Likewise.
* g++.dg/cpp0x/gen-attrs-20.C: Likewise.
* g++.dg/cpp0x/gen-attrs-21.C: Likewise.
* g++.dg/cpp0x/gen-attrs-22.C: Likewise.
* g++.dg/cpp0x/gen-attrs-23.C: Likewise.
* g++.dg/cpp0x/gen-attrs-24.C: Likewise.
* g++.dg/cpp0x/gen-attrs-25.C: Likewise.
* g++.dg/cpp0x/gen-attrs-26.C: Likewise.
* g++.dg/cpp0x/gen-attrs-27.C: Likewise.
* g++.dg/cpp0x/gen-attrs-28.C: Likewise.
* g++.dg/cpp0x/gen-attrs-29.C: Likewise.
* g++.dg/cpp0x/gen-attrs-30.C: Likewise.
* g++.dg/cpp0x/gen-attrs-31.C: Likewise.
* g++.dg/cpp0x/gen-attrs-32.C: Likewise.
* g++.dg/cpp0x/gen-attrs-33.C: Likewise.
* g++.dg/cpp0x/gen-attrs-34.C: Likewise.
* g++.dg/cpp0x/gen-attrs-35.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-37.C: Likewise.
* g++.dg/cpp0x/gen-attrs-38.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-40.C: Likewise.
* g++.dg/cpp0x/gen-attrs-41.C: Likewise.
* g++.dg/cpp0x/gen-attrs-42.C: Likewise.
* g++.dg/cpp0x/gen-attrs-43.C: Likewise.
* g++.dg/cpp0x/gen-attrs-44.C: Likewise.
* g++.dg/cpp0x/gen-attrs-45.C: Likewise.
* g++.dg/cpp0x/gen-attrs-46.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-48.C: Likewise.
* g++.dg/cpp0x/gen-attrs-49.C: Likewise.
* g++.dg/cpp0x/gen-attrs-50.C: Likewise.
* g++.dg/cpp0x/gen-attrs-51.C: Likewise.
* g++.dg/cpp0x/gen-attrs-52.C: Likewise.
* g++.dg/cpp0x/gen-attrs-53.C: Likewise.

From-SVN: r192199

12 years agore PR target/54815 ([avr] missed optimization with operations with constant operands)
Georg-Johann Lay [Mon, 8 Oct 2012 08:32:46 +0000 (08:32 +0000)]
re PR target/54815 ([avr] missed optimization with operations with constant operands)

PR target/54815
* config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
constraint alternative "r,0,r" slighly more expensive.
(sub<mode>3,
(andqi3, andhi3, andpsi3, andsi3): Ditto.
(iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
(xorhi3, xorpsi3, xorsi3): Ditto.

From-SVN: r192198

12 years agoslsr-30.c: Use correct cleanup directive.
Eric Botcazou [Mon, 8 Oct 2012 08:08:44 +0000 (08:08 +0000)]
slsr-30.c: Use correct cleanup directive.

* gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.

From-SVN: r192197

12 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Mon, 8 Oct 2012 06:34:18 +0000 (08:34 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r192195

12 years agoruntime: Fix __go_symbol_value val argument to backtrace_syminfo.
Ian Lance Taylor [Mon, 8 Oct 2012 04:29:47 +0000 (04:29 +0000)]
runtime: Fix __go_symbol_value val argument to backtrace_syminfo.

From-SVN: r192194

12 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Mon, 8 Oct 2012 02:00:46 +0000 (02:00 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
insns and accompanying unnamed splits.
* config/sh/predicates.md (general_movsrc_operand,
general_movdst_operand): Reject GBR addresses.
* config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
* config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
sh_secondary_reload): Handle GBR addresses.
(base_reg_disp): New class.
(sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.

PR target/54760
* gcc.target/sh/pr54760-2.c: New.
* gcc.target/sh/pr54760-3.c: New.

From-SVN: r192193

12 years agoDaily bump.
GCC Administrator [Mon, 8 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192192

12 years agommix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".
Hans-Peter Nilsson [Mon, 8 Oct 2012 00:10:20 +0000 (00:10 +0000)]
mmix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".

* config/mmix/mmix.c (mmix_output_octa): Don't assume
HOST_WIDEST_INT_PRINT_HEX starts with "0x".  Instead use
HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
HOST_WIDEST_INT_PRINT_UNSIGNED.

From-SVN: r192189

12 years agopt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
Paolo Carlini [Sun, 7 Oct 2012 23:08:49 +0000 (23:08 +0000)]
pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.

2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
(tsubst_copy_and_build): Use get_target_expr_sfinae.
* call.c (build_conditional_expr_1, convert_like_real): Likewise.
* cvt.c (build_up_reference): Likewise.
(ocp_convert): Use abstract_virtuals_error_sfinae.
(build_up_reference): Propagate complain to cp_build_addr_expr.
* decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
* cp-tree.h: Update declarations.

* cvt.c (build_expr_type_conversion): Tidy.

* tree.c (stabilize_aggr_init): Change to static.

From-SVN: r192188

12 years agore PR c++/51422 ([c++0x] ICE with invalid lambda expression)
Paolo Carlini [Sun, 7 Oct 2012 23:06:16 +0000 (23:06 +0000)]
re PR c++/51422 ([c++0x] ICE with invalid lambda expression)

/cp
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51422
* semantics.c (is_normal_capture_proxy): Return true for
error_mark_node as DECL_VALUE_EXPR.

/testsuite
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51422
* g++.dg/cpp0x/lambda/lambda-ice8.C: New.

From-SVN: r192187

12 years agomachmode.h (GET_MODE_UNIT_PRECISION): New macro.
Richard Sandiford [Sun, 7 Oct 2012 19:17:37 +0000 (19:17 +0000)]
machmode.h (GET_MODE_UNIT_PRECISION): New macro.

gcc/
* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
* simplify-rtx.c (simplify_truncation): New function,
extracted from simplify_subreg and (in small part) from
simplify_unary_operation_1.
(simplify_unary_operation_1) <TRUNCATE>: Use it.  Remove sign bit
test for !TRULY_NOOP_TRUNCATION_MODES_P.
(simplify_subreg): Use simplify_truncate for lowpart subregs
where both the inner and outer modes are scalar integers.
* config/mips/mips.c (mips_truncated_op_cost): New function.
(mips_rtx_costs): Adjust test for BADDU.
* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.

From-SVN: r192186

12 years agoipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inline...
Jan Hubicka [Sun, 7 Oct 2012 18:58:04 +0000 (20:58 +0200)]
ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence.

* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
time spent by the inlined sequence.
(do_estimate_edge_growth): Rename to ...
(do_estimate_edge_time): ... this one; return size of inlined
sequence.
* ipa-inline.h (do_estimate_edge_size): New.
(do_estimate_edge_growth): Remove.
(estimate_edge_size): New function.
(estimate_edge_growth): Use it.

From-SVN: r192185

12 years agolto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
Jan Hubicka [Sun, 7 Oct 2012 17:16:02 +0000 (19:16 +0200)]
lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.

* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
(lto_symtab_encoder_delete): Update.
(lto_symtab_encoder_encode): Update.
(compute_ltrans_boundary): Update.
(input_symtab): Update.
  * lto-streamer.h (lto_symtab_encoder_new): Update.

* lto.c (read_cgraph_and_symbols): Release type merging hash early;
release input encoders.
* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.

From-SVN: r192184

12 years agoFix typo in previous commit:
Matthias Klose [Sun, 7 Oct 2012 11:46:06 +0000 (11:46 +0000)]
Fix typo in previous commit:

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192182

12 years agounwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
Matthias Klose [Sun, 7 Oct 2012 10:06:30 +0000 (10:06 +0000)]
unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192181

12 years agobasic: Remove empty directory.
Matthias Klose [Sun, 7 Oct 2012 09:59:02 +0000 (09:59 +0000)]
basic: Remove empty directory.

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
        * testsuite/28_regex/algorithms/match/extended: Likewise.
        * testsuite/28_regex/algorithms/match: Likewise.

From-SVN: r192180

12 years agomips-protos.h (mips_split_type): New enum.
Richard Sandiford [Sun, 7 Oct 2012 08:45:23 +0000 (08:45 +0000)]
mips-protos.h (mips_split_type): New enum.

gcc/
* config/mips/mips-protos.h (mips_split_type): New enum.
(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
(mips_split_move_insn): Declare.
* config/mips/mips.c (mips_tuning_info): New variable.
(mips_load_store_insns): Use mips_split_move_insn_p instead of
mips_split_64bit_move_p.
(mips_emit_move_or_split, mips_mult_move_p): New functions.
(mips_split_64bit_move_p): Rename to...
(mips_split_move_p): ...this and take a mips_split_type argument.
Generalize to all moves.  Call mips_mult_move_p.
(mips_split_doubleword_move): Rename to...
(mips_split_move): ...this and take a mips_split_type argument.
Assert that mips_split_move_p holds.
(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
New functions.
(mips_output_move): Use mips_split_move_p instead of
mips_split_64bit_move_p.  Handle MULT $0, $0 moves.
(mips_save_reg): Use mips_emit_move_or_split.
(mips_sim_reset): Assign to curr_state.  Call targetm.sched.init
and advance_state.
(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
targetm.sched.init_dfa_post_cycle_insn, if defined.
(mips_sim_next_cycle): Assign to curr_state.  Use advance_state
instead of state_transition.
(mips_sim_issue_insn): Assign to curr_state.  Use
targetm.sched.variable_issue to see how many more insns
can be issued.
(mips_seq_time, mips_mult_zero_zero_cost)
(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
(mips_expand_to_rtl_hook): New functions.
(TARGET_EXPAND_TO_RTL_HOOK): Define.
* config/mips/mips.md (move_type): Add imul.
(type): Map imul move_types to imul.
(*movdi_32bit, *movti): Add imul alternatives.
Use mips_split_move_insn_p and mips_split_move_insn instead of
mips_split_64bit_move_p and mips_split_doubleword_move in move
splitters.

gcc/testsuite/
2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
    Sandra Loosemore  <sandra@codesourcery.com>

* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
and test that the accumulator is initialized using MULT.
* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r192179

12 years agors6000.c (print_operand): Delete.
Segher Boessenkool [Sun, 7 Oct 2012 02:07:42 +0000 (04:07 +0200)]
rs6000.c (print_operand): Delete.

gcc/
* config/rs6000/rs6000.c (print_operand) ['A']: Delete.

From-SVN: r192178

12 years agoDaily bump.
GCC Administrator [Sun, 7 Oct 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192177

12 years agore PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)
Paolo Carlini [Sat, 6 Oct 2012 23:06:04 +0000 (23:06 +0000)]
re PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)

2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
__STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
* ginclude/stdint-gcc.h: In C++11 unconditionally define
limit and constant macros.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* g++.dg/cpp0x/stdint.C: New.

/libstdc++-v3
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS related macros.

From-SVN: r192174

12 years agore PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)
Paolo Carlini [Sat, 6 Oct 2012 22:44:12 +0000 (22:44 +0000)]
re PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)

2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54249
* ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
namespace.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54249
* g++.dg/cpp0x/stddef.C: New.

From-SVN: r192173

12 years agoFix ChangeLog date of
Gerald Pfeifer [Sat, 6 Oct 2012 21:49:06 +0000 (21:49 +0000)]
Fix ChangeLog date of

* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
default_use_cxa_atexit to yes.

From-SVN: r192170

12 years agoFix usage of secure_getenv with glibc 2.17.
Janne Blomqvist [Sat, 6 Oct 2012 20:56:05 +0000 (23:56 +0300)]
Fix usage of secure_getenv with glibc 2.17.

See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv

2012-10-06  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac: Check for presence of secure_getenv.
* libgfortran.h: Use HAVE_SECURE_GETENV.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.

From-SVN: r192169

12 years agox86_64-unknown-linux-gnu.xfail: Update.
Diego Novillo [Sat, 6 Oct 2012 17:44:39 +0000 (13:44 -0400)]
x86_64-unknown-linux-gnu.xfail: Update.

2012-10-06  Diego Novillo  <dnovillo@google.com>

* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

From-SVN: r192168

12 years ago* gcc.dg/lto/resolutions_0.c: New testcase.
Jan Hubicka [Sat, 6 Oct 2012 17:43:07 +0000 (17:43 +0000)]
* gcc.dg/lto/resolutions_0.c: New testcase.

From-SVN: r192167

12 years agore PR lto/53831 (Virtuals missing in LTO symtab)
Jan Hubicka [Sat, 6 Oct 2012 17:30:42 +0000 (19:30 +0200)]
re PR lto/53831 (Virtuals missing in LTO symtab)

PR lto/53831
PR lto/54776
* lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.

From-SVN: r192166

12 years agore PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)
Dehao Chen [Sat, 6 Oct 2012 16:19:34 +0000 (16:19 +0000)]
re PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)

2012-10-05  Dehao Chen  <dehao@google.com>

PR debug/54826
* gimple-low.c (lower_stmt): Set the block for call args.

From-SVN: r192165

12 years agoFix previous commit once again :(
Jan Hubicka [Sat, 6 Oct 2012 14:54:46 +0000 (14:54 +0000)]
Fix previous commit once again :(

From-SVN: r192164

12 years agoFix previous commit.
Jan Hubicka [Sat, 6 Oct 2012 14:52:23 +0000 (14:52 +0000)]
Fix previous commit.

From-SVN: r192163

12 years agoFix previous commit.
Jan Hubicka [Sat, 6 Oct 2012 14:19:33 +0000 (14:19 +0000)]
Fix previous commit.

From-SVN: r192162

12 years agoinvoke.texi (-fprofile-report): Document.
Jan Hubicka [Sat, 6 Oct 2012 14:06:04 +0000 (16:06 +0200)]
invoke.texi (-fprofile-report): Document.

* doc/invoke.texi (-fprofile-report): Document.
* common.opt (-fprofile-report): New option.
* toplev.c (finalize): Call dump_profile_report.
* toplev.h (profile_report): Declare.
* passes.c (profile_record): New static var.
(check_profile_consistency): New function.
(dump_profile_record): New function.
(execute_one_ipa_transform_pass): Call check_profile_consistency.
(execute_one_pass): Likewise.

From-SVN: r192161

12 years agore PR fortran/54832 ([OOP] Type-bound operator not picked up with RESULT variable)
Janus Weil [Sat, 6 Oct 2012 14:03:08 +0000 (16:03 +0200)]
re PR fortran/54832 ([OOP] Type-bound operator not picked up with RESULT variable)

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54832
* resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
attribute for proc-ptr components with RESULT variable.

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54832
* gfortran.dg/typebound_operator_17.f90: New.

From-SVN: r192160

12 years agore PR lto/54790 (Missing optimization with LTO)
Jan Hubicka [Sat, 6 Oct 2012 13:59:55 +0000 (15:59 +0200)]
re PR lto/54790 (Missing optimization with LTO)

PR lto/54790
* lto.c (resolution_map): New static var.
(register_resolution): New function.
(lto_register_var_decl_in_symtab): Use it.
(read_cgraph_and_symbols): Copy resolutions into the symtab.
* lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
* lto-symtab.c (lto_symtab_register_decl): Remove.

From-SVN: r192159

12 years agore PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several platforms)
Thomas Koenig [Sat, 6 Oct 2012 13:04:35 +0000 (13:04 +0000)]
re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several platforms)

2012-10-06  Thomas König  <tkoenig@gcc.gnu.org>

PR libfortran/54736
* runtime/environ.c (search_unit):  Correct logic
for binary search.
(mark_single):  Fix index errors.

From-SVN: r192158

12 years agore PR fortran/45521 ([F08] GENERIC resolution with ALLOCATABLE/POINTER and PROCEDURE)
Janus Weil [Sat, 6 Oct 2012 12:20:09 +0000 (14:20 +0200)]
re PR fortran/45521 ([F08] GENERIC resolution with ALLOCATABLE/POINTER and PROCEDURE)

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45521
* interface.c (generic_correspondence): Implement additional
distinguishability criteria of F08.
(compare_actual_formal): Reject data object as actual argument for
procedure formal argument.

2012-10-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45521
* gfortran.dg/generic_25.f90: New.
* gfortran.dg/generic_26.f90: New.
* gfortran.dg/generic_27.f90: New.

From-SVN: r192157

12 years agore PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
Andreas Schwab [Sat, 6 Oct 2012 11:42:13 +0000 (11:42 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")

PR rtl-optimization/54739
* config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2):
Remove.

From-SVN: r192156

12 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Sat, 6 Oct 2012 11:20:11 +0000 (11:20 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.md (define_constants): Add UNSPECV_GBR.
(get_thread_pointer, set_thread_pointer): New expanders.
(load_gbr): Rename to store_gbr.  Remove GBR_REG use.
(store_gbr): New insn.
* config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
(sh1_builtin_p): New function.
(signature_args): Add SH_BLTIN_VP.
(bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.

PR target/54760
* gcc.target/sh/pr54760-1.c: New.

From-SVN: r192155

12 years agodynamic_bitset: Fix cxxabi_forced.h include path.
Joe Seymour [Sat, 6 Oct 2012 08:39:13 +0000 (08:39 +0000)]
dynamic_bitset: Fix cxxabi_forced.h include path.

2012-10-06  Joe Seymour  <jseymour@codesourcery.com>

* include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.

From-SVN: r192154

12 years agore PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
John David Anglin [Sat, 6 Oct 2012 00:33:52 +0000 (00:33 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")

PR rtl-optimization/54739
* config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
for 32-bit targets.  Adjust expanders.

From-SVN: r192152

12 years agoDaily bump.
GCC Administrator [Sat, 6 Oct 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192151

12 years agoconfig.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
Mark Kettenis [Fri, 5 Oct 2012 23:35:55 +0000 (23:35 +0000)]
config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.

* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
(ElfW): Likewise.

From-SVN: r192148

12 years agomatch: Rename to...
Benjamin Kosnik [Fri, 5 Oct 2012 21:18:54 +0000 (21:18 +0000)]
match: Rename to...

2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/28_regex/algorithms/match: Rename to...
* testsuite/28_regex/algorithms/regex_match: ...this.
* testsuite/28_regex/basic_regex/regex.cc: Rename to...
* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
* testsuite/util/testsuite_regex.h: New.
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.

From-SVN: r192146

12 years agopa.md: Adjust unamed HImode add insn pattern.
John David Anglin [Fri, 5 Oct 2012 21:03:29 +0000 (21:03 +0000)]
pa.md: Adjust unamed HImode add insn pattern.

* config/pa/pa.md: Adjust unamed HImode add insn pattern.

From-SVN: r192143

12 years agosh.c (builtin_description): Add is_enabled member.
Oleg Endo [Fri, 5 Oct 2012 19:47:05 +0000 (19:47 +0000)]
sh.c (builtin_description): Add is_enabled member.

* config/sh/sh.c (builtin_description): Add is_enabled member.
(shmedia_builtin_p): New function.
(bdesc): Use shmedia_builtin_p for existing built-ins.
(sh_media_init_builtins, sh_init_builtins): Merge into single function
sh_init_builtins.  Add is_enabled checking.  Move variable declarations
to where they are actually used.
(sh_media_builtin_decl, sh_builtin_decl): Merge into single function
sh_builtin_decl.  Add is_enabled checking.
(sh_expand_builtin): Move variable declarations to where they are
actually used.

From-SVN: r192142

12 years agocp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
Jakub Jelinek [Fri, 5 Oct 2012 19:30:39 +0000 (21:30 +0200)]
cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.

cp/
* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
* mangle.c (write_expression): Likewise.
* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
* error.c (dump_expr): Likewise.
* parser.c (cp_parser_unary_expression): For sizeof call
cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
return SIZEOF_EXPR with the operand.
* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
return SIZEOF_EXPR with tsubsted operand.
(value_dependent_expression_p): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
(instantiation_dependent_r): Likewise.
* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
* semantics.c (finish_call_expr): Call
sizeof_pointer_memaccess_warning if needed.
(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
(potential_constant_expression_1): Remove early exit for
C++98.  Handle PROPERTY_REF.
* decl.c (duplicate_decls): When redeclaring a builtin function,
keep the merged decl builtin also if newdecl is a gnu_inline
inline definition.
(fold_sizeof_expr_r): New function.
(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
* typeck.c (cp_build_binary_op): For warn_for_sign_compare
try harder using maybe_constant_value to get INTEGER_CSTs.

* decl.c (stabilize_vla_size): Call pointer_set_destroy
at the end.
testsuite/
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
* g++.dg/warn/Wsign-compare-5.C: New test.
* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
* g++.dg/ext/builtin30.C: New test.
* g++.dg/ext/vla12.C: New test.
* gcc.dg/builtins-85.c: New test.
libstdc++-v3/
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
numbers.

From-SVN: r192141

12 years agotree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapp...
Jakub Jelinek [Fri, 5 Oct 2012 19:25:58 +0000 (21:25 +0200)]
tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS...

* tree-inline.c (expand_call_inline): Move VAR_DECLs with
PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
into id->block's BLOCK_VARS.

From-SVN: r192140

12 years agore PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)
Jakub Jelinek [Fri, 5 Oct 2012 19:24:38 +0000 (21:24 +0200)]
re PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)

PR debug/54519
* ipa-split.c (split_function): Add debug args and
debug source and normal stmts for args_to_skip which are
gimple regs.
* tree-inline.c (copy_debug_stmt): When inlining, adjust
source debug bind stmts to debug binds of corresponding
DEBUG_EXPR_DECL.

* gcc.dg/guality/pr54519-1.c: New test.
* gcc.dg/guality/pr54519-2.c: New test.
* gcc.dg/guality/pr54519-3.c: New test.
* gcc.dg/guality/pr54519-4.c: New test.
* gcc.dg/guality/pr54519-5.c: New test.
* gcc.dg/guality/pr54519-6.c: New test.

From-SVN: r192139

12 years agore PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is...
Marc Glisse [Fri, 5 Oct 2012 19:10:22 +0000 (21:10 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)

2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/54686
* include/c_global/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.

From-SVN: r192138

12 years agocstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.
Paolo Carlini [Fri, 5 Oct 2012 17:39:32 +0000 (17:39 +0000)]
cstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.

2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdlib: Remove redundant pasto code protected
by __GXX_EXPERIMENTAL_CXX0X__.
* include/c_global/cwctype: Likewise.
* include/c_global/ccomplex: Remove uses of obsolete macro
_GLIBCXX_INCLUDE_AS_TR1.
* include/c_global/cfloat: Likewise.

From-SVN: r192137

12 years agoavr.md: Fix indentations of insn C snippets.
Georg-Johann Lay [Fri, 5 Oct 2012 16:37:04 +0000 (16:37 +0000)]
avr.md: Fix indentations of insn C snippets.

* config/avr/avr.md: Fix indentations of insn C snippets.

From-SVN: r192136

12 years agore PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is...
Marc Glisse [Fri, 5 Oct 2012 16:20:44 +0000 (18:20 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)

2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/54686
* include/c_std/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
* testsuite/26_numerics/headers/cstdlib/54686.c: New file.

From-SVN: r192132

12 years agore PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)
Paolo Carlini [Fri, 5 Oct 2012 15:00:26 +0000 (15:00 +0000)]
re PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)

2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50893
* g++.dg/cpp0x/defaulted38.C: New.

From-SVN: r192131

12 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:33:42 +0000 (16:33 +0200)]
[multiple changes]

2012-10-05  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb: Minor reformatting.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
a duplicate pragma before Rep_Item_Too_Late to prevent spurious
messages about duplicate pragmas.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Find_Init_Call): If the successor of the
object declaration is a block, check whether it contains the
initialization call, because it may have been created by actuals
that use the secondary stack.

From-SVN: r192130

12 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:29:57 +0000 (16:29 +0200)]
[multiple changes]

2012-10-05  Thomas Quinot  <quinot@adacore.com>

* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.

2012-10-05  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,

2012-10-05  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.

From-SVN: r192128

12 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:26:27 +0000 (16:26 +0200)]
[multiple changes]

2012-10-05  Robert Dewar  <dewar@adacore.com>

* sem_util.adb (Has_One_Matching_Field): Handle case of lone
discriminant.

2012-10-05  Yannick Moy  <moy@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
for the division operation and exponent operation. Adjust bound
for the mod and rem operations.

From-SVN: r192126

12 years agochecks.adb, [...]: Minor reformatting.
Robert Dewar [Fri, 5 Oct 2012 14:22:55 +0000 (14:22 +0000)]
checks.adb, [...]: Minor reformatting.

2012-10-05  Robert Dewar  <dewar@adacore.com>

* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
s-spsufi.ads, exp_ch4.adb: Minor reformatting.

From-SVN: r192125

12 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:21:21 +0000 (16:21 +0200)]
[multiple changes]

2012-10-05  Yannick Moy  <moy@adacore.com>

* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
osint.adb: Minor correction of typos, and special case for Alfa mode.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
Add with and use clauses for System.Finalization_Masters.
(Finalize_And_Deallocate): Add an instance of
Ada.Unchecked_Deallocation. Merge the code from the now obsolete
Finalize_Subpool into this routine.
* s-spsufi.ads: Add pragma Preelaborate.
* s-stposu.adb: Remove with clause for
Ada.Unchecked_Deallocation; Add with and use clauses for
System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
Update the comment on all actions takes with respect to a subpool
finalization. Finalize and deallocate each individual subpool.
(Finalize_Subpool): Removed.
(Free): Removed;
(Detach): Move from package body to spec.
* s-stposu.ads (Detach): Move from package body to spec.
(Finalize_Subpool): Removed.

2012-10-05  Arnaud Charlet  <charlet@adacore.com>

* s-tassta.adb: Update comments.
(Vulnerable_Complete_Master): If Free_On_Termination is set, do
nothing, and let the task free itself if not already done.

From-SVN: r192124

12 years agoruntime: Use argv[0] to get executable name for backtrace.
Ian Lance Taylor [Fri, 5 Oct 2012 13:44:40 +0000 (13:44 +0000)]
runtime: Use argv[0] to get executable name for backtrace.

From-SVN: r192123

12 years agore PR lto/54811 (tree code '�' is not supported in LTO streams)
Richard Guenther [Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)]
re PR lto/54811 (tree code '�' is not supported in LTO streams)

2012-10-05  Richard Guenther  <rguenther@suse.de>

PR middle-end/54811
* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
DECL_DEBUG_EXPR again.

From-SVN: r192120

12 years agore PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functi...
Jan Hubicka [Fri, 5 Oct 2012 11:43:38 +0000 (13:43 +0200)]
re PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining)

PR tree-optimization/33763
* tree-inline.c (expand_call_inline): Silently ignore always_inline
attribute for redefined extern inline functions.

* c-c++-common/pr33763.c: New test.

From-SVN: r192119

12 years agotree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
Jan Hubicka [Fri, 5 Oct 2012 10:10:33 +0000 (12:10 +0200)]
tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.

* tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
(vect_analyze_loop_operations): Use loop count estimate to rule out
unprofitable vectorization.
(vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.

From-SVN: r192116

12 years agore PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like...
Jakub Jelinek [Fri, 5 Oct 2012 09:37:25 +0000 (11:37 +0200)]
re PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like comparison of BIT_AND_EXPR)

PR tree-optimization/54810
* tree-vrp.c (register_edge_assert_for_2): Handle
NAME = (unsigned) NAME2; if (NAME cmp CST) for
narrowing casts to unsigned integral type like
NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
is the max value of the unsigned integral type.

* gcc.dg/tree-ssa/vrp85.c: New test.

From-SVN: r192115

12 years agore PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
Jonathan Wakely [Fri, 5 Oct 2012 07:35:12 +0000 (07:35 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)

PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.

From-SVN: r192114

12 years agoucnid-7.c: Skip on AIX.
David Edelsohn [Fri, 5 Oct 2012 00:30:50 +0000 (00:30 +0000)]
ucnid-7.c: Skip on AIX.

        * gcc.dg/ucnid-7.c: Skip on AIX.
        * gcc.dg/ucnid-8.c: Same.
        * gcc.dg/ucnid-10.c: Same.
        * gcc.dg/ucnid-13.c: Same.
        * gcc.dg/attr-alias-3.c: Same.
        * gcc.dg/attr-alias-5.c: Same.
        * gcc.dg/torture/pr51106-2.c: Same.
        * gcc.dg/vmx/3b-13.c: Use valid splat index.

From-SVN: r192113

12 years agoDaily bump.
GCC Administrator [Fri, 5 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192112

12 years agore PR c++/52233 (ICE segmentation fault with using-declaration)
Paolo Carlini [Thu, 4 Oct 2012 23:48:16 +0000 (23:48 +0000)]
re PR c++/52233 (ICE segmentation fault with using-declaration)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52233
* g++.dg/cpp0x/alias-decl-23.C: New.

From-SVN: r192109

12 years agore PR c++/53403 (Function template friend denied access to private types of granting...
Paolo Carlini [Thu, 4 Oct 2012 23:19:46 +0000 (23:19 +0000)]
re PR c++/53403 (Function template friend denied access to private types of granting template class.)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53403
* g++.dg/template/friend53.C

From-SVN: r192108

12 years agoRevert accidential commits.
Oleg Endo [Thu, 4 Oct 2012 22:08:34 +0000 (22:08 +0000)]
Revert accidential commits.

From-SVN: r192107

12 years agogcc-dg.exp (cleanup-ada-spec): New procedure.
Eric Botcazou [Thu, 4 Oct 2012 21:34:13 +0000 (21:34 +0000)]
gcc-dg.exp (cleanup-ada-spec): New procedure.

* lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/scanasm.exp (get_ada_spec_filename): Likewise.
(scan-ada-spec): Likewise.
(scan-ada-spec-not): Likewise.
* gcc.dg/dump-ada-spec-1.c: New test.
* g++.dg/other/dump-ada-spec-1.C: Likewise.

From-SVN: r192106

12 years agoCorrect incomplete diff edit.
Lawrence Crowl [Thu, 4 Oct 2012 21:27:13 +0000 (21:27 +0000)]
Correct incomplete diff edit.

From-SVN: r192105

12 years agoAdd myself to wrote after approval list.
Lawrence Crowl [Thu, 4 Oct 2012 21:24:32 +0000 (21:24 +0000)]
Add myself to wrote after approval list.

From-SVN: r192104

12 years agore PR target/50356 (Poor if condition in h8300 config code)
Jeff Law [Thu, 4 Oct 2012 20:58:30 +0000 (14:58 -0600)]
re PR target/50356 (Poor if condition in h8300 config code)

* PR target/50356
* config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.

From-SVN: r192103

12 years ago* btest.c (f23): Avoid uninitialized variable warning.
Gerald Pfeifer [Thu, 4 Oct 2012 20:16:08 +0000 (20:16 +0000)]
* btest.c (f23): Avoid uninitialized variable warning.

From-SVN: r192102

12 years agors6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
Jason Merrill [Thu, 4 Oct 2012 19:54:13 +0000 (15:54 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.

* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.

From-SVN: r192101

12 years agore PR target/33135 ([SH] -ffinite-math-only should not be on by default)
Oleg Endo [Thu, 4 Oct 2012 18:32:20 +0000 (18:32 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)

PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.

From-SVN: r192097

12 years agoBasile Starynkevitch <basile@starynkevitch.net>
Basile Starynkevitch [Thu, 4 Oct 2012 18:18:58 +0000 (18:18 +0000)]
Basile Starynkevitch  <basile@starynkevitch.net>

        * gengtype.c (walk_type): Emit mark_hook when inside a
          struct of a union member.

From-SVN: r192095

12 years agoexpr.c (scalarize_intrinsic_call): Plug memory leak.
Tobias Burnus [Thu, 4 Oct 2012 17:32:06 +0000 (19:32 +0200)]
expr.c (scalarize_intrinsic_call): Plug memory leak.

2012-10-04  Tobias Burnus  <burnus@net-b.de>

        * expr.c (scalarize_intrinsic_call): Plug memory leak.
        * frontend-passes.c (gcc_assert): Extend assert.
        * interface.c (gfc_compare_derived_types): Fix comparison.
        (gfc_check_operator_interface): Move up to make this error
        message reachable.
        (get_sym_storage_size): Remove always-true checks.
        * io.c (format_lex): Add comment.
        (gfc_free_wait): Free memory.
        * match.c (gfc_match_select_type): Ditto.
        * matchexpr.c (match_level_3): Ditto.
        * primary.c (match_string_constant): Ditto.
        (match_actual_arg): Check return value.
        * resolve.c (gfc_resolve_substring_charlen,
        resolve_typebound_generic_call, resolve_typebound_function,
        resolve_typebound_subroutine): Free memory.
        * trans-types.c (gfc_get_derived_type): Remove always-true
        * check.

From-SVN: r192094

12 years agoBasile Starynkevitch <basile@starynkevitch.net>
Basile Starynkevitch [Thu, 4 Oct 2012 17:22:15 +0000 (17:22 +0000)]
Basile Starynkevitch  <basile@starynkevitch.net>

        * gengtype.c (walk_type): Emit mark_hook when inside a
          struct of a union member.

From-SVN: r192092

12 years agopredicates.md (flash_operand): New predicate.
Georg-Johann Lay [Thu, 4 Oct 2012 17:02:27 +0000 (17:02 +0000)]
predicates.md (flash_operand): New predicate.

* config/avr/predicates.md (flash_operand): New predicate.
* config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
of memory_operand.

From-SVN: r192090

12 years ago* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
Eric Botcazou [Thu, 4 Oct 2012 17:01:53 +0000 (17:01 +0000)]
* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.

From-SVN: r192089

12 years ago2012-10-03 Tobias Burnus <burnus@net-b.de>
Tobias Burnus [Thu, 4 Oct 2012 17:01:31 +0000 (19:01 +0200)]
2012-10-03  Tobias Burnus  <burnus@net-b.de>

        * gcc.c (record_temp_file, add_sysrooted_prefix,
        * process_command,
        do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
        (do_spec_1): Ditto, fix out-of-bound access.
        * opts.c (common_handle_option): Plug memleak.

From-SVN: r192088

12 years agodarwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.
Jason Merrill [Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)]
darwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.

* config/darwin.c (darwin_assemble_visibility): Treat
VISIBILITY_INTERNAL as hidden.

* config/darwin-c.c (find_subframework_file): Add missing const.
(framework_construct_pathname): Likewise.

From-SVN: r192085

12 years agoImplement #pragma GCC warning/error
Florian Weimer [Thu, 4 Oct 2012 15:33:11 +0000 (17:33 +0200)]
Implement #pragma GCC warning/error

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
GCC error.

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* directives.c (do_pragma_warning_or_error): New.
(do_pragma_warning): New.
(do_pragma_error): New.
(_cpp_init_internal_pragmas): Register new pragmas.

From-SVN: r192084

12 years agore PR c++/54323 (Friend function declaration not correctly identified with CRTP ...
Paolo Carlini [Thu, 4 Oct 2012 15:19:34 +0000 (15:19 +0000)]
re PR c++/54323 (Friend function declaration not correctly identified with CRTP + enable_if)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54323
* g++.dg/cpp0x/pr54323.C: New.

From-SVN: r192083

12 years agodwarf.c: If the system header files do not declare strnlen, provide our own version.
Ian Lance Taylor [Thu, 4 Oct 2012 15:16:09 +0000 (15:16 +0000)]
dwarf.c: If the system header files do not declare strnlen, provide our own version.

* dwarf.c: If the system header files do not declare strnlen,
provide our own version.

From-SVN: r192082

12 years agore PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)
Richard Guenther [Thu, 4 Oct 2012 11:48:21 +0000 (11:48 +0000)]
re PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)

2012-10-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/54735
* tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
cleaning up the CFG.

* g++.dg/torture/pr54735.C: New testcase.

From-SVN: r192078

12 years agore PR lto/47788 (New LTO failures)
Richard Guenther [Thu, 4 Oct 2012 11:23:18 +0000 (11:23 +0000)]
re PR lto/47788 (New LTO failures)

2012-10-04  Richard Guenther  <rguenther@suse.de>

PR lto/47788
* tree-streamer-out.c (write_ts_block_tree_pointers): For
inlined functions outer scopes write the ultimate origin
as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
Do not stream the fragment chains.
* tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
* dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
(dwarf2out_decl): Always output DECL_ABSTRACT function decls.

From-SVN: r192075

12 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:23:38 +0000 (11:23 +0200)]
[multiple changes]

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.

2012-10-04  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
invalid switch.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r192073

12 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:18:55 +0000 (11:18 +0200)]
[multiple changes]

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
expression state after Resolve call.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
in the table for Warnings Off pragmas if within an instance.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Analyze_Entry_Body): Transfer
Has_Pragma_Unreferenced flag from entry formal to corresponding
entity in body, to prevent spurious warnings when pragma is
present.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
large results.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
aspects that appear in the partial and the full view of a type.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sinfo.ads (N_Return_Statement): Removed.

2012-10-04  Tristan Gingold  <gingold@adacore.com>

* init.c (__gl_zero_cost_exceptions): Comment it as not used
anymore.
* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
anymore.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
-a (all source text preserved).

From-SVN: r192072

12 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:12:18 +0000 (11:12 +0200)]
[multiple changes]

2012-10-04  Vincent Celier  <celier@adacore.com>

* prj-proc.adb (Recursive_Process): Use project directory
display path name as the value of 'Project_Dir.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Deal with case where we get a bignum operand and cannot do a
range analysis.
* sem_eval.adb (Why_Not_Static): Deal with bignum operands

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Find_Unary_Types): Within an instance, an
interpretation that involves a predefied arithmetic operator is
not a candidate if the corresponding generic formal type is not
a numeric type.
* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
type is a generic actual type within an instance, return the
corresponding formal in the generic unit, otherwise return
Any_Type.

From-SVN: r192071

12 years agochecks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression...
Robert Dewar [Thu, 4 Oct 2012 09:10:08 +0000 (09:10 +0000)]
checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression if nothing has changed (just reexpand).

2012-10-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
if/case expression if nothing has changed (just reexpand). Stops
case expression from generating incorrect temporary.
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Fix cut and paste typo for range analysis in NE (not equal) case.
* sem_eval.adb (Compile_Time_Compare): Small optimization to
catch some more cases.
* types.ads (Suppressed_Or_Checked): New subtype of
Overflow_Check_Type.

From-SVN: r192070

12 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:08:20 +0000 (11:08 +0200)]
[multiple changes]

2012-10-04  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
(Set_CPP_Constructors): Code cleanup.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
(Install_Private_with_Clauses): if clause is private and limited,
do not install the limited view if the library unit is an ancestor
of the unit being compiled.  This unusual configuration occurs
when compiling a unit DDP, when an ancestor P of DDP has a
private limited with clause on a descendant of P that is itself
an ancestor of DDP.

From-SVN: r192069

12 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:05:53 +0000 (11:05 +0200)]
[multiple changes]

2012-10-04  Vincent Celier  <celier@adacore.com>

* prj-proc.adb (Process_Package_Declaration): Use project
directory display path name as the value of 'Project_Dir.

2012-10-04  Gary Dismukes  <dismukes@adacore.com>

* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
given by an arbitrary name, so copy the tree to make the call's actual.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* s-exnllf.adb, s-exnllf.ads: Minor reformatting.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

* exp_ch6.adb: Minor reformatting.

2012-10-04  Pascal Obry  <obry@adacore.com>

* projects.texi: Use consistently @command{} when referencing
commands. Fix typos.

From-SVN: r192068

12 years agodumpfile.h, dumpfile.c: Remove TDI_ada.
Arnaud Charlet [Thu, 4 Oct 2012 08:51:31 +0000 (10:51 +0200)]
dumpfile.h, dumpfile.c: Remove TDI_ada.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

* dumpfile.h, dumpfile.c: Remove TDI_ada.

c-family/
* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
out of dumpfile.h.

c/
* c-decl.c (c_write_global_declarations): Fix handling of
-fdump-ada-spec*.

cp/
        * decl2.c (cp_write_global_declarations): Fix handling of
        -fdump-ada-spec*.

From-SVN: r192067

12 years agore PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
Eric Botcazou [Thu, 4 Oct 2012 08:15:11 +0000 (08:15 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")

PR rtl-optimization/54739
* gcc.dg/lower-subreg-1.c: Also skip on SPARC.

From-SVN: r192066

12 years agoi386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can...
Yuri Rumyantsev [Thu, 4 Oct 2012 08:13:18 +0000 (08:13 +0000)]
i386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can be invoked before register...

         * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
         check on reload_completed since it can be invoked before
         register allocation phase in pre-reload schedule.
         (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
         schedule to save compile time.
         (ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
         schedule to save compile time.
         (insn_is_function_arg) : New function. Returns true if lhs of insn is
         HW function argument register.
         (add_parameter_dependencies) : New function. Add output dependencies
         for chain of function adjacent arguments if only there is a move to
         likely spilled HW registers. Return first argument if at least one
         dependence was added or NULL otherwise.
         (avoid_func_arg_motion) : New function. Add output or anti dependency
         from insn to first_arg to restrict code motion.
         (add_dependee_for_func_arg) : New function. Avoid cross block motion of
         function argument through adding dependency from the first non-jump
         insn in bb.
         (ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
         avoid motion of function arguments passed in passed in likely spilled
         HW registers.
         (ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
         of moves from likely spilled HW registers to maximum to schedule them
         as soon as possible.
         (ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
         schedule to save compile time.

From-SVN: r192065

12 years agoconfigure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
Uros Bizjak [Thu, 4 Oct 2012 05:53:22 +0000 (07:53 +0200)]
configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.

* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure: Regenerate.

From-SVN: r192062

12 years agosh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_...
Kaz Kojima [Thu, 4 Oct 2012 03:03:12 +0000 (03:03 +0000)]
sh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_cookie.

* sh.c (sh_can_use_simple_return_p): Return false for SHmedia
and SHcompact using call_cookie.
* sh.md (epilogue): Emit non-inlined return insns for SHmedia
and SHcompact using call_cookie.

From-SVN: r192061

12 years agoDaily bump.
GCC Administrator [Thu, 4 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192059

12 years agore PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
Paolo Carlini [Thu, 4 Oct 2012 00:02:29 +0000 (00:02 +0000)]
re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)

2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/53248
* include/std/array (__array_traits<>): Add.
(array<>): Allow for zero-size arrays of non default-constructible
elements.
* testsuite/23_containers/array/requirements/
non_default_constructible.cc: New.
* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

From-SVN: r192056