- 13 Feb, 2013 12 commits
-
-
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 committed -
* 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
Jakub Jelinek committed -
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
Richard Biener committed -
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
Tobias Burnus committed -
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
Richard Biener committed -
From-SVN: r196009
Kostya Serebryany committed -
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
Dodji Seketeli committed -
From-SVN: r196005
Kai Tietz committed -
PR target/52122 * Makefile.in (LN_S_RECUSIVE): New. (adainclude, adalib): Use LN_S_RECURSIVE for copy. From-SVN: r196002
Kai Tietz committed -
From-SVN: r196001
Kai Tietz committed -
2013-02-13 Richard Biener <rguenther@suse.de> * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Fix loop discovery code. From-SVN: r195998
Richard Biener committed -
From-SVN: r195995
GCC Administrator committed
-
- 12 Feb, 2013 20 commits
-
-
PR c++/56285 * method.c (add_one_base_init): Handle base constructor taking rvalue reference parm. From-SVN: r195990
Jason Merrill committed -
From-SVN: r195989
Marek Polacek committed -
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
Vladimir Makarov committed -
PR c++/56291 * semantics.c (sort_constexpr_mem_initializers): Handle vptr out of order. From-SVN: r195986
Jason Merrill committed -
From-SVN: r195985
Jason Merrill committed -
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
Dominique d'Humieres committed -
PR target/52122 * Makefile.in (LN_S_RECUSIVE): New. (adainclude, adalib): Use LN_S_RECURSIVE for copy. From-SVN: r195980
Kai Tietz committed -
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
Richard Biener committed -
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
Georg-Johann Lay committed -
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
Christophe Lyon committed -
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
Richard Biener committed -
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
Janus Weil committed -
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
Paolo Carlini committed -
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
Richard Biener committed -
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
Jakub Jelinek committed -
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
Julian Brown committed -
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
Paolo Carlini committed -
* 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
Sriraman Tallam committed -
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
Benjamin Kosnik committed -
From-SVN: r195965
GCC Administrator committed
-
- 11 Feb, 2013 8 commits
-
-
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
Paolo Carlini committed -
/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
Iain Sandoe committed -
2013-02-11 Benjamin Kosnik <bkoz@redhat.com> * doc/html/*: Regenerate. From-SVN: r195959
Benjamin Kosnik committed -
2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu> * configure.tgt: Disable build on darwin9 and earlier. From-SVN: r195958
Jack Howarth committed -
* 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
Sebastian Huber committed -
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
Alexander Potapenko committed -
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
Sriraman Tallam committed -
PR go/56171 libgo: Solaris portability for syscall package. From Rainer Orth. From-SVN: r195950
Ian Lance Taylor committed
-