From 1d9fec7937f45dde5e04cac966a2d9a12f2fc15a Mon Sep 17 00:00:00 2001 From: Yiran Wang Date: Tue, 23 Jun 2015 15:33:17 -0700 Subject: Synchronize with google/gcc-4_9 to r224707 (from r214835) Change-Id: I3d6f06fc613c8f8b6a82143dc44b7338483aac5d --- gcc-4.9/gcc/testsuite/ChangeLog | 871 +++++++++++++++++++++ .../testsuite/c-c++-common/asan/asan-interface-1.c | 14 + .../gcc/testsuite/c-c++-common/asan/bitfield-1.c | 25 + .../gcc/testsuite/c-c++-common/asan/bitfield-2.c | 25 + .../gcc/testsuite/c-c++-common/asan/bitfield-3.c | 25 + .../gcc/testsuite/c-c++-common/asan/bitfield-4.c | 25 + gcc-4.9/gcc/testsuite/c-c++-common/asan/inc.c | 4 +- .../c-c++-common/asan/instrument-with-calls-1.c | 10 + .../c-c++-common/asan/instrument-with-calls-2.c | 16 + .../gcc/testsuite/c-c++-common/asan/misalign-1.c | 42 + .../gcc/testsuite/c-c++-common/asan/misalign-2.c | 42 + .../asan/no-redundant-instrumentation-1.c | 24 +- .../asan/no-redundant-instrumentation-2.c | 9 +- .../asan/no-redundant-instrumentation-3.c | 10 +- .../asan/no-redundant-instrumentation-4.c | 12 +- .../asan/no-redundant-instrumentation-5.c | 13 +- .../asan/no-redundant-instrumentation-6.c | 14 +- .../asan/no-redundant-instrumentation-7.c | 12 +- .../asan/no-redundant-instrumentation-8.c | 14 +- .../asan/no-redundant-instrumentation-9.c | 13 + gcc-4.9/gcc/testsuite/c-c++-common/asan/pr61530.c | 17 + gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62089.c | 38 + .../gcc/testsuite/c-c++-common/asan/pr62140-1.c | 10 + .../gcc/testsuite/c-c++-common/asan/pr62140-2.c | 11 + gcc-4.9/gcc/testsuite/c-c++-common/asan/pr63638.c | 20 + .../c-c++-common/asan/strlen-overflow-1.c | 30 + .../gcc/testsuite/c-c++-common/gomp/pr60823-4.c | 7 + gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr61200.c | 13 + gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63249.c | 16 + gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63328.c | 5 + gcc-4.9/gcc/testsuite/c-c++-common/pr56493.c | 16 + gcc-4.9/gcc/testsuite/c-c++-common/pr61553.c | 8 + .../gcc/testsuite/c-c++-common/tsan/atomic_stack.c | 8 +- .../gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c | 9 +- .../gcc/testsuite/c-c++-common/tsan/mutexset1.c | 9 +- .../testsuite/c-c++-common/tsan/race_on_barrier.c | 10 +- .../testsuite/c-c++-common/tsan/race_on_mutex.c | 12 +- .../testsuite/c-c++-common/tsan/race_on_mutex2.c | 11 +- .../gcc/testsuite/c-c++-common/tsan/simple_race.c | 11 +- .../gcc/testsuite/c-c++-common/tsan/simple_stack.c | 25 +- .../gcc/testsuite/c-c++-common/tsan/sleep_sync.c | 6 + .../gcc/testsuite/c-c++-common/tsan/tiny_race.c | 8 +- gcc-4.9/gcc/testsuite/c-c++-common/tsan/tls_race.c | 8 +- .../gcc/testsuite/c-c++-common/tsan/tsan_barrier.h | 14 + .../c-c++-common/tsan/write_in_reader_lock.c | 8 +- .../testsuite/c-c++-common/ubsan/overflow-sub-3.c | 34 + .../gcc/testsuite/c-c++-common/ubsan/undefined-2.c | 26 + gcc-4.9/gcc/testsuite/g++.dg/abi/aarch64_guard1.C | 3 +- gcc-4.9/gcc/testsuite/g++.dg/abi/no-weak1.C | 13 + gcc-4.9/gcc/testsuite/g++.dg/abi/spec1.C | 4 + gcc-4.9/gcc/testsuite/g++.dg/asan/pr62017.C | 17 + .../g++.dg/compat/struct-layout-1_generate.c | 4 +- gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-44.C | 43 + .../gcc/testsuite/g++.dg/cpp0x/constexpr-63241.C | 13 + .../gcc/testsuite/g++.dg/cpp0x/constexpr-63265.C | 19 + .../testsuite/g++.dg/cpp0x/constexpr-initlist8.C | 7 + gcc-4.9/gcc/testsuite/g++.dg/cpp0x/deleted9.C | 31 + gcc-4.9/gcc/testsuite/g++.dg/cpp0x/initlist89.C | 4 + .../g++.dg/cpp0x/lambda/lambda-template14.C | 11 + gcc-4.9/gcc/testsuite/g++.dg/cpp0x/ref-qual16.C | 12 + gcc-4.9/gcc/testsuite/g++.dg/cpp0x/variadic161.C | 51 ++ gcc-4.9/gcc/testsuite/g++.dg/cpp0x/variadic162.C | 14 + .../gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C | 40 + gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C | 81 ++ gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C | 231 ++++++ .../gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C | 99 +++ gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx98.C | 9 + gcc-4.9/gcc/testsuite/g++.dg/cpp1y/paren1.C | 31 + gcc-4.9/gcc/testsuite/g++.dg/cpp1y/phoobhar.h | 16 + gcc-4.9/gcc/testsuite/g++.dg/cpp1y/pr57644.C | 13 + gcc-4.9/gcc/testsuite/g++.dg/ext/altivec-2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ext/stmtexpr16.C | 10 + gcc-4.9/gcc/testsuite/g++.dg/gomp/pr63249.C | 35 + gcc-4.9/gcc/testsuite/g++.dg/init/const9.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-10.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-11.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-12.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-13.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-14.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-15.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-16.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-17.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-18.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-19.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-20.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-21.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-22.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-23.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-24.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-25.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-26.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-27.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-28.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-28a.C | 15 + gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-29.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-3.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-30.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-31.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-39.C | 5 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-4.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-40.C | 21 + gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-5.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-6.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-7.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-9.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-3.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-4.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-5.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-6.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-7.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-c-8.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-d-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-g-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/imm-devirt-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/imm-devirt-2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-3.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-4.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-5.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-7.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-8.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/ivinline-9.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/pr60600.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/pr60640-4.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61654.C | 40 + gcc-4.9/gcc/testsuite/g++.dg/ipa/pr62015.C | 55 ++ gcc-4.9/gcc/testsuite/g++.dg/ipa/pr63306.C | 14 + gcc-4.9/gcc/testsuite/g++.dg/ipa/pr63838.C | 56 ++ gcc-4.9/gcc/testsuite/g++.dg/ipa/pr64068.C | 49 ++ .../gcc/testsuite/g++.dg/ipa/type-inheritance-1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/lto/pr62026.C | 22 + gcc-4.9/gcc/testsuite/g++.dg/opt/devirt1.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/opt/devirt2.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/opt/devirt3.C | 2 +- gcc-4.9/gcc/testsuite/g++.dg/opt/devirt4.C | 7 +- gcc-4.9/gcc/testsuite/g++.dg/opt/devirt5.C | 19 + gcc-4.9/gcc/testsuite/g++.dg/opt/flifetime-dse1.C | 23 + gcc-4.9/gcc/testsuite/g++.dg/pr54442.C | 12 + gcc-4.9/gcc/testsuite/g++.dg/pr62079.C | 78 ++ gcc-4.9/gcc/testsuite/g++.dg/pr64037.C | 27 + gcc-4.9/gcc/testsuite/g++.dg/template/friend56.C | 13 + .../testsuite/g++.dg/template/non-dependent14.C | 7 + gcc-4.9/gcc/testsuite/g++.dg/template/offsetof3.C | 18 + gcc-4.9/gcc/testsuite/g++.dg/template/ptrmem29.C | 10 + gcc-4.9/gcc/testsuite/g++.dg/template/ref9.C | 15 + gcc-4.9/gcc/testsuite/g++.dg/template/spec38.C | 6 + gcc-4.9/gcc/testsuite/g++.dg/torture/pr62121.C | 12 + gcc-4.9/gcc/testsuite/g++.dg/torture/pr62175.C | 36 + gcc-4.9/gcc/testsuite/g++.dg/torture/pr63632.C | 5 + .../g++.dg/tree-prof/func_reorder_gold_plugin_1.C | 2 +- .../testsuite/g++.dg/tree-prof/lipo/buildinfo.txt | 1 + .../testsuite/g++.dg/tree-prof/lipo/comdat_fixup.h | 5 + .../g++.dg/tree-prof/lipo/comdat_fixup_0.C | 9 + .../g++.dg/tree-prof/lipo/comdat_fixup_1.C | 7 + .../g++.dg/tree-prof/lipo/comdat_fixup_2.C | 7 + .../g++.dg/tree-prof/lipo/indir-call-prof_0.C | 2 +- .../testsuite/g++.dg/tree-prof/lipo/static1_0.C | 48 ++ .../testsuite/g++.dg/tree-prof/lipo/static1_1.C | 14 + .../testsuite/g++.dg/tree-prof/lipo/static1_2.C | 14 + gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls.h | 16 + gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls2.h | 15 + .../gcc/testsuite/g++.dg/tree-prof/lipo/tls2_0.C | 10 + .../gcc/testsuite/g++.dg/tree-prof/lipo/tls2_1.C | 31 + .../gcc/testsuite/g++.dg/tree-prof/lipo/tls_0.C | 10 + .../gcc/testsuite/g++.dg/tree-prof/lipo/tls_1.C | 38 + .../testsuite/g++.dg/tree-prof/partition_patch.C | 19 + gcc-4.9/gcc/testsuite/g++.dg/tree-prof/pr63581.C | 91 +++ gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr63841.C | 35 + gcc-4.9/gcc/testsuite/g++.dg/tsan/atomic_free.C | 9 +- gcc-4.9/gcc/testsuite/g++.dg/tsan/atomic_free2.C | 9 +- gcc-4.9/gcc/testsuite/g++.dg/tsan/cond_race.C | 9 +- gcc-4.9/gcc/testsuite/g++.dg/tsan/tsan_barrier.h | 14 + gcc-4.9/gcc/testsuite/g++.dg/ubsan/pr61272.C | 24 + gcc-4.9/gcc/testsuite/g++.dg/ubsan/pr63913.C | 12 + gcc-4.9/gcc/testsuite/g++.dg/warn/Wunused-parm-6.C | 8 + gcc-4.9/gcc/testsuite/g++.dg/warn/Wunused-var-22.C | 12 + .../gcc/testsuite/g++.dg/warn/register-parm-1.C | 9 + .../gcc/testsuite/gcc.c-torture/compile/pr62312.c | 23 + .../gcc/testsuite/gcc.c-torture/compile/pr63282.c | 13 + .../gcc/testsuite/gcc.c-torture/compile/pr64067.c | 10 + .../gcc/testsuite/gcc.c-torture/compile/pr64269.c | 9 + .../gcc/testsuite/gcc.c-torture/execute/pr63209.c | 27 + .../gcc/testsuite/gcc.c-torture/execute/pr63302.c | 60 ++ .../gcc/testsuite/gcc.c-torture/execute/pr63659.c | 29 + gcc-4.9/gcc/testsuite/gcc.dg/20141029-1.c | 28 + gcc-4.9/gcc/testsuite/gcc.dg/darwin-minversion-1.c | 3 +- gcc-4.9/gcc/testsuite/gcc.dg/darwin-minversion-2.c | 3 +- gcc-4.9/gcc/testsuite/gcc.dg/darwin-minversion-3.c | 3 +- gcc-4.9/gcc/testsuite/gcc.dg/darwin-minversion-4.c | 12 + gcc-4.9/gcc/testsuite/gcc.dg/fpomit-1.c | 25 + gcc-4.9/gcc/testsuite/gcc.dg/fpomit-2.c | 41 + gcc-4.9/gcc/testsuite/gcc.dg/fpomit-3.c | 56 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-4.c | 64 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-5.c | 59 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-6.c | 50 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-7.c | 50 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-8.c | 84 ++ gcc-4.9/gcc/testsuite/gcc.dg/fpomit-9.c | 23 + gcc-4.9/gcc/testsuite/gcc.dg/ipa/PR64559.c | 39 + gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr61986.c | 48 ++ gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr63551.c | 33 + gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr64041.c | 64 ++ gcc-4.9/gcc/testsuite/gcc.dg/option_no-pie.c | 7 + gcc-4.9/gcc/testsuite/gcc.dg/pr51879-12.c | 4 +- gcc-4.9/gcc/testsuite/gcc.dg/pr52769.c | 24 + gcc-4.9/gcc/testsuite/gcc.dg/pr56724-1.c | 33 + gcc-4.9/gcc/testsuite/gcc.dg/pr56724-2.c | 31 + gcc-4.9/gcc/testsuite/gcc.dg/pr61053.c | 8 +- gcc-4.9/gcc/testsuite/gcc.dg/pr62167-run.c | 47 ++ gcc-4.9/gcc/testsuite/gcc.dg/pr62167.c | 50 ++ gcc-4.9/gcc/testsuite/gcc.dg/pr62294.c | 10 + gcc-4.9/gcc/testsuite/gcc.dg/pr62294.h | 3 + gcc-4.9/gcc/testsuite/gcc.dg/pr63186.c | 30 + gcc-4.9/gcc/testsuite/gcc.dg/pr63284.c | 42 + gcc-4.9/gcc/testsuite/gcc.dg/pr63342.c | 26 + gcc-4.9/gcc/testsuite/gcc.dg/pr63538.c | 14 + gcc-4.9/gcc/testsuite/gcc.dg/pr63665.c | 18 + gcc-4.9/gcc/testsuite/gcc.dg/pr64536.c | 67 ++ gcc-4.9/gcc/testsuite/gcc.dg/pr64563.c | 14 + gcc-4.9/gcc/testsuite/gcc.dg/tm/pr64391.c | 10 + .../gcc.dg/torture/float128-exact-underflow.c | 41 + gcc-4.9/gcc/testsuite/gcc.dg/torture/pr62031.c | 52 ++ gcc-4.9/gcc/testsuite/gcc.dg/torture/pr62238.c | 30 + gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63380-1.c | 15 + gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63380-2.c | 10 + gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63738.c | 27 + gcc-4.9/gcc/testsuite/gcc.dg/torture/pr64365.c | 37 + gcc-4.9/gcc/testsuite/gcc.dg/torture/vshuf-4.inc | 4 +- .../gcc.dg/tree-prof/cold_partition_label.c | 2 + .../gcc.dg/tree-prof/cold_partition_patch.c | 37 + .../gcc.dg/tree-prof/lipo/ic-misattribution-1_0.c | 2 +- .../tree-prof/lipo/indir-call-prof-single_0.c | 2 +- .../gcc.dg/tree-prof/lipo/indir-call-prof_0.c | 2 +- .../testsuite/gcc.dg/tree-prof/time-profiler-1.c | 2 +- .../testsuite/gcc.dg/tree-prof/time-profiler-2.c | 2 +- gcc-4.9/gcc/testsuite/gcc.dg/tree-ssa/loop-19.c | 2 +- gcc-4.9/gcc/testsuite/gcc.dg/tree-ssa/pr61144.c | 7 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr25413a.c | 1 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr59594.c | 2 +- gcc-4.9/gcc/testsuite/gcc.dg/vect/pr60196-1.c | 34 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr60196-2.c | 33 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr62021.c | 30 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr62075.c | 22 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63189.c | 26 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63379.c | 43 + gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63605.c | 22 + gcc-4.9/gcc/testsuite/gcc.dg/vect/vect-109.c | 1 + gcc-4.9/gcc/testsuite/gcc.dg/vmx/3c-01a.c | 1 + gcc-4.9/gcc/testsuite/gcc.dg/vmx/ops-long-1.c | 1 + gcc-4.9/gcc/testsuite/gcc.dg/vmx/ops.c | 1 + .../gcc.target/aarch64/madd_after_asm_1.c | 14 + gcc-4.9/gcc/testsuite/gcc.target/aarch64/pr62040.c | 21 + gcc-4.9/gcc/testsuite/gcc.target/aarch64/pr62262.c | 20 + gcc-4.9/gcc/testsuite/gcc.target/aarch64/pr63424.c | 39 + .../gcc.target/aarch64/scalar_intrinsics.c | 366 ++++----- .../testsuite/gcc.target/aarch64/sisd-shft-neg_1.c | 38 + .../gcc.target/aarch64/vqdmlalh_lane_s16.c | 4 +- .../gcc.target/aarch64/vqdmlals_lane_s32.c | 2 +- .../gcc.target/aarch64/vqdmlslh_lane_s16.c | 4 +- .../gcc.target/aarch64/vqdmlsls_lane_s32.c | 2 +- .../gcc.target/aarch64/vqdmullh_lane_s16.c | 4 +- .../gcc.target/aarch64/vqdmulls_lane_s32.c | 2 +- .../gcc.target/avr/torture/pr63633-ice-mult.c | 37 + gcc-4.9/gcc/testsuite/gcc.target/h8300/h8300.exp | 41 - .../gcc/testsuite/gcc.target/h8300/pragma-isr.c | 20 - .../gcc/testsuite/gcc.target/h8300/pragma-isr2.c | 21 - .../gcc/testsuite/gcc.target/i386/avx2-pr64286.c | 37 + .../gcc.target/i386/avx256-unaligned-load-7.c | 6 +- .../gcc.target/i386/avx256-unaligned-store-7.c | 4 +- .../gcc/testsuite/gcc.target/i386/bmi2-bzhi-2.c | 67 ++ .../testsuite/gcc.target/i386/memcpy-strategy-4.c | 21 + .../testsuite/gcc.target/i386/memset-strategy-2.c | 10 + gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-1.c | 13 + gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-2.c | 13 + gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-3.c | 12 + gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-4.c | 11 + .../testsuite/gcc.target/i386/pie-copyrelocs-1.c | 11 +- .../testsuite/gcc.target/i386/pie-copyrelocs-2.c | 13 +- .../testsuite/gcc.target/i386/pie-copyrelocs-3.c | 14 + .../testsuite/gcc.target/i386/pie-copyrelocs-4.c | 17 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr57003.c | 2 +- gcc-4.9/gcc/testsuite/gcc.target/i386/pr59927.c | 2 +- gcc-4.9/gcc/testsuite/gcc.target/i386/pr60516.c | 2 +- gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c | 28 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr63448.c | 120 +++ gcc-4.9/gcc/testsuite/gcc.target/i386/pr63495.c | 6 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr63538.c | 13 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr63661.c | 80 ++ gcc-4.9/gcc/testsuite/gcc.target/i386/pr63947.c | 9 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr64409.c | 6 + gcc-4.9/gcc/testsuite/gcc.target/i386/pr64513.c | 17 + .../gcc/testsuite/gcc.target/powerpc/altivec-20.c | 2 +- .../gcc/testsuite/gcc.target/powerpc/altivec-6.c | 2 +- .../gcc.target/powerpc/altivec-vec-merge.c | 2 +- .../gcc/testsuite/gcc.target/powerpc/builtins-1.c | 166 ++++ .../gcc/testsuite/gcc.target/powerpc/builtins-2.c | 47 ++ .../gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c | 21 + gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr63335.c | 30 + gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr64505.c | 231 ++++++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-1.c | 35 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-10.c | 42 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-11.c | 53 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-12.c | 56 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-13.c | 54 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-14.c | 43 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-15.c | 51 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-16.c | 57 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-17.c | 15 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-2.c | 41 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-3.c | 43 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-4.c | 45 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-5.c | 45 ++ .../gcc/testsuite/gcc.target/powerpc/swaps-p8-6.c | 32 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-7.c | 38 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-8.c | 40 + .../gcc/testsuite/gcc.target/powerpc/swaps-p8-9.c | 42 + .../testsuite/gcc.target/powerpc/vsx-builtin-8.c | 2 +- .../testsuite/gcc.target/powerpc/vsx-extract-1.c | 8 +- .../testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c | 14 + .../gcc/testsuite/gcc.target/sh/pr51244-20-sh2a.c | 6 +- gcc-4.9/gcc/testsuite/gcc.target/sh/pr51244-20.c | 10 +- gcc-4.9/gcc/testsuite/gcc.target/sh/pr64507.c | 25 + .../testsuite/gcc.target/sh/torture/pr63783-1.c | 29 + .../testsuite/gcc.target/sh/torture/pr63783-2.c | 29 + .../gcc/testsuite/gfortran.dg/dependency_45.f90 | 12 + .../gcc/testsuite/gfortran.dg/gomp/pr59488-1.f90 | 13 + .../gcc/testsuite/gfortran.dg/gomp/pr59488-2.f90 | 16 + .../gcc/testsuite/gfortran.dg/pointer_intent_7.f90 | 2 +- gcc-4.9/gcc/testsuite/gfortran.dg/pr64528.f90 | 20 + .../testsuite/gfortran.dg/typebound_call_26.f90 | 30 + .../gfortran.dg/typebound_operator_20.f90 | 53 ++ gcc-4.9/gcc/testsuite/gnat.dg/entry_queues2.adb | 45 ++ gcc-4.9/gcc/testsuite/gnat.dg/opt41.adb | 15 + gcc-4.9/gcc/testsuite/gnat.dg/opt41_pkg.adb | 53 ++ gcc-4.9/gcc/testsuite/gnat.dg/opt41_pkg.ads | 28 + gcc-4.9/gcc/testsuite/gnat.dg/opt45.adb | 38 + gcc-4.9/gcc/testsuite/gnat.dg/opt47.adb | 31 + gcc-4.9/gcc/testsuite/go.test/go-test.exp | 6 +- gcc-4.9/gcc/testsuite/lib/asan-dg.exp | 23 +- gcc-4.9/gcc/testsuite/lib/profopt.exp | 2 + gcc-4.9/gcc/testsuite/lib/target-supports.exp | 64 ++ 346 files changed, 7849 insertions(+), 494 deletions(-) create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/asan-interface-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-2.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-3.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-4.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-2.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-2.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-9.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/pr61530.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62089.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-2.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/pr63638.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/asan/strlen-overflow-1.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr60823-4.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr61200.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63249.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63328.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/pr56493.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/pr61553.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/tsan/tsan_barrier.h create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c create mode 100644 gcc-4.9/gcc/testsuite/c-c++-common/ubsan/undefined-2.c create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/abi/no-weak1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/abi/spec1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/asan/pr62017.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-44.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-63241.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-63265.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-initlist8.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/deleted9.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/initlist89.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template14.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/ref-qual16.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/variadic161.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp0x/variadic162.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/feat-cxx98.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/paren1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/phoobhar.h create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/cpp1y/pr57644.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ext/stmtexpr16.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/gomp/pr63249.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-28a.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/devirt-40.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61654.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/pr62015.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/pr63306.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/pr63838.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ipa/pr64068.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/lto/pr62026.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/opt/devirt5.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/opt/flifetime-dse1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/pr54442.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/pr62079.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/pr64037.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/friend56.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/non-dependent14.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/offsetof3.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/ptrmem29.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/ref9.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/template/spec38.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/torture/pr62121.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/torture/pr62175.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/torture/pr63632.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/buildinfo.txt create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/comdat_fixup.h create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/comdat_fixup_0.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/comdat_fixup_1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/comdat_fixup_2.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/static1_0.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/static1_1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/static1_2.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls.h create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls2.h create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls2_0.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls2_1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls_0.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/lipo/tls_1.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/partition_patch.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-prof/pr63581.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr63841.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/tsan/tsan_barrier.h create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ubsan/pr61272.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/ubsan/pr63913.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/warn/Wunused-parm-6.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/warn/Wunused-var-22.C create mode 100644 gcc-4.9/gcc/testsuite/g++.dg/warn/register-parm-1.C create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr62312.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr63282.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr64067.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr64269.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/execute/pr63209.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/execute/pr63302.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/execute/pr63659.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/20141029-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/darwin-minversion-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-3.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-5.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-6.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-7.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-8.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/fpomit-9.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/ipa/PR64559.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr61986.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr63551.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/ipa/pr64041.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/option_no-pie.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr52769.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr56724-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr56724-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr62167-run.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr62167.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr62294.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr62294.h create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr63186.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr63284.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr63342.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr63538.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr63665.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr64536.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/pr64563.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/tm/pr64391.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/float128-exact-underflow.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr62031.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr62238.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63380-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63380-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr63738.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/torture/pr64365.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/tree-prof/cold_partition_patch.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/tree-ssa/pr61144.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr60196-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr60196-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr62021.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr62075.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63189.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63379.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.dg/vect/pr63605.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/aarch64/pr63424.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/avr/torture/pr63633-ice-mult.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/avx2-pr64286.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/bmi2-bzhi-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/memset-strategy-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-3.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/noplt-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pie-copyrelocs-3.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pie-copyrelocs-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63285.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63448.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63495.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63538.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63661.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr63947.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr64409.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/pr64513.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/builtins-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/builtins-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr63335.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr64505.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-10.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-11.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-12.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-13.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-14.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-15.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-16.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-17.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-2.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-3.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-4.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-5.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-6.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-7.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-8.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/swaps-p8-9.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/sh/pr64507.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/sh/torture/pr63783-1.c create mode 100644 gcc-4.9/gcc/testsuite/gcc.target/sh/torture/pr63783-2.c create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/dependency_45.f90 create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/gomp/pr59488-1.f90 create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/gomp/pr59488-2.f90 create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/pr64528.f90 create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/typebound_call_26.f90 create mode 100644 gcc-4.9/gcc/testsuite/gfortran.dg/typebound_operator_20.f90 create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/entry_queues2.adb create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/opt41.adb create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/opt41_pkg.adb create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/opt41_pkg.ads create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/opt45.adb create mode 100644 gcc-4.9/gcc/testsuite/gnat.dg/opt47.adb (limited to 'gcc-4.9/gcc/testsuite') diff --git a/gcc-4.9/gcc/testsuite/ChangeLog b/gcc-4.9/gcc/testsuite/ChangeLog index 4eefcba93..2d76bdc81 100644 --- a/gcc-4.9/gcc/testsuite/ChangeLog +++ b/gcc-4.9/gcc/testsuite/ChangeLog @@ -1,8 +1,411 @@ +2015-03-26 Bill Schmidt + + Backport r214254 and related tests from mainline + * gcc.target/powerpc/swaps-p8-1.c: New test. + * gcc.target/powerpc/swaps-p8-2.c: New test. + * gcc.target/powerpc/swaps-p8-3.c: New test. + * gcc.target/powerpc/swaps-p8-4.c: New test. + * gcc.target/powerpc/swaps-p8-5.c: New test. + * gcc.target/powerpc/swaps-p8-6.c: New test. + * gcc.target/powerpc/swaps-p8-7.c: New test. + * gcc.target/powerpc/swaps-p8-8.c: New test. + * gcc.target/powerpc/swaps-p8-9.c: New test. + * gcc.target/powerpc/swaps-p8-10.c: New test. + * gcc.target/powerpc/swaps-p8-11.c: New test. + * gcc.target/powerpc/swaps-p8-12.c: New test. + * gcc.target/powerpc/swaps-p8-13.c: New test. + * gcc.target/powerpc/swaps-p8-14.c: New test. + * gcc.target/powerpc/swaps-p8-15.c: New test. + * gcc.target/powerpc/swaps-p8-16.c: New test. + * gcc.target/powerpc/swaps-p8-17.c: New test. + +2015-01-20 Marek Polacek + + Backport from mainline + 2014-06-23 Marek Polacek + + PR c/61553 + * c-c++-common/pr61553.c: New test. + +2015-01-16 Bernd Edlinger + + * c-c++-common/tsan/tsan_barrier.h: New. + * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep. + * c-c++-common/tsan/fd_pipe_race.c: Likewise. + * c-c++-common/tsan/mutexset1.c: Likewise. + * c-c++-common/tsan/race_on_barrier.c: Likewise. + * c-c++-common/tsan/race_on_mutex.c: Likewise. + * c-c++-common/tsan/race_on_mutex2.c: Likewise. + * c-c++-common/tsan/simple_race.c: Likewise. + * c-c++-common/tsan/simple_stack.c: Likewise. + * c-c++-common/tsan/sleep_sync.c: Likewise. + * c-c++-common/tsan/tiny_race.c: Likewise. + * c-c++-common/tsan/tls_race.c: Likewise. + * c-c++-common/tsan/write_in_reader_lock.c: Likewise. + * g++.dg/tsan/atomic_free.C: Likewise. + * g++.dg/tsan/atomic_free2.C: Likewise. + * g++.dg/tsan/cond_race.C: Likewise. + * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan. + +2015-01-15 Eric Botcazou + + * gnat.dg/opt47.adb: New test. + +2015-01-14 Jakub Jelinek + + Backported from mainline + 2015-01-12 Jakub Jelinek + + PR target/64513 + * gcc.target/i386/pr64513.c: New test. + + 2015-01-13 Jakub Jelinek + + PR rtl-optimization/64286 + * gcc.target/i386/avx2-pr64286.c: New test. + + PR fortran/64528 + * gfortran.dg/pr64528.f90: New test. + + 2015-01-12 Jakub Jelinek + + PR tree-optimization/64563 + * gcc.dg/pr64563.c: New test. + +2015-01-14 Marek Polacek + + Backport from mainline + 2015-01-13 Marek Polacek + + PR middle-end/64391 + * gcc.dg/tm/pr64391.c: New test. + +2015-01-13 Marc Glisse + + PR c++/54442 + * g++.dg/pr54442.C: New file. + +2015-01-13 Renlin Li + + Backported from mainline + 2014-11-19 Renlin Li + + PR target/63424 + * gcc.target/aarch64/pr63424.c: New Test. + +2015-01-12 Janus Weil + + Backport from mainline + PR fortran/63733 + * gfortran.dg/typebound_operator_20.f90: New. + +2015-01-09 Jakub Jelinek + + PR rtl-optimization/64536 + * gcc.dg/pr64536.c: New test. + +2015-01-09 Michael Meissner + + Backport from mainline: + 2015-01-06 Michael Meissner + + PR target/64505 + * gcc.target/powerpc/pr64505.c: New file to test -m32 -mpowerpc64 + fix is correct. + +2015-01-08 Christian Bruel + + PR target/64507 + * gcc.target/sh/pr64507.c: New test. + +2015-01-05 Ian Lance Taylor + + Backport from mainline: + 2014-11-21 Lynn Boger + + * go.test/go-test.exp (go-set-goarch): Add case for ppc64le goarch + value for go testing. + +2014-12-28 H.J. Lu + + Backport from mainline: + 2014-12-28 H.J. Lu + + * gcc.target/i386/pr57003.c: Skip on x32. + * gcc.target/i386/pr59927.c: Likewise. + * gcc.target/i386/pr60516.c: Likewise. + +2014-12-27 H.J. Lu + + Backport from mainline: + 2014-12-26 H.J. Lu + + PR target/64409 + * gcc.target/i386/pr64409.c: New test. + +2014-12-23 Janus Weil + + Backport from mainline + PR fortran/64244 + * gfortran.dg/typebound_call_26.f90: New. + +2014-12-19 Paolo Carlini + + PR c++/60955 + * g++.dg/warn/register-parm-1.C: New. + +2014-12-15 Jakub Jelinek + + PR tree-optimization/63551 + * gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of + 4294967286 to avoid warnings. + +2014-12-14 H.J. Lu + + Backported from mainline + 2014-12-14 H.J. Lu + + PR rtl-optimization/64037 + * g++.dg/pr64037.C: New test. + +2014-12-14 H.J. Lu + + Backported from mainline + 2014-12-06 H.J. Lu + + PR target/64200 + * gcc.target/i386/memcpy-strategy-4.c: New test. + +2014-12-13 Jakub Jelinek + + Backported from mainline + 2014-12-12 Jakub Jelinek + + PR tree-optimization/64269 + * gcc.c-torture/compile/pr64269.c: New test. + +2014-12-10 Bill Schmidt + + Backport from mainline + 2014-09-02 Bill Schmidt + + * gcc.target/powerpc/builtins-1.c: Add tests for vec_ctf, + vec_cts, and vec_ctu. + * gcc.target/powerpc/builtins-2.c: Likewise. + + Backport from mainline + 2014-08-28 Bill Schmidt + + * gcc.target/powerpc/builtins-1.c: Add tests for vec_xl, vec_xst, + vec_round, vec_splat, vec_div, and vec_mul. + * gcc.target/powerpc/builtins-2.c: New test. + + Backport from mainline + 2014-08-20 Bill Schmidt + + * testsuite/gcc.target/powerpc/builtins-1.c: New test. + +2014-12-10 Jakub Jelinek + + PR tree-optimization/62021 + * gcc.dg/vect/pr62021.c: New test. + +2014-12-09 Uros Bizjak + + PR bootstrap/64213 + Revert: + 2014-11-28 H.J. Lu + + PR rtl-optimization/64037 + * g++.dg/pr64037.C: New test. + +2014-12-07 Oleg Endo + + Backport from mainline + 2014-12-07 Oleg Endo + + * gcc.target/h8300/h8300.exp: Fix duplicated text. + * gcc.target/h8300/pragma-isr.c: Likewise. + * gcc.target/h8300/pragma-isr2.c: Likewise. + +2014-12-05 H.J. Lu + + Backport from mainline + 2014-12-02 H.J. Lu + + PR target/64108 + * gcc.target/i386/memset-strategy-2.c: New test. + +2014-12-05 H.J. Lu + + Backport from mainline + 2014-11-28 H.J. Lu + + PR rtl-optimization/64037 + * g++.dg/pr64037.C: New test. + +2014-12-04 Jakub Jelinek + + PR c++/56493 + * c-c++-common/pr56493.c: New test. + +2014-12-03 Renlin Li + + Backported from mainline + 2014-12-03 Renlin Li + H.J. Lu + + PR middle-end/63762 + PR target/63661 + * gcc.dg/pr63762.c: New test. + * gcc.target/i386/pr63661.c: New test. + +2014-12-01 Martin Jambor + + PR ipa/63551 + * gcc.dg/ipa/pr63551.c: New test. + * gcc.dg/ipa/pr64041.c: Likewise. + +2014-12-01 Richard Biener + + PR tree-optimization/63738 + * gcc.dg/torture/pr63738.c: Fix call to setjmp. + +2014-11-28 Jakub Jelinek + + Backported from mainline + 2014-11-27 Jakub Jelinek + + PR middle-end/64067 + * gcc.c-torture/compile/pr64067.c: New test. + + 2014-11-19 Jakub Jelinek + + PR tree-optimization/63915 + * c-c++-common/gomp/pr60823-4.c: New test. + + PR sanitizer/63913 + * g++.dg/ubsan/pr63913.C: New test. + + 2014-10-31 Jakub Jelinek + + PR rtl-optimization/63659 + * gcc.c-torture/execute/pr63659.c: New test. + +2014-11-26 Richard Biener + + PR middle-end/63738 + * gcc.dg/torture/pr63738.c: New testcase. + +2014-11-26 Richard Biener + + Backport from mainline + 2014-11-26 Richard Biener + + PR tree-optimization/62238 + * gcc.dg/torture/pr62238.c: New testcase. + + 2014-11-07 Richard Biener + + PR tree-optimization/63605 + * gcc.dg/vect/pr63605.c: New testcase. + + 2014-10-28 Richard Biener + + PR middle-end/63665 + * gcc.dg/pr63665.c: New testcase. + +2014-11-24 Eric Botcazou + + * gnat.dg/opt45.adb: New test. + +2014-11-22 Oleg Endo + + Backport from mainline + 2014-11-22 Oleg Endo + + PR target/63783 + PR target/51244 + * gcc.target/sh/torture/pr63783-1.c: New. + * gcc.target/sh/torture/pr63783-2.c: New. + * gcc.target/sh/pr51244-20.c: Adjust. + * gcc.target/sh/pr51244-20-sh2a.c: Adjust. + 2014-11-19 Renlin Li PR middle-end/63762 * gcc.dg/pr63762.c: New test. +2014-11-19 Uros Bizjak + + PR target/63947 + * gcc.target/i386/pr63947.c: New test. + +2014-11-19 Tom de Vries + + Backport from mainline + PR tree-optimization/62167 + * gcc.dg/pr51879-12.c: Add xfails. + * gcc.dg/pr62167-run.c: New test. + * gcc.dg/pr62167.c: New test. + +2014-11-13 Teresa Johnson + + PR tree-optimization/63841 + * g++.dg/tree-ssa/pr63841.C: New test. + +2014-11-12 Jakub Jelinek + + PR ipa/63838 + * g++.dg/ipa/pr63838.C: New test. + +2014-11-11 Paolo Carlini + + PR c++/63265 + * g++.dg/cpp0x/constexpr-63265.C: New. + +2014-11-09 H.J. Lu + + Backported from mainline + 2014-11-09 H.J. Lu + + PR testsuite/63305 + * gcc.target/i386/avx256-unaligned-load-7.c (avx_test): Fix + buffer overflow. + * gcc.target/i386/avx256-unaligned-store-7.c (avx_test): Likewise. + +2014-11-07 Marek Polacek + + * c-c++-common/ubsan/undefined-2.c: New test. + +2014-11-05 Uros Bizjak + + PR target/63538 + * gcc.target/i386/pr63538.c: New test. + +2014-11-03 Marek Polacek + + PR c/52769 + * gcc.dg/pr52769.c: New test. + +2014-10-31 DJ Delorie + + * gcc.dg/20141029-1.c: New. + +2014-10-31 Jakub Jelinek + + PR sanitizer/63697 + * c-c++-common/ubsan/overflow-sub-3.c: New test. + +2014-10-30 Georg-Johann Lay + + PR63633 + * gcc.target/avr/torture/pr63633-ice-mult.c: New test. + +2014-10-30 Release Manager + + * GCC 4.9.2 released. + 2014-10-29 Kyrylo Tkachov * gcc.target/aarch64/madd_after_asm_1.c: New test. @@ -12,17 +415,480 @@ PR tree-optimization/63530 gcc.dg/vect/pr63530.c: New test. +2014-10-27 Eric Botcazou + + * gnat.dg/entry_queues2.adb: New test. + +2014-10-25 Yury Gribov + + PR sanitizer/63638 + * c-c++-common/asan/pr63638.c: New test. + +2014-10-24 Markus Trippelsdorf + + PR bootstrap/63632 + * g++.dg/torture/pr63632.C: New test. + 2014-10-21 Jakub Jelinek PR tree-optimization/63563 * gcc.target/i386/pr63563.c: New test. +2014-10-20 Yury Gribov + + Backported from mainline + 2014-05-30 Jakub Jelinek + + * c-c++-common/asan/misalign-1.c: New test. + * c-c++-common/asan/misalign-2.c: New test. + +2014-10-17 Jakub Jelinek + + * c-c++-common/asan/instrument-with-calls-1.c: Add + -fno-sanitize=address -fsanitize=kernel-address to dg-options. + * c-c++-common/asan/instrument-with-calls-2.c: Likewise. + + PR tree-optimization/63302 + * gcc.c-torture/execute/pr63302.c: New test. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-09-01 Yury Gribov + + PR sanitizer/61897 + PR sanitizer/62140 + + * c-c++-common/asan/pr62140-1.c: New test. + * c-c++-common/asan/pr62140-2.c: New test. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-08-18 Yury Gribov + + PR sanitizer/62089 + + * c-c++-common/asan/pr62089.c: New test. + * c-c++-common/asan/bitfield-1.c: New test. + * c-c++-common/asan/bitfield-2.c: New test. + * c-c++-common/asan/bitfield-3.c: New test. + * c-c++-common/asan/bitfield-4.c: New test. + + Backport from mainline + 2014-08-28 Yury Gribov + + * c-c++-common/asan/pr62089.c: Fix test on 32-bit platforms. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-08-11 Yury Gribov + + * c-c++-common/asan/inc.c: Update test. + * c-c++-common/asan/instrument-with-calls-2.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-06-24 Max Ostapenko + + * c-c++-common/asan/no-redundant-instrumentation-9.c: New test. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-06-16 Yury Gribov + + * c-c++-common/asan/instrument-with-calls-1.c: New test. + * c-c++-common/asan/instrument-with-calls-2.c: Likewise. + * c-c++-common/asan/no-redundant-instrumentation-1.c: Update + test patterns. + * c-c++-common/asan/no-redundant-instrumentation-2.c: + Likewise. + * c-c++-common/asan/no-redundant-instrumentation-4.c: + Likewise. + * c-c++-common/asan/no-redundant-instrumentation-5.c: + Likewise. + * c-c++-common/asan/no-redundant-instrumentation-6.c: + Likewise. + * c-c++-common/asan/no-redundant-instrumentation-7.c: + Likewise. + * c-c++-common/asan/no-redundant-instrumentation-8.c: + Likewise. + + Backport from mainline + 2014-06-18 Yury Gribov + + PR sanitizer/61530 + + * c-c++-common/asan/pr61530.c: New test. + + Backport from mainline + 2014-06-18 Yury Gribov + + PR sanitizer/61547 + + * c-c++-common/asan/strlen-overflow-1.c: New test. + +2014-10-16 Yury Gribov + + Backport from mainline + 2014-05-14 Yury Gribov + + PR sanitizer/61100 + + * c-c++-common/asan/asan-interface-1.c: New test. + * lib/asan-dg.exp (asan_include_flags): New function. + (asan_init): Call asan_include_flags to obtain path + to sanitizer headers. + +2014-10-15 Vladimir Makarov + + PR rtl-optimization/63448 + * gcc.target/i386/pr63448.c: New test. + +2014-10-15 Eric Botcazou + + * gnat.dg/opt41.adb: New test. + * gnat.dg/opt41_pkg.ad[sb]: New helper. + +2014-10-15 Richard Biener + + Backport from mainline + 2014-08-15 Richard Biener + + PR tree-optimization/62031 + * gcc.dg/torture/pr62031.c: New testcase. + +2014-10-12 Bill Schmidt + + Backport from mainline r215880 + 2014-10-03 Bill Schmidt + + * g++.dg/ext/altivec-2.C: Compile with -Wno-deprecated to avoid + failing with the new warning message. + * gcc.dg/vmx/3c-01a.c: Likewise. + * gcc.dg/vmx/ops-long-1.c: Likewise. + * gcc.dg/vmx/ops.c: Likewise. + * gcc.target/powerpc/altivec-20.c: Likewise. + * gcc.target/powerpc/altivec-6.c: Likewise. + * gcc.target/powerpc/altivec-vec-merge.c: Likewise. + * gcc.target/powerpc/vsx-builtin-8.c: Likewise. + * gcc.target/powerpc/warn-lvsl-lvsr.c: New test. + + Backport from mainline r215882 + 2014-10-03 Bill Schmidt + + * gcc.target/powerpc/lvsl-lvsr.c: New test. + + Backport from mainline r216017 + 2014-10-08 Pat Haugen + + * gcc.dg/vmx/3c-01a.c: Add default options from vmx.exp. + * gcc.dg/vmx/ops.c: Likewise. + * gcc.dg/vmx/ops-long-1.c: Likewise. + +2014-10-11 Christophe Lyon + + Backport from mainline r216117. + 2014-10-11 Christophe Lyon + * lib/target-supports.exp (check_effective_target_shared): New + function. + * g++.dg/ipa/devirt-28a.C: Check if -shared is supported. + +2014-10-10 Jakub Jelinek + + PR c/63495 + * gcc.target/i386/pr63495.c: New test. + +2014-10-10 Richard Biener + + PR tree-optimization/63379 + * gcc.dg/vect/pr63379.c: New testcase. + +2014-10-10 Jakub Jelinek + + PR fortran/59488 + * gfortran.dg/gomp/pr59488-1.f90: New test. + * gfortran.dg/gomp/pr59488-2.f90: New test. + +2014-10-10 Richard Biener + + PR tree-optimization/63380 + * gcc.dg/torture/pr63380-1.c: New testcase. + * gcc.dg/torture/pr63380-2.c: Likewise. + +2014-10-10 Uros Bizjak + + * g++.dg/cpp1y/feat-cxx14.C: Variable templates not in yet. + (dg-do): Use c++1y target. + +2014-10-08 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement SD-6: SG10 Feature Test Recommendations + * g++.dg/cpp1y/feat-cxx11-neg.C: New. + * g++.dg/cpp1y/feat-cxx11.C: New. + * g++.dg/cpp1y/feat-cxx14.C: New. + * g++.dg/cpp1y/feat-cxx98.C: New. + * g++.dg/cpp1y/feat-cxx98-neg.C: New. + * g++.dg/cpp1y/phoobhar.h: New. + * g++.dg/cpp1y/testinc/phoobhar.h: New. + +2014-10-03 Jan Hubicka + + PR ipa/61144 + * gcc.dg/tree-ssa/pr61144.c: New testcase. + +2014-10-03 Jan Hubicka + + PR ipa/62121 + * g++.dg/torture/pr62121.C: New testcase. + +2014-10-03 Jan Hubicka + + PR lto/62026 + * g++.dg/lto/pr62026.C: New testcase. + +2014-10-03 Jakub Jelinek + + PR libgomp/61200 + * c-c++-common/gomp/pr61200.c: New test. + +2014-10-01 Jakub Jelinek + + PR debug/63342 + * gcc.dg/pr63342.c: New test. + + PR target/63428 + * gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS + to test 24 in TESTS. + + PR c++/63306 + * g++.dg/ipa/pr63306.C: New test. + + 2014-09-18 Vladimir Makarov + + PR debug/63285 + * gcc.target/i386/pr63285.c: New test. + + 2014-09-10 Jan Hubicka + + PR tree-optimization/63186 + * gcc.dg/pr63186.c: New testcase. + +2014-09-30 Jakub Jelinek + + PR inline-asm/63282 + * gcc.c-torture/compile/pr63282.c: New test. + +2014-09-29 James Clarke + + PR target/61407 + * gcc.dg/darwin-minversion-1.c: Fixed formatting. + * gcc.dg/darwin-minversion-2.c: Fixed formatting. + * gcc.dg/darwin-minversion-3.c: Fixed formatting. + * gcc.dg/darwin-minversion-4.c: Added test for OS X 10.10. + +2014-09-26 Jakub Jelinek + + * g++.dg/compat/struct-layout-1_generate.c: Add -Wno-abi + to default options. + +2014-09-25 Bill Schmidt + + Backport from mainline r215559 + 2014-09-25 Bill Schmidt + + PR target/63335 + * gcc.target/powerpc/pr63335.c: New test. + 2014-09-25 Jakub Jelinek PR tree-optimization/63341 * gcc.dg/vect/pr63341-1.c: New test. * gcc.dg/vect/pr63341-2.c: New test. + PR c++/63249 + * g++.dg/gomp/pr63249.C: New test. + * c-c++-common/gomp/pr63249.c: New test. + +2014-09-22 Paolo Carlini + + PR c++/62219 + * g++.dg/cpp0x/lambda/lambda-template14.C: New. + +2014-09-22 Marek Polacek + + Backport from mainline + 2014-05-21 Marek Polacek + + PR sanitizer/61272 + * g++.dg/ubsan/pr61272.C: New test. + +2014-09-22 Jakub Jelinek + + PR debug/63328 + * c-c++-common/gomp/pr63328.c: New test. + +2014-09-18 H.J. Lu + + Backport from mainline + 2014-09-18 H.J. Lu + + * gcc.dg/pr61053.c: Updated for x32. + +2014-09-18 Jakub Jelinek + + PR c++/62017 + * g++.dg/asan/pr62017.C: New test. + + PR testsuite/63292 + * gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements. + +2014-09-18 Joseph Myers + + * gcc.dg/torture/float128-exact-underflow.c: New test. + +2014-09-17 Jakub Jelinek + + PR debug/63284 + * gcc.dg/pr63284.c: New test. + +2014-09-17 Paolo Carlini + + PR c++/63241 + * g++.dg/cpp0x/constexpr-63241.C: New. + +2014-09-15 Sharad Singhai + + * g++.dg/tree-prof/lipo/static1_0.C: New test. + * g++.dg/tree-prof/lipo/static1_1.C: New file. + * g++.dg/tree-prof/lipo/static1_2.C: New file. + +2014-09-12 Martin Jambor + + PR ipa/61654 + * g++.dg/ipa/pr61654.C: New test. + +2014-09-11 Alan Lawrence + + Backport r214953 from mainline + 2014-09-05 Alan Lawrence + + * gcc.target/aarch64/scalar_intrinsics.c (*): Replace all + int{32,16,8}x1_t with int{32,16,8}_t. + * gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise. + * gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise. + * gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise. + * gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise. + +2014-09-10 Xinliang David Li + + Backport from mainline + PR target/63209 + * gcc.c-torture/execute/pr63209.c: New test. + +2014-09-09 Bill Schmidt + + Backported from mainline + 2014-09-04 Bill Schmidt + + * gcc.target/powerpc/vsx-extract-1.c: Test 0th doubleword + regardless of endianness. + +2014-09-09 Richard Biener + + Backport from mainline + 2014-08-11 Richard Biener + + PR tree-optimization/62075 + * gcc.dg/vect/pr62075.c: New testcase. + + 2014-08-14 Richard Biener + + PR rtl-optimization/62079 + * g++.dg/pr62079.C: New testcase. + + 2014-08-26 Richard Biener + + PR tree-optimization/62175 + * g++.dg/torture/pr62175.C: New testcase. + +2014-09-08 Jakub Jelinek + + PR tree-optimization/60196 + PR tree-optimization/63189 + * gcc.dg/vect/pr63189.c: New test. + * gcc.dg/vect/pr60196-1.c: New test. + * gcc.dg/vect/pr60196-2.c: New test. + +2014-09-06 John David Anglin + + PR testsuite/56194 + * g++.dg/init/const9.C: Skip scan-assembler-not "rodata" on hppa*-*-*. + +2014-09-05 Easwaran Raman + + Backport from mainline + PR rtl-optimization/62146 + * testsuite/g++.dg/opt/pr62146.C: New. + +2014-09-04 Guozhi Wei + + PR target/62040 + * gcc.target/aarch64/pr62040.c: New test. + +2014-09-03 Martin Jambor + + PR ipa/62015 + * g++.dg/ipa/pr62015.C: New test. + +2014-09-03 Martin Jambor + + PR ipa/61986 + * gcc.dg/ipa/pr61986.c: New test. + +2014-09-03 Marek Polacek + + Backport from mainline + 2014-09-02 Marek Polacek + + PR fortran/62270 + * gfortran.dg/pointer_intent_7.f90: Adjust dg-error. + +2014-09-03 Marek Polacek + + PR c/62294 + * gcc.dg/pr56724-1.c: New test. + * gcc.dg/pr56724-2.c: New test. + * gcc.dg/pr62294.c: New test. + * gcc.dg/pr62294.h: New file. + +2014-09-01 Oleg Endo + + Backport from mainline + 2014-09-01 Oleg Endo + + PR target/62312 + * gcc.c-torture/compile/pr62312.c: New. + +2014-09-01 Maciej W. Rozycki + + Backport from mainline + 2014-09-01 Maciej W. Rozycki + + * gcc.dg/tree-ssa/loop-19.c: Exclude classic FPU Power targets. + 2014-09-04 Guozhi Wei PR target/62040 @@ -4619,6 +5485,11 @@ PR middle-end/59471 * gcc.dg/pr59471.c: New testcase. +2014-01-08 Thomas Koenig + + PR fortran/56867 + * gfortran.dg/dependency_45.f90: New test. + 2014-01-07 Jeff Law PR middle-end/53623 diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/asan-interface-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/asan-interface-1.c new file mode 100644 index 000000000..8cd80caaa --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/asan-interface-1.c @@ -0,0 +1,14 @@ +/* Check that interface headers work. */ + +/* { dg-do run { target { *-*-linux* } } } */ + +#include +#include + +int main() { + char tmp; + if (__asan_address_is_poisoned((volatile char *)&tmp + 1)) + return 0; + return 1; +} + diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-1.c new file mode 100644 index 000000000..b3f300c64 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-1.c @@ -0,0 +1,25 @@ +/* Check that Asan correctly instruments bitfields with non-round size. */ + +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +struct A +{ + char base; + int : 4; + long x : 7; +}; + +int __attribute__ ((noinline, noclone)) +f (void *p) { + return ((struct A *)p)->x; +} + +int +main () +{ + char a = 0; + return f (&a); +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-2.c new file mode 100644 index 000000000..8ab0f8069 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-2.c @@ -0,0 +1,25 @@ +/* Check that Asan correctly instruments bitfields with non-round offset. */ + +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +struct A +{ + char base; + int : 7; + int x : 8; +}; + +int __attribute__ ((noinline, noclone)) +f (void *p) { + return ((struct A *)p)->x; +} + +int +main () +{ + char a = 0; + return f (&a); +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-3.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-3.c new file mode 100644 index 000000000..c5907786f --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-3.c @@ -0,0 +1,25 @@ +/* Check that Asan correctly instruments bitfields with round offset. */ + +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +struct A +{ + char base; + int : 8; + int x : 8; +}; + +int __attribute__ ((noinline, noclone)) +f (void *p) { + return ((struct A *)p)->x; +} + +int +main () +{ + char a = 0; + return f (&a); +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-4.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-4.c new file mode 100644 index 000000000..94de9a437 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/bitfield-4.c @@ -0,0 +1,25 @@ +/* Check that Asan correctly instruments bitfields with round offset. */ + +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +struct A +{ + char base; + int : 0; + int x : 8; +}; + +int __attribute__ ((noinline, noclone)) +f (void *p) { + return ((struct A *)p)->x; +} + +int +main () +{ + char a = 0; + return f (&a); +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/inc.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/inc.c index b9c6734ea..36cc3d8d8 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/inc.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/inc.c @@ -16,6 +16,6 @@ main () return 0; } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report" 1 "asan0" } } */ -/* { dg-final { scan-tree-dump "__builtin___asan_report_load4" "asan0" } } */ +/* { dg-final { scan-tree-dump-times "ASAN_" 1 "asan0" } } */ +/* { dg-final { scan-tree-dump "ASAN_CHECK \\(.*, 4\\);" "asan0" } } */ /* { dg-final { cleanup-tree-dump "asan0" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-1.c new file mode 100644 index 000000000..32e32a600 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-1.c @@ -0,0 +1,10 @@ +/* { dg-do assemble } */ +/* { dg-options "-fno-sanitize=address -fsanitize=kernel-address --param asan-instrumentation-with-call-threshold=0 -save-temps" } */ + +void f(char *a, int *b) { + *b = *a; +} + +/* { dg-final { scan-assembler "__asan_load1" } } */ +/* { dg-final { scan-assembler "__asan_store4" } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-2.c new file mode 100644 index 000000000..1b361e627 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/instrument-with-calls-2.c @@ -0,0 +1,16 @@ +/* { dg-do assemble } */ +/* { dg-options "-fno-sanitize=address -fsanitize=kernel-address --param asan-instrumentation-with-call-threshold=1 -save-temps" } */ + +int x; + +void f(int *a, int *b) { + *a = 0; + asm volatile ("" ::: "memory"); + x = *b; +} + +/* { dg-final { scan-assembler "__asan_store4" } } */ +/* { dg-final { scan-assembler-not "__asan_report_store4" } } */ +/* { dg-final { scan-assembler "__asan_load4" } } */ +/* { dg-final { scan-assembler-not "__asan_report_load4" } } */ +/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-1.c new file mode 100644 index 000000000..0c5b6e0c7 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-1.c @@ -0,0 +1,42 @@ +/* { dg-do run { target { ilp32 || lp64 } } } */ +/* { dg-options "-O2" } */ +/* { dg-shouldfail "asan" } */ + +struct S { int i; } __attribute__ ((packed)); + +__attribute__((noinline, noclone)) int +foo (struct S *s) +{ + return s->i; +} + +__attribute__((noinline, noclone)) int +bar (int *s) +{ + return *s; +} + +__attribute__((noinline, noclone)) struct S +baz (struct S *s) +{ + return *s; +} + +int +main () +{ + struct T { char a[3]; struct S b[3]; char c; } t; + int v = 5; + struct S *p = t.b; + asm volatile ("" : "+rm" (p)); + p += 3; + if (bar (&v) != 5) __builtin_abort (); + volatile int w = foo (p); + return 0; +} + +/* { dg-output "ERROR: AddressSanitizer:\[^\n\r]*on address\[^\n\r]*" } */ +/* { dg-output "0x\[0-9a-f\]+ at pc 0x\[0-9a-f\]+ bp 0x\[0-9a-f\]+ sp 0x\[0-9a-f\]+\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*READ of size 4 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #0 0x\[0-9a-f\]+ (in _*foo(\[^\n\r]*misalign-1.c:10|\[^\n\r]*:0)|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #1 0x\[0-9a-f\]+ (in _*main (\[^\n\r]*misalign-1.c:34|\[^\n\r]*:0)|\[(\]).*(\n|\r\n|\r)" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-2.c new file mode 100644 index 000000000..7fbe299cc --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/misalign-2.c @@ -0,0 +1,42 @@ +/* { dg-do run { target { ilp32 || lp64 } } } */ +/* { dg-options "-O2" } */ +/* { dg-shouldfail "asan" } */ + +struct S { int i; } __attribute__ ((packed)); + +__attribute__((noinline, noclone)) int +foo (struct S *s) +{ + return s->i; +} + +__attribute__((noinline, noclone)) int +bar (int *s) +{ + return *s; +} + +__attribute__((noinline, noclone)) struct S +baz (struct S *s) +{ + return *s; +} + +int +main () +{ + struct T { char a[3]; struct S b[3]; char c; } t; + int v = 5; + struct S *p = t.b; + asm volatile ("" : "+rm" (p)); + p += 3; + if (bar (&v) != 5) __builtin_abort (); + volatile struct S w = baz (p); + return 0; +} + +/* { dg-output "ERROR: AddressSanitizer:\[^\n\r]*on address\[^\n\r]*" } */ +/* { dg-output "0x\[0-9a-f\]+ at pc 0x\[0-9a-f\]+ bp 0x\[0-9a-f\]+ sp 0x\[0-9a-f\]+\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*READ of size 4 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #0 0x\[0-9a-f\]+ (in _*baz(\[^\n\r]*misalign-2.c:22|\[^\n\r]*:0)|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #1 0x\[0-9a-f\]+ (in _*main (\[^\n\r]*misalign-2.c:34|\[^\n\r]*:0)|\[(\]).*(\n|\r\n|\r)" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c index fa52e0ca8..028f8d715 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c @@ -2,7 +2,7 @@ location in the same basic block, the second reference should not be instrumented by the Address Sanitizer. */ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ @@ -16,12 +16,11 @@ test0 () tab[0] = 1; tab[1] = 2; - /* __builtin___asan_report_load1 called 1 time for the store - below. */ - char t0 = tab[1]; - /* This load should not be instrumented because it is to the same memory location as above. */ + char t0 = tab[1]; + + /* Likewise. */ char t1 = tab[1]; return t0 + t1; @@ -36,7 +35,7 @@ test1 (int i) the initialization. */ foo[i] = 1; - /*__builtin___asan_report_store1 called 2 times here to instrument + /*__builtin___asan_report_store_n called once here to instrument the store to the memory region of tab. */ __builtin_memset (tab, 3, sizeof (tab)); @@ -44,8 +43,8 @@ test1 (int i) __builtin_memset (tab, 4, sizeof (tab)); __builtin_memset (tab, 5, sizeof (tab)); - /* There are 2 calls to __builtin___asan_report_store1 and 2 calls - to __builtin___asan_report_load1 to instrument the store to + /* There is a call to __builtin___asan_report_store_n and a call + to __builtin___asan_report_load_n to instrument the store to (subset of) the memory region of tab. */ __builtin_memcpy (&tab[1], foo + i, 3); @@ -53,7 +52,7 @@ test1 (int i) the reference to tab[1] has been already instrumented above. */ return tab[1]; - /* So for these function, there should be 7 calls to + /* So for these functions, there should be 3 calls to __builtin___asan_report_store1. */ } @@ -63,6 +62,7 @@ main () return test0 () && test1 (0); } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 7 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load" 2 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 3 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 2 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c index 28525e0ff..a58411c3a 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-2.c @@ -3,7 +3,7 @@ be instrumented by the Address Sanitizer. But in case of access to overlapping regions we must be precise. */ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ @@ -20,6 +20,7 @@ main () __builtin_memset (tab, 1, 3); } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 3 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report" 3 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 3 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 2 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report" 2 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c index 420a26309..5193ae06f 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-3.c @@ -1,4 +1,4 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ @@ -12,7 +12,7 @@ foo (__INT32_TYPE__ *p) return ret; } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report" 2 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store" 1 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report" 2 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-4.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-4.c index b2e72841b..c3632aa3d 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-4.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-4.c @@ -1,13 +1,17 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ void foo (int *a, char *b, char *c) { + /* One check for c[0], one check for a[], one check for c, two checks for b. */ __builtin_memmove (c, b, a[c[0]]); + /* For a total of 5 checks. */ } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 3 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 1 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 5 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load_n" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-5.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-5.c index ead3f5823..077ea34d0 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-5.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-5.c @@ -1,13 +1,18 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ void foo (int *a, char *b, char *c) { + /* One check for b[0], one check for a[], 2 checks for c and one checks for b. */ __builtin_memmove (c, b, a[b[0]]); + /* For a total of 5 checks. */ } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 2 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 2 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 5 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load4" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load_n" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-6.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-6.c index e4691bc47..6d87104aa 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-6.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-6.c @@ -1,14 +1,20 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ void foo (int *a, char *b, char *c) { + /* One check for c[0], one check for a[], one check for c and 2 checks for b. */ __builtin_memmove (c, b, a[c[0]]); + /* One check for a[], one check for c and one check for b. */ __builtin_memmove (c, b, a[b[0]]); + /* For a total of 8 checks. */ } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 5 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 2 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 8 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load4" 2 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load_n" 2 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 2 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-7.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-7.c index bf40a0376..5baa10dcd 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-7.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-7.c @@ -1,4 +1,4 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ @@ -13,11 +13,15 @@ struct S int foo (int *a, char *b, char *c) { + /* 2 checks for s.a, 2 checks for e. */ int d = __builtin_memcmp (s.a, e, 100); + /* One check for s.a and one check for e. */ d += __builtin_memcmp (s.a, e, 200); + /* For a total of 6 checks. */ return d; } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load" 6 "asan0" } } */ -/* { dg-final { scan-tree-dump-not "__builtin___asan_report_store" "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 6 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load_n" 4 "sanopt" } } */ +/* { dg-final { scan-tree-dump-not "__builtin___asan_report_store" "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-8.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-8.c index 38ea7a21d..2a4c0812f 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-8.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-8.c @@ -1,14 +1,20 @@ -/* { dg-options "-fdump-tree-asan0" } */ +/* { dg-options "-fdump-tree-sanopt" } */ /* { dg-do compile } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ char foo (int *a, char *b, char *c) { + /* One check for b[0], one check for a[], two checks for c and one check for b. */ __builtin_memmove (c, b, a[b[0]]); + /* No checks here. */ return c[0] + b[0]; + /* For a total of 5 checks. */ } -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 3 "asan0" } } */ -/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store1" 2 "asan0" } } */ -/* { dg-final { cleanup-tree-dump "asan0" } } */ +/* { dg-final { scan-tree-dump-times "& 7" 5 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load4" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_load_n" 1 "sanopt" } } */ +/* { dg-final { scan-tree-dump-times "__builtin___asan_report_store_n" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-9.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-9.c new file mode 100644 index 000000000..9449de578 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-9.c @@ -0,0 +1,13 @@ +/* { dg-options "-fdump-tree-sanopt" } */ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */ + +__SIZE_TYPE__ +f (char *a) +{ + a[0] = '1'; + return __builtin_strlen (a); +} + +/* { dg-final { scan-tree-dump-times "__asan_report_load1" 1 "sanopt" } } */ +/* { dg-final { cleanup-tree-dump "sanopt" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr61530.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr61530.c new file mode 100644 index 000000000..e306a71be --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr61530.c @@ -0,0 +1,17 @@ +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +__attribute__((noinline,noclone)) void +foo (char *a, char *b) { + a[0] = b[0] = 0; + __builtin_memcpy(a, b, 4); +} + +int +main () { + char a, b; + foo (&a, &b); + return 0; +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62089.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62089.c new file mode 100644 index 000000000..9b92e9bbf --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62089.c @@ -0,0 +1,38 @@ +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +#include +#include + +struct vfsmount {}; +struct dentry {}; + +struct path { + struct vfsmount *mnt; + struct dentry *dentry; +}; + +struct fs_struct { + int users; + int lock; + int seq; + int umask; + int in_exec; + struct path root, pwd; +}; + +void __attribute__((noinline, noclone)) +copy_fs_struct(struct fs_struct *a, struct fs_struct *b) { + a->root = b->root; +} + +struct fs_struct a, b; + +int +main () { + __asan_poison_memory_region (&a.root, sizeof (a.root)); + copy_fs_struct (&a, &b); + return 0; +} + +/* { dg-output "ERROR: AddressSanitizer:\[^\n\r]*on address\[^\n\r]*" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-1.c new file mode 100644 index 000000000..f0b026de2 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-1.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-w -fpermissive" } */ + +int memcmp (const void *p, const void *q, int len); + +int f (int *p, int *q, int len) +{ + return memcmp (p, q, len); +} + diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-2.c new file mode 100644 index 000000000..0bb2563ab --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr62140-2.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-options "-w -fpermissive" } */ + +int strlen (const char *p); + +int f (char *p) +{ + int x = strlen (p); + return x; +} + diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr63638.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr63638.c new file mode 100644 index 000000000..a8bafc5aa --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/pr63638.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ + +extern +#ifdef __cplusplus +"C" +#endif +void *memcpy (void *, const void *, __SIZE_TYPE__); + +struct S{ + long d0, d1, d2, d3, d4, d5, d6; +}; + +struct S s[6]; + +int f(struct S *p) +{ + memcpy(p, &s[2], sizeof(*p)); + memcpy(p, &s[1], sizeof(*p)); +} + diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/asan/strlen-overflow-1.c b/gcc-4.9/gcc/testsuite/c-c++-common/asan/strlen-overflow-1.c new file mode 100644 index 000000000..4833dc778 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/asan/strlen-overflow-1.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ +/* { dg-shouldfail "asan" } */ + +#include +#include + +char a[2] = "0"; + +#ifdef __cplusplus +extern "C" +#endif + +__attribute__((no_sanitize_address, noinline)) __SIZE_TYPE__ +strlen (const char *p) { + + __SIZE_TYPE__ n = 0; + for (; *p; ++n, ++p); + return n; +} + +int main () { + char *p = &a[0]; + asm ("" : "+r"(p)); + __asan_poison_memory_region ((char *)&a[1], 1); + return __builtin_strlen (a); +} + +/* { dg-output "READ of size 1 at 0x\[0-9a-f\]+ thread T0.*(\n|\r\n|\r)" } */ +/* { dg-output " #0 0x\[0-9a-f\]+ (in _*main (\[^\n\r]*strlen-overflow-1.c:26|\[^\n\r]*:0)|\[(\]).*(\n|\r\n|\r)" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr60823-4.c b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr60823-4.c new file mode 100644 index 000000000..a9bc0fa25 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr60823-4.c @@ -0,0 +1,7 @@ +/* PR tree-optimization/63915 */ +/* { dg-do run } */ +/* { dg-require-effective-target vect_simd_clones } */ +/* { dg-options "-O2 -fopenmp-simd" } */ +/* { dg-additional-options "-fpic" { target fpic } } */ + +#include "pr60823-2.c" diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr61200.c b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr61200.c new file mode 100644 index 000000000..d0d699dfa --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr61200.c @@ -0,0 +1,13 @@ +/* PR libgomp/61200 */ + +int +main () +{ + int var = 1; + #pragma omp parallel + if (var != 1) + __builtin_abort (); + #pragma omp task shared(var) + var = 2; + return 0; +} diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63249.c b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63249.c new file mode 100644 index 000000000..878788ad7 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63249.c @@ -0,0 +1,16 @@ +/* PR c++/63249 */ +/* { dg-do compile } */ +/* { dg-options "-Wall -W -fopenmp" } */ + +int +foo (int *v, int A, int B) /* { dg-bogus "set but not used" } */ +{ + int r = 0; + int a = 2; /* { dg-bogus "set but not used" } */ + int b = 4; /* { dg-bogus "set but not used" } */ +#pragma omp target map(to: v[a:b]) + r |= v[3]; +#pragma omp target map(to: v[A:B]) + r |= v[3]; + return r; +} diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63328.c b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63328.c new file mode 100644 index 000000000..3958abe16 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr63328.c @@ -0,0 +1,5 @@ +/* PR debug/63328 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fopenmp-simd -fno-strict-aliasing -fcompare-debug" } */ + +#include "pr60823-3.c" diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/pr56493.c b/gcc-4.9/gcc/testsuite/c-c++-common/pr56493.c new file mode 100644 index 000000000..418126043 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/pr56493.c @@ -0,0 +1,16 @@ +/* PR c++/56493 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-gimple" } */ + +unsigned long long bar (void); +int x; + +void +foo (void) +{ + x += bar (); +} + +/* Verify we narrow the addition from unsigned long long to unsigned int type. */ +/* { dg-final { scan-tree-dump " (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* = \\1 \\+ \\2;" "gimple" { target { ilp32 || lp64 } } } } */ +/* { dg-final { cleanup-tree-dump "gimple" } } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/pr61553.c b/gcc-4.9/gcc/testsuite/c-c++-common/pr61553.c new file mode 100644 index 000000000..8a3b699ee --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/pr61553.c @@ -0,0 +1,8 @@ +/* PR c/61553 */ +/* { dg-do compile } */ + +void +foo (char *s) +{ + __atomic_store (s, (void *) 0, __ATOMIC_SEQ_CST); /* { dg-error "size mismatch" } */ +} diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/atomic_stack.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/atomic_stack.c index 6a3795120..746afa7b4 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/atomic_stack.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/atomic_stack.c @@ -1,22 +1,26 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int Global; void *Thread1(void *x) { - sleep(1); + barrier_wait(&barrier); __atomic_fetch_add(&Global, 1, __ATOMIC_RELAXED); return NULL; } void *Thread2(void *x) { Global++; + barrier_wait(&barrier); return NULL; } int main() { + barrier_init(&barrier, 2); pthread_t t[2]; pthread_create(&t[0], NULL, Thread1, NULL); pthread_create(&t[1], NULL, Thread2, NULL); diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c index 28cd630d2..e2176da4b 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c @@ -1,30 +1,35 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include #include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int fds[2]; void *Thread1(void *x) { write(fds[1], "a", 1); + barrier_wait(&barrier); return NULL; } void *Thread2(void *x) { - sleep(1); + barrier_wait(&barrier); close(fds[0]); close(fds[1]); return NULL; } int main() { + barrier_init(&barrier, 2); pipe(fds); pthread_t t[2]; pthread_create(&t[0], NULL, Thread1, NULL); pthread_create(&t[1], NULL, Thread2, NULL); pthread_join(t[0], NULL); pthread_join(t[1], NULL); + return 0; } /* { dg-output "WARNING: ThreadSanitizer: data race.*\n" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/mutexset1.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/mutexset1.c index 7c32a8524..084f5141d 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/mutexset1.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/mutexset1.c @@ -1,14 +1,15 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int Global; pthread_mutex_t mtx; void *Thread1(void *x) { - sleep(1); + barrier_wait(&barrier); pthread_mutex_lock(&mtx); Global++; pthread_mutex_unlock(&mtx); @@ -17,11 +18,13 @@ void *Thread1(void *x) { void *Thread2(void *x) { Global--; + barrier_wait(&barrier); return NULL;/* { dg-output ".*" } */ } int main() { + barrier_init(&barrier, 2); pthread_mutex_init(&mtx, 0); pthread_t t[2]; pthread_create(&t[0], NULL, Thread1, NULL); diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_barrier.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_barrier.c index 0a0e5faba..3de3ff225 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_barrier.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_barrier.c @@ -1,26 +1,28 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include -#include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; pthread_barrier_t B; int Global; void *Thread1(void *x) { pthread_barrier_init(&B, 0, 2); + barrier_wait(&barrier); pthread_barrier_wait(&B); return NULL; } void *Thread2(void *x) { - sleep(1); + barrier_wait(&barrier); pthread_barrier_wait(&B); return NULL; } int main() { + barrier_init(&barrier, 2); pthread_t t; pthread_create(&t, NULL, Thread1, NULL); Thread2(0); diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex.c index 5dad345d8..ae30d053c 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex.c @@ -1,10 +1,10 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include -#include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; pthread_mutex_t Mtx; int Global; @@ -13,11 +13,12 @@ void *Thread1(void *x) { pthread_mutex_lock(&Mtx); Global = 42; pthread_mutex_unlock(&Mtx); + barrier_wait(&barrier); return NULL; } void *Thread2(void *x) { - sleep(1); + barrier_wait(&barrier); pthread_mutex_lock(&Mtx); Global = 43; pthread_mutex_unlock(&Mtx); @@ -25,6 +26,7 @@ void *Thread2(void *x) { } int main() { + barrier_init(&barrier, 2); pthread_t t[2]; pthread_create(&t[0], NULL, Thread1, NULL); pthread_create(&t[1], NULL, Thread2, NULL); @@ -37,7 +39,7 @@ int main() { /* { dg-output "WARNING: ThreadSanitizer: data race.*(\n|\r\n|\r)" } */ /* { dg-output " Atomic read of size 1 at .* by thread T2:(\n|\r\n|\r)" } */ /* { dg-output " #0 pthread_mutex_lock.*" } */ -/* { dg-output " #1 Thread2.* .*(race_on_mutex.c:21|\\?{2}:0) (.*)" } */ +/* { dg-output " #1 Thread2.* .*(race_on_mutex.c:22|\\?{2}:0) (.*)" } */ /* { dg-output " Previous write of size 1 at .* by thread T1:(\n|\r\n|\r)" } */ /* { dg-output " #0 pthread_mutex_init .* (.)*" } */ /* { dg-output " #1 Thread1.* .*(race_on_mutex.c:12|\\?{2}:0) .*" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex2.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex2.c index 80a6fb6c0..57d7e21e7 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex2.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/race_on_mutex2.c @@ -1,22 +1,25 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include -#include -#include +#include "tsan_barrier.h" + +static pthread_barrier_t barrier; void *Thread(void *x) { pthread_mutex_lock((pthread_mutex_t*)x); pthread_mutex_unlock((pthread_mutex_t*)x); + barrier_wait(&barrier); return 0; } int main() { + barrier_init(&barrier, 2); pthread_mutex_t Mtx; pthread_mutex_init(&Mtx, 0); pthread_t t; pthread_create(&t, 0, Thread, &Mtx); - sleep(1); + barrier_wait(&barrier); pthread_mutex_destroy(&Mtx); pthread_join(t, 0); return 0; diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_race.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_race.c index a40accd40..c1a369b45 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_race.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_race.c @@ -1,13 +1,15 @@ /* { dg-set-target-env-var TSAN_OPTIONS "halt_on_error=1" } */ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include #include +#include "tsan_barrier.h" -#define MAX_ITERATIONS_NUMBER 100 -#define SLEEP_STEP 128000 +#define MAX_ITERATIONS_NUMBER 1 +#define SLEEP_STEP 128000 +static pthread_barrier_t barrier; unsigned int delay_time = 1000; static inline void delay () { @@ -17,6 +19,7 @@ static inline void delay () { extern int main_1(); int main() { + barrier_init(&barrier, 2); int i; for (i = 0; i < MAX_ITERATIONS_NUMBER; i++) { main_1(); @@ -28,6 +31,7 @@ int main() { int Global; void *Thread1(void *x) { + barrier_wait(&barrier); delay(); Global = 42; return NULL; @@ -35,6 +39,7 @@ void *Thread1(void *x) { void *Thread2(void *x) { Global = 43; + barrier_wait(&barrier); return NULL; } diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_stack.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_stack.c index b66a67085..a4d0aba69 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_stack.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/simple_stack.c @@ -1,9 +1,10 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int Global; void __attribute__((noinline)) foo1() { @@ -25,13 +26,14 @@ void __attribute__((noinline)) bar2() { } void *Thread1(void *x) { - sleep(1); + barrier_wait(&barrier); bar1(); return NULL; } void *Thread2(void *x) { bar2(); + barrier_wait(&barrier); return NULL; } @@ -40,6 +42,7 @@ void StartThread(pthread_t *t, void *(*f)(void*)) { } int main() { + barrier_init(&barrier, 2); pthread_t t[2]; StartThread(&t[0], Thread1); StartThread(&t[1], Thread2); @@ -50,16 +53,16 @@ int main() { /* { dg-output "WARNING: ThreadSanitizer: data race.*" } */ /* { dg-output " Write of size 4 at .* by thread T1:(\n|\r\n|\r)" } */ -/* { dg-output " #0 foo1.* .*(simple_stack.c:10|\\?{2}:0) (.*)" } */ -/* { dg-output " #1 bar1.* .*(simple_stack.c:15|\\?{2}:0) (.*)" } */ -/* { dg-output " #2 Thread1.* .*(simple_stack.c:29|\\?{2}:0) (.*)" } */ +/* { dg-output " #0 foo1.* .*(simple_stack.c:11|\\?{2}:0) (.*)" } */ +/* { dg-output " #1 bar1.* .*(simple_stack.c:16|\\?{2}:0) (.*)" } */ +/* { dg-output " #2 Thread1.* .*(simple_stack.c:30|\\?{2}:0) (.*)" } */ /* { dg-output " Previous read of size 4 at .* by thread T2:(\n|\r\n|\r)" } */ -/* { dg-output " #0 foo2.* .*(simple_stack.c:19|\\?{2}:0) (.*)" } */ -/* { dg-output " #1 bar2.* .*(simple_stack.c:24|\\?{2}:0) (.*)" } */ -/* { dg-output " #2 Thread2.* .*(simple_stack.c:34|\\?{2}:0) (.*)" } */ +/* { dg-output " #0 foo2.* .*(simple_stack.c:20|\\?{2}:0) (.*)" } */ +/* { dg-output " #1 bar2.* .*(simple_stack.c:25|\\?{2}:0) (.*)" } */ +/* { dg-output " #2 Thread2.* .*(simple_stack.c:35|\\?{2}:0) (.*)" } */ /* { dg-output " Thread T1 \\(tid=.*, running\\) created by main thread at:(\n|\r\n|\r)" } */ /* { dg-output " #0 pthread_create .* (.*)" } */ -/* { dg-output " #1 StartThread.* .*(simple_stack.c:39|\\?{2}:0) (.*)" } */ +/* { dg-output " #1 StartThread.* .*(simple_stack.c:41|\\?{2}:0) (.*)" } */ /* { dg-output " Thread T2 (.*) created by main thread at:(\n|\r\n|\r)" } */ /* { dg-output " #0 pthread_create .* (.*)" } */ -/* { dg-output " #1 StartThread.* .*(simple_stack.c:39|\\?{2}:0) (.*)" } */ +/* { dg-output " #1 StartThread.* .*(simple_stack.c:41|\\?{2}:0) (.*)" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/sleep_sync.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/sleep_sync.c index 44d44554c..c681dcef1 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/sleep_sync.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/sleep_sync.c @@ -1,8 +1,11 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include #include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int X = 0; void MySleep() { @@ -10,15 +13,18 @@ void MySleep() { } void *Thread(void *p) { + barrier_wait(&barrier); MySleep(); // Assume the main thread has done the write. X = 42; return 0; } int main() { + barrier_init(&barrier, 2); pthread_t t; pthread_create(&t, 0, Thread, 0); X = 43; + barrier_wait(&barrier); pthread_join(t, 0); return 0; } diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tiny_race.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tiny_race.c index 962497b28..10a3feb9b 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tiny_race.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tiny_race.c @@ -1,20 +1,24 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; int Global; void *Thread1(void *x) { - sleep(1); + barrier_wait(&barrier); Global = 42; return x; } int main() { + barrier_init(&barrier, 2); pthread_t t; pthread_create(&t, 0, Thread1, 0); Global = 43; + barrier_wait(&barrier); pthread_join(t, 0); return Global; } diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tls_race.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tls_race.c index 423867e38..4dd650604 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tls_race.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tls_race.c @@ -1,18 +1,24 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include +#include "tsan_barrier.h" + +static pthread_barrier_t barrier; void *Thread(void *a) { + barrier_wait(&barrier); *(int*)a = 43; return 0; } int main() { + barrier_init(&barrier, 2); static __thread int Var = 42; pthread_t t; pthread_create(&t, 0, Thread, &Var); Var = 43; + barrier_wait(&barrier); pthread_join(t, 0); } diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tsan_barrier.h b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tsan_barrier.h new file mode 100644 index 000000000..5d37a6475 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/tsan_barrier.h @@ -0,0 +1,14 @@ +/* TSAN-invisible barriers. Link with -ldl. */ +#include +#include + +static __typeof(pthread_barrier_wait) *barrier_wait; + +static +void barrier_init (pthread_barrier_t *barrier, unsigned count) +{ + void *h = dlopen ("libpthread.so.0", RTLD_LAZY); + barrier_wait = (__typeof (pthread_barrier_wait) *) + dlsym (h, "pthread_barrier_wait"); + pthread_barrier_init (barrier, NULL, count); +} diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/write_in_reader_lock.c b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/write_in_reader_lock.c index 898d23d50..df32632bf 100644 --- a/gcc-4.9/gcc/testsuite/c-c++-common/tsan/write_in_reader_lock.c +++ b/gcc-4.9/gcc/testsuite/c-c++-common/tsan/write_in_reader_lock.c @@ -1,8 +1,10 @@ /* { dg-shouldfail "tsan" } */ +/* { dg-additional-options "-ldl" } */ #include -#include +#include "tsan_barrier.h" +static pthread_barrier_t barrier; pthread_rwlock_t rwlock; int GLOB; @@ -10,13 +12,14 @@ void *Thread1(void *p) { (void)p; pthread_rwlock_rdlock(&rwlock); // Write under reader lock. - sleep(1); + barrier_wait(&barrier); GLOB++; pthread_rwlock_unlock(&rwlock); return 0; } int main(int argc, char *argv[]) { + barrier_init(&barrier, 2); pthread_rwlock_init(&rwlock, NULL); pthread_rwlock_rdlock(&rwlock); pthread_t t; @@ -24,6 +27,7 @@ int main(int argc, char *argv[]) { volatile int x = GLOB; (void)x; pthread_rwlock_unlock(&rwlock); + barrier_wait(&barrier); pthread_join(t, 0); pthread_rwlock_destroy(&rwlock); return 0; diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c b/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c new file mode 100644 index 000000000..deec5c411 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/overflow-sub-3.c @@ -0,0 +1,34 @@ +/* { dg-do run } */ +/* { dg-options "-fsanitize=signed-integer-overflow" } */ + +__attribute__((noinline, noclone)) int +foo1 (int x, int y) +{ + return x - y; +} + +__attribute__((noinline, noclone)) int +foo2 (int x, int y) +{ + unsigned int xa = (unsigned int) x - (__INT_MAX__ - 3); + xa &= 3; + x = __INT_MAX__ - 3 + xa; + unsigned int ya = y + 1U; + ya &= 1; + y = ya - 1; + return x - y; +} + +int +main () +{ + int xm1, y; + for (xm1 = __INT_MAX__ - 4; xm1 < __INT_MAX__; xm1++) + for (y = -1; y <= 0; y++) + if (foo1 (xm1 + 1, y) != (int) (xm1 + 1U - y) + || foo2 (xm1 + 1, y) != (int) (xm1 + 1U - y)) + __builtin_abort (); + return 0; +} +/* { dg-output ":7:\[0-9]\[^\n\r]*signed integer overflow: 2147483647 - -1 cannot be represented in type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*:19:\[0-9]\[^\n\r]*signed integer overflow: 2147483647 - -1 cannot be represented in type 'int'" } */ diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/undefined-2.c b/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/undefined-2.c new file mode 100644 index 000000000..fd5b4d3e9 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/ubsan/undefined-2.c @@ -0,0 +1,26 @@ +/* { dg-do run } */ +/* { dg-options "-fsanitize=undefined" } */ +/* { dg-additional-options "-std=gnu11" { target c } } */ +/* { dg-additional-options "-std=c++11" { target c++ } } */ + +#include + +volatile int w, z; + +__attribute__ ((noinline, noclone)) int +foo (int x, int y) +{ + z++; + return x << y; +} + +int +main () +{ + fputs ("1st\n", stderr); + w = foo (0, -__INT_MAX__); + return 0; +} + +/* { dg-output "1st(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*shift exponent -\[^\n\r]* is negative\[^\n\r]*(\n|\r\n|\r)" } */ diff --git a/gcc-4.9/gcc/testsuite/g++.dg/abi/aarch64_guard1.C b/gcc-4.9/gcc/testsuite/g++.dg/abi/aarch64_guard1.C index ca1778b87..e2669a89f 100644 --- a/gcc-4.9/gcc/testsuite/g++.dg/abi/aarch64_guard1.C +++ b/gcc-4.9/gcc/testsuite/g++.dg/abi/aarch64_guard1.C @@ -13,5 +13,4 @@ int *foo () } // { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 } } -// { dg-final { scan-tree-dump "_ZGVZ3foovE1x & 1" "original" } } -// { dg-final { cleanup-tree-dump "original" } } +// { dg-final { scan-tree-dump "& 1" "original" } } diff --git a/gcc-4.9/gcc/testsuite/g++.dg/abi/no-weak1.C b/gcc-4.9/gcc/testsuite/g++.dg/abi/no-weak1.C new file mode 100644 index 000000000..d53901531 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/abi/no-weak1.C @@ -0,0 +1,13 @@ +// { dg-options "-fno-weak" } +// { dg-final { scan-assembler "local\[ \t\]*_ZZL1fvE1i" { target x86_64-*-*gnu } } } + +static inline void f() +{ + static int i; + ++i; +}; + +int main() +{ + f(); +} diff --git a/gcc-4.9/gcc/testsuite/g++.dg/abi/spec1.C b/gcc-4.9/gcc/testsuite/g++.dg/abi/spec1.C new file mode 100644 index 000000000..153c0cfe7 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/abi/spec1.C @@ -0,0 +1,4 @@ +// { dg-final { scan-assembler-not "weak" } } + +template struct A { static int i; }; +template<> int A::i = 42; diff --git a/gcc-4.9/gcc/testsuite/g++.dg/asan/pr62017.C b/gcc-4.9/gcc/testsuite/g++.dg/asan/pr62017.C new file mode 100644 index 000000000..74ef37fd2 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/asan/pr62017.C @@ -0,0 +1,17 @@ +// PR c++/62017 +// { dg-do run } + +struct A +{ + int x; + virtual ~A () {} +}; +struct B : public virtual A {}; +struct C : public virtual A {}; +struct D : public B, virtual public C {}; + +int +main () +{ + D d; +} diff --git a/gcc-4.9/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c b/gcc-4.9/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c index 2cf08946e..2884c25f3 100644 --- a/gcc-4.9/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c +++ b/gcc-4.9/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c @@ -1,5 +1,5 @@ /* Structure layout test generator. - Copyright (C) 2004, 2005, 2007, 2008, 2009, 2011, 2012 + Copyright (C) 2004-2014 Free Software Foundation, Inc. Contributed by Jakub Jelinek . @@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see #endif const char *dg_options[] = { -"/* { dg-options \"%s-I%s\" } */\n", +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n", "/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n", "/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n", "/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin* } } */\n", diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-44.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-44.C new file mode 100644 index 000000000..bd20b54f1 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-44.C @@ -0,0 +1,43 @@ +// PR c++/63849 +// { dg-do compile { target c++11 } } + +template +using First = _T; // we should not use this + // alias with only + // one pack parameter (?) + +template