Alan Modra [Fri, 15 Feb 2013 13:53:40 +0000 (00:23 +1030)]
re PR target/55431 (Invalid auxv search in ppc linux-unwind code.)
PR target/55431
* config/rs6000/linux-unwind.h (ppc_linux_aux_vector): Delete.
(ppc_fallback_frame_state): Always set up save locations for fp
and altivec. Don't bother with non-callee-saved regs, r0-r13
except for r2 on ppc64, fr0-fr13, v0-v19, vscr.
From-SVN: r196077
Greta Yorsh [Fri, 15 Feb 2013 13:27:11 +0000 (13:27 +0000)]
interrupt-1.c: Fix for thumb mode.
2012-02-15 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.target/arm/interrupt-1.c: Fix for thumb mode.
* gcc.target/arm/interrupt-2.c: Likewise.
From-SVN: r196076
Tobias Burnus [Fri, 15 Feb 2013 11:17:15 +0000 (12:17 +0100)]
re PR fortran/56318 (Wrong result with MATMUL of PARAMETER)
2013-02-14 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/56318
* simplify.c (gfc_simplify_matmul): Fix result shape
and matmul result.
2013-02-14 Tobias Burnus <burnus@net-b.de>
PR fortran/56318
* gcc/testsuite/gfortran.dg/matmul_9.f90: New.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r196075
Steven Bosscher [Fri, 15 Feb 2013 09:30:52 +0000 (09:30 +0000)]
graph.c (start_graph_dump): Print dumpfile base as digraph label.
* graph.c (start_graph_dump): Print dumpfile base as digraph label.
(clean_graph_dump_file): Pass base to start_graph_dump.
From-SVN: r196074
Tobias Burnus [Fri, 15 Feb 2013 08:50:37 +0000 (09:50 +0100)]
re PR fortran/53818 (-finit-local-zero -fno-automatic: Function result cannot have initializer)
2013-02-15 Tobias Burnus <burnus@net-b.de>
PR fortran/53818
* resolve.c (apply_default_init_local): Don't create an
initializer for a result variable.
2013-02-15 Tobias Burnus <burnus@net-b.de>
PR fortran/53818
* gfortran.dg/init_flag_11.f90: New.
From-SVN: r196073
Richard Henderson [Fri, 15 Feb 2013 01:41:29 +0000 (17:41 -0800)]
re PR target/55941 (Strange copy of double (in struct) to stack)
PR target/55941
* lower-subreg.c (simple_move): Check dest mode instead of src mode.
From-SVN: r196071
Jason Merrill [Fri, 15 Feb 2013 01:27:47 +0000 (20:27 -0500)]
re PR c++/54922 ([C++11][DR 1359] constexpr constructors require initialization of all union members)
PR c++/54922
* semantics.c (build_anon_member_initialization): New.
(build_data_member_initialization): Use it.
From-SVN: r196070
Jason Merrill [Fri, 15 Feb 2013 01:27:36 +0000 (20:27 -0500)]
re PR c++/55003 ([C++11] Member function pointer not working as constexpr initializer)
PR c++/55003
* decl.c (cp_finish_decl): Force instantiation of an
auto static data member.
From-SVN: r196069
Jason Merrill [Fri, 15 Feb 2013 01:27:12 +0000 (20:27 -0500)]
re PR c++/55220 ([c++11] ICE when doing partial template specialization on variadic template)
PR c++/55220
* pt.c (unify): A pack expansion that is not the last template
argument makes the entire template argument list non-deduced.
From-SVN: r196068
Jason Merrill [Fri, 15 Feb 2013 01:27:03 +0000 (20:27 -0500)]
re PR c++/56323 ([C++11] cannot compile inherited constructor for typedef'ed base class)
PR c++/56323
* name-lookup.c (do_class_using_decl): Handle typedefs with
inheriting constructors.
(push_class_level_binding_1): Allow inheriting from template
template parameter, too.
* pt.c (tsubst_decl) [USING_DECL]: Likewise.
From-SVN: r196067
Jason Merrill [Fri, 15 Feb 2013 01:26:54 +0000 (20:26 -0500)]
quick_exit.cc: #if out the whole test if unsupported.
* testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
test if unsupported.
From-SVN: r196066
Jason Merrill [Fri, 15 Feb 2013 01:26:44 +0000 (20:26 -0500)]
re PR c++/55223 ([C++11] Default lambda expression of a templated class member)
PR c++/55223
gcc/cp/
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Fix handling of
default argument scope.
* mangle.c (write_name): Likewise.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DEFAULT_ARG.
(d_print_comp): Likewise.
From-SVN: r196065
Jason Merrill [Fri, 15 Feb 2013 01:26:34 +0000 (20:26 -0500)]
re PR c++/55232 ([C++11] ICE with -Wunused-parameter for unused parameter pack using qualified dependent name)
PR c++/55232
* error.c (find_typenames_r): Don't walk into a pack expansion.
From-SVN: r196064
GCC Administrator [Fri, 15 Feb 2013 00:19:00 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196063
Thomas Koenig [Thu, 14 Feb 2013 22:13:26 +0000 (22:13 +0000)]
re PR fortran/56224 (gfortran -fopenmp cannot find omp_lib.h)
2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56224
* gfortran.h (gfc_add_include_path): Add boolean argument
for warn.
* scanner.c (gfc_add_include_path): Pass along warn argument
to add_path_to_list.
* options.c (gfc_post_options): Add true warn argument to
gfc_add_include_path.
(gfc_handle_module_path_options): Likewise.
(gfc_handle_option): Also gfc_add_include_path for intrinsic
modules, without warning.
From-SVN: r196058
Steven Bosscher [Thu, 14 Feb 2013 20:40:55 +0000 (20:40 +0000)]
* collect2-aix.h: Define F_LOADONLY.
From-SVN: r196057
H.J. Lu [Thu, 14 Feb 2013 16:54:01 +0000 (08:54 -0800)]
OFF_T: Merged from upstream r175140
PR bootstrap/56327
* interception/interception.h (OFF_T): Merged from upstream
r175140.
From-SVN: r196054
Jason Merrill [Thu, 14 Feb 2013 13:51:21 +0000 (08:51 -0500)]
* g++.dg/cpp0x/lambda/lambda-this8.C: use __builtin_abort
From-SVN: r196053
Rainer Emrich [Thu, 14 Feb 2013 13:04:10 +0000 (13:04 +0000)]
re PR ada/52123 (gcc bootstrap with ada fails on mingw target)
2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
PR target/52123
* tracebak.c: Cast from pointer via FARPROC.
From-SVN: r196051
Richard Biener [Thu, 14 Feb 2013 12:24:12 +0000 (12:24 +0000)]
re PR lto/50494 (gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto)
2013-02-14 Richard Biener <rguenther@suse.de>
PR lto/50494
* varasm.c (output_constant_def_1): Get the decl representing
the constant as argument.
(output_constant_def): Wrap output_constant_def_1.
(make_decl_rtl): Use output_constant_def_1 with the decl
representing the constant.
(build_constant_desc): Optionally re-use a decl already
representing the constant.
(tree_output_constant_def): Adjust.
From-SVN: r196050
Rainer Orth [Thu, 14 Feb 2013 11:45:01 +0000 (11:45 +0000)]
Allow for more whitespace in gcc.dg/debug/dwarf2/pr53948.c
* gcc.dg/debug/dwarf2/pr53948.c: Allow for more whitespace.
From-SVN: r196049
Rainer Orth [Thu, 14 Feb 2013 09:59:30 +0000 (09:59 +0000)]
Fix gcc.dg/debug/dwarf2/pr53948.c with Sun as
* gcc.dg/debug/dwarf2/pr53948.c: Allow for / and ! as comment
characters.
From-SVN: r196048
Tobias Burnus [Thu, 14 Feb 2013 09:37:53 +0000 (10:37 +0100)]
revert: [multiple changes]
2013-02-14 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR testsuite/56138
* trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
results for functions without extra result variable.
Revert:
2013-01-30 Tobias Burnus <burnus@net-b.de>
PR fortran/56138
* trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
results for functions without extra result variable.
2013-02-14 Dominique d'Humieres <dominiq@lps.ens.fr>
Tobias Burnus <burnus@net-b.de>
PR testsuite/56138
* gfortran.dg/allocatable_function_7.f90: New.
From-SVN: r196047
Jakub Jelinek [Thu, 14 Feb 2013 08:40:13 +0000 (09:40 +0100)]
dejagnu-gtest.h: Add multiple inclusion guards.
* g++.dg/asan/dejagnu-gtest.h: Add multiple inclusion guards.
* asan_globals_test-wrapper.cc: New file.
* g++.dg/asan/asan_test.C: Use asan_globals_test-wrapper.cc
instead of asan_globals_test.cc as dg-additional-sources.
Include asan_mem_test.cc, asan_str_test.cc and asan_oob_test.cc.
* g++.dg/asan/asan_test_utils.h: Synced from upstream. Include
"sanitizer_test_utils.h" instead of
"sanitizer_common/tests/sanitizer_test_utils.h".
* g++.dg/asan/asan_str_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_mem_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_oob_test.cc: New file, synced from upstream.
* g++.dg/asan/asan_globals_test.cc: Synced from upstream.
* g++.dg/asan/asan_test.cc: Synced from upstream.
* g++.dg/asan/sanitizer_test_utils.h: New file, synced from upstream.
From-SVN: r196045
Dodji Seketeli [Thu, 14 Feb 2013 04:37:56 +0000 (04:37 +0000)]
[asan] Fix a thinko leading to a crash
It appeared that in my previous patch, a stupid thinko can lead to a
crash when instrumenting some builtin functionsK. Fixed thus.
Bootstrapped and tested against trunk on x86_64-unknown-linux-gnu.
gcc/
* asan.c (instrument_builtin_call): Really put the length of the
second source argument into src1_len.
gcc/testsuite/
* c-c++-common/asan/memcmp-2.c: New test.
From-SVN: r196044
Jason Merrill [Thu, 14 Feb 2013 04:31:03 +0000 (23:31 -0500)]
re PR c++/55670 ([C++11] This isn't a pure virtual method.)
PR c++/55670
* parser.c (cp_parser_member_declaration): Check the declarator
form when detecting a function declaration via typedef.
From-SVN: r196043
Jason Merrill [Thu, 14 Feb 2013 04:30:26 +0000 (23:30 -0500)]
re PR c++/55680 ([C++11] Member specialization with lambda is rejected)
PR c++/55680
* pt.c (maybe_process_partial_specialization): A lambda
isn't what's being specialized.
From-SVN: r196042
Ed Smith-Rowland [Thu, 14 Feb 2013 02:55:42 +0000 (02:55 +0000)]
re PR c++/55582 ([C++11] Unable to define string user-defined literal without leading underscore.)
gcc/libcpp/
2013-02-13 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/55582
* libcpp/lex.c (lex_raw_string): Allow string literal with suffix
beginning with 's' to be parsed as a C++11 user-defined literal.
gcc/testsuite/
2013-02-13 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/55582
* g++.dg/cpp0x/udlit-string-literal.h: New.
* g++.dg/cpp0x/udlit-string-literal.C: New.
From-SVN: r196041
GCC Administrator [Thu, 14 Feb 2013 00:19:07 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r196039
Marc Glisse [Wed, 13 Feb 2013 21:58:53 +0000 (22:58 +0100)]
re PR libstdc++/56111 ({float,double,long double} complex not accepted anymore)
2013-02-13 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/56111
* include/std/complex (complex): Undefine.
* include/c_compatibility/complex.h (complex): Only undefine if
<complex> has been included.
* testsuite/26_numerics/complex/56111.cc: New testcase.
From-SVN: r196034
Sriraman Tallam [Wed, 13 Feb 2013 21:51:27 +0000 (21:51 +0000)]
mv12-aux.C: Delete, move to mv12-aux.cc.
2013-02-13 Sriraman Tallam <tmsriram@google.com>
* g++.dg/ext/mv12-aux.C: Delete, move to mv12-aux.cc.
* g++.dg/ext/mv12-aux.cc: New file.
* g++.dg/ext/mv12.h: Remove directives. Fix comment.
* g++.dg/ext/mv12.C: Fix file name.
From-SVN: r196033
François Dumont [Wed, 13 Feb 2013 21:09:34 +0000 (21:09 +0000)]
hashtable_policy.h (_Hash_code_base): Restore default constructor protected.
2013-02-13 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hash_code_base): Restore
default constructor protected.
* include/bits/hashtable.h: static assert that _Hash_code_base has
a default constructor available through inheritance.
From-SVN: r196030
Jakub Jelinek [Wed, 13 Feb 2013 20:47:39 +0000 (21:47 +0100)]
asan.c (create_cond_insert_point): Add create_then_fallthru_edge argument.
* asan.c (create_cond_insert_point): Add create_then_fallthru_edge
argument. If it is false, don't create edge from then_bb to
fallthru_bb.
(insert_if_then_before_iter): Pass true to it.
(build_check_stmt): Pass false to it.
(transform_statements): Flush hash table only on extended basic
block boundaries, rather than at the beginning of every bb.
Don't flush hash table on nonfreeing_call_p calls.
* tree-flow.h (nonfreeing_call_p): New prototype.
* tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
From-SVN: r196029
David S. Miller [Wed, 13 Feb 2013 20:25:41 +0000 (20:25 +0000)]
We should not strip subregs of non-scalars during shift expansion.
* expmed.c (expand_shift_1): Only strip scalar integer subregs.
From-SVN: r196027
Sriraman Tallam [Wed, 13 Feb 2013 18:55:02 +0000 (18:55 +0000)]
Make sure mv12-aux.C has same directives as mv12.C.
Make sure mv12-aux.C has same directives as mv12.C. mv12-aux.C should not
compile for non-x86 targets.
2013-02-13 Sriraman Tallam <tmsriram@google.com>
* g++.dg/ext/mv12-aux.C: Add directives to match mv12.C.
From-SVN: r196026
Jason Merrill [Wed, 13 Feb 2013 18:17:39 +0000 (13:17 -0500)]
re PR c++/55710 ([C++11] Linkage errors with lambdas)
PR c++/55710
* semantics.c (maybe_add_lambda_conv_op): Mark static thunk
TREE_USED.
From-SVN: r196025
Jason Merrill [Wed, 13 Feb 2013 17:56:38 +0000 (12:56 -0500)]
re PR c++/55879 ([C++11] nested constexpr Initialisation raises internal compiler error)
PR c++/55879
* semantics.c (cxx_bind_parameters_in_call): Undo DECL_BY_REFERENCE.
From-SVN: r196024
Jason Merrill [Wed, 13 Feb 2013 17:56:28 +0000 (12:56 -0500)]
re PR c++/55993 ([C++11] derived-to-base conversion fails in constant expression)
PR c++/55993
* semantics.c (cxx_fold_indirect_ref): Handle empty bases at
non-zero offsets, too.
From-SVN: r196023
Jason Merrill [Wed, 13 Feb 2013 17:56:16 +0000 (12:56 -0500)]
re PR c++/56155 ([C++11] enumeration with fixed underlying type - enumerators have wrong type within enumerator-list)
PR c++/56155
* decl.c (build_enumerator): Always convert the value to a
fixed underlying type.
From-SVN: r196022
Jason Merrill [Wed, 13 Feb 2013 17:56:05 +0000 (12:56 -0500)]
re PR c++/56135 ([c++11] this incorrectly captured as null in template member function)
PR c++/56135
* pt.c (tsubst_copy_and_build): Don't forget any new
captures that arose from use of dependent names.
From-SVN: r196021
Vladimir Makarov [Wed, 13 Feb 2013 17:40:22 +0000 (17:40 +0000)]
re PR target/56184 (Internal compiler error in push_reload during bootstrap stage 2)
2013-02-13 Vladimir Makarov <vmakarov@redhat.com>
PR target/56184
* ira.c (max_regno_before_ira): Move from ...
(ira): ... here.
(fix_reg_equiv_init): Use max_regno_before_ira instead of
vec_safe_length.
2013-02-13 Vladimir Makarov <vmakarov@redhat.com>
PR target/56184
* gcc.target/arm/pr56184.C: New test.
From-SVN: r196019
Jakub Jelinek [Wed, 13 Feb 2013 16:09:27 +0000 (17:09 +0100)]
re PR c++/56302 (sys/sdt.h asms stopped working at -O0)
PR c++/56302
* semantics.c (finish_asm_stmt): If input constraints allow
neither register nor memory, try maybe_constant_value to get
a constant if possible.
* g++.dg/torture/pr56302.C: New test.
* g++.dg/cpp0x/constexpr-56302.C: New test.
* c-c++-common/pr56302.c: New test.
From-SVN: r196018
Jakub Jelinek [Wed, 13 Feb 2013 16:06:43 +0000 (17:06 +0100)]
i386.c (ix86_asan_shadow_offset): Revert last change.
* config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
* asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.
From-SVN: r196017
Richard Biener [Wed, 13 Feb 2013 13:31:18 +0000 (13:31 +0000)]
re PR lto/56295 (Missed optimization with LTO)
2013-02-13 Richard Biener <rguenther@suse.de>
PR lto/56295
* gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
globals in MEM_REFs.
From-SVN: r196013
Tobias Burnus [Wed, 13 Feb 2013 12:03:18 +0000 (13:03 +0100)]
re PR fortran/56204 (gfortran.dg/quad_[23].f90 FAIL on Solaris 9/x86)
2013-02-13 Tobias Burnus <burnus@net-b.de>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR fortran/56204
* gfortran.dg/quad_2.f90: Use "< epsilon" instead of "==".
* gfortran.dg/quad_3.f90: Ditto.
From-SVN: r196011
Richard Biener [Wed, 13 Feb 2013 11:42:04 +0000 (11:42 +0000)]
loop-init.c (loop_optimizer_init): Clear loop state when re-initializing preserved loops.
2013-02-13 Richard Biener <rguenther@suse.de>
* loop-init.c (loop_optimizer_init): Clear loop state when
re-initializing preserved loops.
* loop-unswitch.c (unswitch_single_loop): Return whether
we unswitched the loop. Do not verify loop state here.
(unswitch_loops): When we unswitched a loop discover new
loops.
From-SVN: r196010
Kostya Serebryany [Wed, 13 Feb 2013 10:46:01 +0000 (10:46 +0000)]
libsanitizer merge from upstream r175049
From-SVN: r196009
Dodji Seketeli [Wed, 13 Feb 2013 10:32:26 +0000 (10:32 +0000)]
[asan] Avoid instrumenting duplicated memory access in the same basic block
Like what Address Sanitizer does in LLVM, this patch avoids instrumented
duplicated memory accesses in the same basic blocks.
The approach taken is very conservative, to keep the pass simple, for
a start.
A memory access is considered to be a pair made of an expression tree
representing the beginning of the memory region that is accessed and
a the size of the access, in byte. For now that size is either 1, 2,
4, 8 or 16 bytes.
The patch builds a hash table of the memory accesses that have been
instrumented in the current basic block. Then it walks the gimple
statements of the current basic block. For each statement, it tests
if the memory regions it references have already been instrumented.
If not, the statement is instrumented and each memory references that
are actually instrumented are added to the hash table. When a memory
region is accessed (usually through builtin functions like memset),
then what gets added to the hash table is actually two memory
accesses: one for the beginning of the region, and the other for the
its end.
When the patch crosses a function call that is not a built-in function
that we ought to instrument, the hash table is cleared, because that
function call can possibly e.g free some memory that was instrumented.
Likewise, when a new basic block is visited, the hash table is
cleared. I guess we could be smarter than just unconditionally
clearing the hash table in this later case, but this is what asan@llvm
does, and for now, I thought starting in a conservative manner might
have some value.
The hash table is destroyed at the end of the pass.
Bootstrapped and tested against trunk on x86-64-unknown-linux-gnu.
gcc/
* Makefile.in (asan.o): Add new dependency on hash-table.h
* asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
(asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
(has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
(free_mem_ref_resources, has_mem_ref_been_instrumented)
(has_stmt_been_instrumented_p, update_mem_ref_hash_table)
(get_mem_ref_of_assignment): New functions.
(get_mem_refs_of_builtin_call): Extract from
instrument_builtin_call and tweak a little bit to make it fit with
the new signature.
(instrument_builtin_call): Use the new
get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
of is_gimple_builtin_call.
(instrument_derefs, instrument_mem_region_access): Insert the
instrumented memory reference into the hash table.
(maybe_instrument_assignment): Renamed instrument_assignment into
this, and change it to advance the iterator when instrumentation
actually happened and return true in that case. This makes it
homogeneous with maybe_instrument_assignment, and thus give a
chance to callers to be more 'regular'.
(transform_statements): Clear the memory reference hash table
whenever we enter a new BB, when we cross a function call, or when
we are done transforming statements. Use
maybe_instrument_assignment instead of instrumentation. No more
need to special case maybe_instrument_assignment and advance the
iterator after calling it; it's now handled just like
maybe_instrument_call. Update comment.
gcc/testsuite/
* c-c++-common/asan/no-redundant-instrumentation-1.c: New test.
* testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* testsuite/c-c++-common/asan/inc.c: Likewise.
From-SVN: r196008
Kai Tietz [Wed, 13 Feb 2013 10:30:32 +0000 (11:30 +0100)]
Fix typo in ChangeLog
From-SVN: r196005
Kai Tietz [Wed, 13 Feb 2013 10:19:26 +0000 (11:19 +0100)]
re PR target/52122 (incorrect ln -s replacement for mingw like targets in configure files)
PR target/52122
* Makefile.in (LN_S_RECUSIVE): New.
(adainclude, adalib): Use LN_S_RECURSIVE for copy.
From-SVN: r196002
Kai Tietz [Wed, 13 Feb 2013 10:01:13 +0000 (11:01 +0100)]
Revert rev. 195980
From-SVN: r196001
Richard Biener [Wed, 13 Feb 2013 09:38:09 +0000 (09:38 +0000)]
mn10300.c (mn10300_scan_for_setlb_lcc): Fix loop discovery code.
2013-02-13 Richard Biener <rguenther@suse.de>
* config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
Fix loop discovery code.
From-SVN: r195998
GCC Administrator [Wed, 13 Feb 2013 00:18:45 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195995
Jason Merrill [Tue, 12 Feb 2013 20:47:15 +0000 (15:47 -0500)]
re PR c++/56285 ([C++11] Arguments to an inheriting constructor are not forwarded properly)
PR c++/56285
* method.c (add_one_base_init): Handle base constructor
taking rvalue reference parm.
From-SVN: r195990
Marek Polacek [Tue, 12 Feb 2013 20:07:04 +0000 (20:07 +0000)]
Fix bootstrap with -O3.
From-SVN: r195989
Vladimir Makarov [Tue, 12 Feb 2013 17:44:47 +0000 (17:44 +0000)]
re PR inline-asm/56148 (inline asm matching constraint with different mode)
2013-02-12 Vladimir Makarov <vmakarov@redhat.com>
PR inline-asm/56148
* lra-constraints.c (process_alt_operands): Match early clobber
operand with itself. Check conflicts with earlyclobner only if
the operand is not reloaded. Prefer to reload conflicting operand
if earlyclobber and matching operands are the same.
2013-02-12 Vladimir Makarov <vmakarov@redhat.com>
PR inline-asm/56148
* gcc.target/i386/pr56148.c: New test.
From-SVN: r195988
Jason Merrill [Tue, 12 Feb 2013 17:36:58 +0000 (12:36 -0500)]
re PR c++/56291 (ICE for C++11 in output_constructor_regular_field, at varasm.c:4821)
PR c++/56291
* semantics.c (sort_constexpr_mem_initializers): Handle
vptr out of order.
From-SVN: r195986
Jason Merrill [Tue, 12 Feb 2013 16:32:30 +0000 (11:32 -0500)]
int128 tests
From-SVN: r195985
Dominique d'Humieres [Tue, 12 Feb 2013 16:22:13 +0000 (17:22 +0100)]
re PR testsuite/56082 (FAIL: gfortran.dg/bind_c_bool_1.f90 -O (test for errors, line 18) on powerpc-apple-darwin9 with -m32)
2013-02-12 Dominique d'Humieres <dominiq@lps.ens.fr>
Tobias Burnus <burnus@net-b.de>
PR fortran/56082
* gfortran.dg/bind_c_bool_1.f90 (sub): Change kind=4
to kind=2 as 32bit Darwin has C_Bool == 4.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r195984
Kai Tietz [Tue, 12 Feb 2013 15:32:01 +0000 (16:32 +0100)]
re PR target/52122 (incorrect ln -s replacement for mingw like targets in configure files)
PR target/52122
* Makefile.in (LN_S_RECUSIVE): New.
(adainclude, adalib): Use LN_S_RECURSIVE for copy.
From-SVN: r195980
Richard Biener [Tue, 12 Feb 2013 15:14:32 +0000 (15:14 +0000)]
re PR lto/56297 (LTO: multiple definition error with global register variables)
2013-02-12 Richard Biener <rguenther@suse.de>
PR lto/56297
* lto-streamer-out.c (write_symbol): Do not output symbols
for hard register variables.
* gcc.dg/lto/pr56297_0.c: New testcase.
* gcc.dg/lto/pr56297_0.c: Likewise.
From-SVN: r195979
Georg-Johann Lay [Tue, 12 Feb 2013 14:55:16 +0000 (14:55 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
gcc/
PR target/54222
* config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
(umulsidi3_insn, mulsidi3_insn): New insns.
libgcc/
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA,
_ssmulHA, _ssmulSA.
(LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3,
_ssmulha3, _usmulusa3, _ssmulsa3.
* config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3.
(__muldi3): XCALL __muldi3_6 instead of rcall.
(__umulsidi3, __mulsidi3): New functions.
(do_prologue_saves, do_epilogue_restores): New .macros.
(__divdi3_moddi3): Use them.
* config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3)
(__usmulusa3, __ssmulsa3): New functions.
From-SVN: r195978
Christophe Lyon [Tue, 12 Feb 2013 14:53:45 +0000 (14:53 +0000)]
arm-protos.h (struct cpu_vec_costs): New struct type.
2013-02-05 Christophe Lyon <christophe.lyon@linaro.org>
* config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
(struct tune_params): Add vec_costs field.
* config/arm/arm.c (arm_builtin_vectorization_cost)
(arm_add_stmt_cost): New functions.
(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
(TARGET_VECTORIZE_ADD_STMT_COST): Define.
(arm_default_vec_cost): New struct of type cpu_vec_costs.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
(arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
(arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
From-SVN: r195977
Richard Biener [Tue, 12 Feb 2013 14:04:44 +0000 (14:04 +0000)]
re PR lto/56295 (Missed optimization with LTO)
2013-02-12 Richard Biener <rguenther@suse.de>
PR lto/56295
* gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
decls again if possible.
From-SVN: r195976
Janus Weil [Tue, 12 Feb 2013 12:15:26 +0000 (13:15 +0100)]
re PR fortran/46952 ([OOP] Spurious "recursive call" error with type bound procedure)
2013-02-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/46952
* resolve.c (resolve_call): Do not check deferred procedures for
recursiveness.
2013-02-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/46952
* gfortran.dg/typebound_deferred_1.f90: New.
From-SVN: r195975
Paolo Carlini [Tue, 12 Feb 2013 12:01:14 +0000 (12:01 +0000)]
cstdlib (at_quick_exit, quick_exit): Provide in C++11 mode.
2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
C++11 mode.
From-SVN: r195974
Richard Biener [Tue, 12 Feb 2013 11:18:05 +0000 (11:18 +0000)]
re PR middle-end/56288 (always true conditional expression in verify_ssa_name)
2013-02-12 Richard Biener <rguenther@suse.de>
PR middle-end/56288
* tree-ssa.c (verify_ssa_name): Fix check, move
SSA_NAME_IN_FREE_LIST check up.
From-SVN: r195973
Jakub Jelinek [Tue, 12 Feb 2013 10:37:38 +0000 (11:37 +0100)]
re PR rtl-optimization/56151 (Performance degradation after r194054 on x86 Atom.)
PR rtl-optimization/56151
* optabs.c (add_equal_note): Don't return 0 if target is a MEM,
equal to op0 or op1, and last_insn pattern is CODE operation
with MEM dest and one of the operands matches that MEM.
* gcc.target/i386/pr56151.c: New test.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r195972
Julian Brown [Tue, 12 Feb 2013 10:32:01 +0000 (10:32 +0000)]
38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions...
libstdc++-v3/
* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
Don't expect dots after abbreviated weekday names for ru_RU for
glibc versions >= 2.17.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
Likewise.
From-SVN: r195971
Paolo Carlini [Tue, 12 Feb 2013 10:26:54 +0000 (10:26 +0000)]
random.tcc (__transform): Remove.
2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (__transform): Remove.
(__normalize): Add.
(discrete_distribution<>::param_type::_M_initialize): Adjust.
(piecewise_constant_distribution<>::param_type::_M_initialize):
Likewise.
(piecewise_linear_distribution<>::param_type::_M_initialize):
Likewise.
From-SVN: r195970
Sriraman Tallam [Tue, 12 Feb 2013 06:50:32 +0000 (06:50 +0000)]
extend.texi: Document Function Multiversioning and "default" parameter string to target...
* doc/extend.texi: Document Function Multiversioning and "default"
parameter string to target attribute.
* g++.dg/ext/mv12.C: New test.
* g++.dg/ext/mv12.h: New file.
* g++.dg/ext/mv12-aux.C: New file.
* g++.dg/ext/mv13.C: New test.
* config/i386/i386.c (get_builtin_code_for_version): Return 0 if
target attribute parameter is "default".
(ix86_compare_version_priority): Remove checks for target attribute.
(ix86_mangle_function_version_assembler_name): Change error to sorry.
Remove check for target attribute equal to NULL. Add assert.
(ix86_generate_version_dispatcher_body): Change error to sorry.
From-SVN: r195967
Benjamin Kosnik [Tue, 12 Feb 2013 00:39:38 +0000 (00:39 +0000)]
Makefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.
2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
Use -fimplicit-templates.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/hashtable_c++0x.cc: Remove instantiation for
std::lower_bound template.
From-SVN: r195966
GCC Administrator [Tue, 12 Feb 2013 00:18:56 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195965
Paolo Carlini [Mon, 11 Feb 2013 23:42:43 +0000 (23:42 +0000)]
cstdlib (at_quick_exit, quick_exit): Do not declare.
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
in C++11 mode and if available in the underlying C library.
* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
_GLIBCXX_HAVE_QUICK_EXIT.
From-SVN: r195961
Iain Sandoe [Mon, 11 Feb 2013 23:30:10 +0000 (23:30 +0000)]
re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271)
/libgcc
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* config/darwin-crt-tm.c: Remove dummy functions hack.
/gcc
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
define ENDFILE_SPEC as TM_DESTRUCTOR.
* config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
/libitm
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* alloc_cpp.cc: Enable function declarations on darwin.
* eh_cpp.cc: Likewise.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r195960
Benjamin Kosnik [Mon, 11 Feb 2013 23:24:26 +0000 (23:24 +0000)]
*: Regenerate.
2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
* doc/html/*: Regenerate.
From-SVN: r195959
Jack Howarth [Mon, 11 Feb 2013 23:13:37 +0000 (23:13 +0000)]
configure.tgt: Disable build on darwin9 and earlier.
2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu>
* configure.tgt: Disable build on darwin9 and earlier.
From-SVN: r195958
Sebastian Huber [Mon, 11 Feb 2013 23:11:12 +0000 (23:11 +0000)]
2013-02-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* lib/target-supports.exp
(check_effective_target_powerpc_eabi_ok): New.
* gcc.target/powerpc/ppc-eabi.c: Use require effective target
powerpc_eabi_ok.
* gcc.target/powerpc/ppc-sdata-1.c: Likewise.
* gcc.target/powerpc/spe-small-data-2.c: Likewise. Do not run, compile
only.
* gcc.target/powerpc/ppc-sdata-2.c: Add powerpc-*-rtems*.
* gcc.target/powerpc/pr51623.c: Likewise.
* gcc.target/powerpc/ppc-stackalign-1.c: Likewise.
* gcc.target/powerpc/ppc-ldstruct.c: Likewise.
From-SVN: r195957
Alexander Potapenko [Mon, 11 Feb 2013 22:36:23 +0000 (22:36 +0000)]
re PR sanitizer/55617 (static constructors are not being instrumented correctly on darwin)
2013-02-11 Alexander Potapenko <glider@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Jakub Jelinek <jakub@redhat.com>
PR sanitizer/55617
* config/darwin.c (cdtor_record): Rename ctor_record.
(sort_cdtor_records): Rename sort_ctor_records.
(finalize_dtors): New routine to sort destructors by
priority before use in assemble_integer.
(machopic_asm_out_destructor): Use finalize_dtors if needed.
testsuite:
2013-02-11 Alexander Potapenko <glider@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Jakub Jelinek <jakub@redhat.com>
PR sanitizer/55617
* g++.dg/asan/pr55617.C: Run on all targets.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r195956
Sriraman Tallam [Mon, 11 Feb 2013 19:42:25 +0000 (19:42 +0000)]
Sync plugin-api.h with the copy in binutils. Please see:
http://sourceware.org/ml/binutils/2013-02/msg00136.html
for a change committed to plugin-api.h
2013-02-11 Sriraman Tallam <tmsriram@google.com>
* plugin-api.h (enum ld_plugin_level): Assign integers
explicitly for all values.
From-SVN: r195953
Ian Lance Taylor [Mon, 11 Feb 2013 19:03:04 +0000 (19:03 +0000)]
re PR go/56171 (syscall FAILs on Solaris)
PR go/56171
libgo: Solaris portability for syscall package.
From Rainer Orth.
From-SVN: r195950
Jason Merrill [Mon, 11 Feb 2013 17:50:13 +0000 (12:50 -0500)]
linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
* include/c_std/cstdlib: Add atexit and at_quick_exit.
* include/c_global/cstdlib: Add atexit and at_quick_exit.
* testsuite/18_support/quick_exit/quick_exit.cc: New.
From-SVN: r195948
Uros Bizjak [Mon, 11 Feb 2013 16:05:44 +0000 (17:05 +0100)]
re PR rtl-optimization/56275 (ICE in simplify_subreg, at simplify-rtx.c:5261 with vector code.)
PR rtl-optimization/56275
* simplify-rtx.c (avoid_constant_pool_reference): Check that
offset is non-negative and less than cmode size before
calling simplify_subreg.
testsuite/ChangeLog:
PR rtl-optimization/56275
* gcc.dg/pr56275.c: New test.
From-SVN: r195944
Jason Merrill [Mon, 11 Feb 2013 15:47:46 +0000 (10:47 -0500)]
re PR c++/56268 (C++11 ICE with boost multi-precision and boost variant during assignment)
PR c++/56268
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
maybe_instantiate_noexcept.
From-SVN: r195943
Richard Biener [Mon, 11 Feb 2013 15:08:51 +0000 (15:08 +0000)]
re PR tree-optimization/56273 (Bogus -Warray-bounds warning)
2013-02-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/56273
* gcc.dg/tree-ssa/vrp17.c: Disable tail-merging.
From-SVN: r195942
Richard Biener [Mon, 11 Feb 2013 15:07:40 +0000 (15:07 +0000)]
re PR tree-optimization/56264 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:557)
2013-02-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/56264
* cfgloop.h (fix_loop_structure): Adjust prototype.
* loop-init.c (fix_loop_structure): Return the number of
newly discovered loops.
* tree-cfgcleanup.c (repair_loop_structures): When new loops
are discovered, do a full loop-closed SSA rewrite.
* gcc.dg/torture/pr56264.c: New testcase.
From-SVN: r195941
Richard Biener [Mon, 11 Feb 2013 13:33:19 +0000 (13:33 +0000)]
re PR tree-optimization/56273 (Bogus -Warray-bounds warning)
2013-02-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/56273
* tree-vrp.c (simplify_cond_using_ranges): Disable for the
first VRP run.
(check_array_ref): Fix missing newline in dumps.
(search_for_addr_array): Likewise.
* g++.dg/warn/Warray-bounds-6.C: New testcase.
* gcc.dg/tree-ssa/pr21559.c: Adjust.
* gcc.dg/tree-ssa/vrp17.c: Likewise.
* gcc.dg/tree-ssa/vrp18.c: Likewise.
* gcc.dg/tree-ssa/vrp23.c: Likewise.
* gcc.dg/tree-ssa/vrp24.c: Likewise.
From-SVN: r195940
Paolo Carlini [Mon, 11 Feb 2013 10:30:43 +0000 (10:30 +0000)]
re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56282
Revert:
2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/56193
* include/bits/basic_ios.h: Replace operator void*() const
with explicit operator bool() const in C++11 and greater.
* testsuite/27_io/basic_ios/pr56193.cc: New file.
From-SVN: r195939
François Dumont [Mon, 11 Feb 2013 00:19:41 +0000 (00:19 +0000)]
containers.xml: Add section on unordered containers.
2013-02-10 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/containers.xml: Add section on unordered containers.
* doc/xml/manual/using.xml: Fix incomplete sentence.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r195937
Jonathan Wakely [Mon, 11 Feb 2013 00:19:29 +0000 (00:19 +0000)]
re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Check if hash function
is copy assignable.
* testsuite/23_containers/unordered_set/56267.cc: New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r195936
Jonathan Wakely [Mon, 11 Feb 2013 00:19:14 +0000 (00:19 +0000)]
re PR libstdc++/56278 (unordered containers fail static assertion)
PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.
From-SVN: r195935
GCC Administrator [Mon, 11 Feb 2013 00:19:06 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r195934
Ian Lance Taylor [Sun, 10 Feb 2013 06:02:38 +0000 (06:02 +0000)]
compiler, libgo: Permit testing package when test imports it circularly.
From-SVN: r195931
GCC Administrator [Sun, 10 Feb 2013 00:18:37 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195930
Ian Lance Taylor [Sat, 9 Feb 2013 23:19:33 +0000 (23:19 +0000)]
re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo testsuite: If using DejaGNU, don't frob the log file.
From-SVN: r195927
Ian Lance Taylor [Sat, 9 Feb 2013 23:02:09 +0000 (23:02 +0000)]
re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.
From-SVN: r195926
François Dumont [Sat, 9 Feb 2013 20:55:12 +0000 (20:55 +0000)]
bessel_function.tcc (__cyl_bessel_ij_series): Code simplification.
2013-02-09 François Dumont <fdumont@gcc.gnu.org>
* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
simplification.
From-SVN: r195925
Jason Merrill [Sat, 9 Feb 2013 20:39:13 +0000 (15:39 -0500)]
re PR c++/56247 (internal compiler error: in tsubst_copy, at cp/pt.c:12131)
PR c++/56247
* pt.c (eq_specializations): Set comparing_specializations.
* tree.c (cp_tree_equal): Check it.
* cp-tree.h: Declare it.
From-SVN: r195922
Jason Merrill [Sat, 9 Feb 2013 20:38:54 +0000 (15:38 -0500)]
* decl.c (decls_match): Check versions later.
From-SVN: r195921
Jason Merrill [Sat, 9 Feb 2013 20:38:33 +0000 (15:38 -0500)]
re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515)
PR c++/56238
* pt.c (build_non_dependent_expr): Don't try to fold
instantiation-dependent expressions.
(instantiation_dependent_r) [TRAIT_EXPR]: Split out.
[BIND_EXPR]: Treat as dependent.
From-SVN: r195920