[testsuite] More testsuite fixes.
This commit is contained in:
parent
235c57bc26
commit
60c662d53a
80
gdb-testsuite-casts.patch
Normal file
80
gdb-testsuite-casts.patch
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
http://sourceware.org/ml/gdb-patches/2016-09/msg00082.html
|
||||||
|
Subject: [testsuite patch] Fix false FAIL in gdb.cp/casts.exp
|
||||||
|
|
||||||
|
|
||||||
|
--ikeVEW9yuYc//A+q
|
||||||
|
Content-Type: text/plain; charset=us-ascii
|
||||||
|
Content-Disposition: inline
|
||||||
|
|
||||||
|
Hi,
|
||||||
|
|
||||||
|
gcc-6.2.1-1.fc26.x86_64
|
||||||
|
|
||||||
|
gdb compile failed, /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected primary-expression before 'int'
|
||||||
|
decltype(int x)
|
||||||
|
^~~
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected ')' before 'int'
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:1: error: expected unqualified-id before 'decltype'
|
||||||
|
decltype(int x)
|
||||||
|
^~~~~~~~
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc: In function 'int main(int, char**)':
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:59:14: error: expected primary-expression before 'decltype'
|
||||||
|
double y = decltype(2);
|
||||||
|
^~~~~~~~
|
||||||
|
|
||||||
|
'decltype' is a registered keyword since C++11 which is now a default for GCC.
|
||||||
|
|
||||||
|
OK for check-in?
|
||||||
|
|
||||||
|
|
||||||
|
Jan
|
||||||
|
|
||||||
|
--ikeVEW9yuYc//A+q
|
||||||
|
Content-Type: text/plain; charset=us-ascii
|
||||||
|
Content-Disposition: inline; filename=1
|
||||||
|
|
||||||
|
gdb/testsuite/ChangeLog
|
||||||
|
2016-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* gdb.cp/casts.cc: Rename decltype to int_to_double.
|
||||||
|
* gdb.cp/casts.exp (whatis decltype(5)): Rename to ...
|
||||||
|
(whatis int_to_double(5)): ... here.
|
||||||
|
|
||||||
|
diff --git a/gdb/testsuite/gdb.cp/casts.cc b/gdb/testsuite/gdb.cp/casts.cc
|
||||||
|
index 43f112f..4f68ba0 100644
|
||||||
|
--- a/gdb/testsuite/gdb.cp/casts.cc
|
||||||
|
+++ b/gdb/testsuite/gdb.cp/casts.cc
|
||||||
|
@@ -37,7 +37,7 @@ struct DoublyDerived : public VirtuallyDerived,
|
||||||
|
// Confuse a simpler approach.
|
||||||
|
|
||||||
|
double
|
||||||
|
-decltype(int x)
|
||||||
|
+int_to_double(int x)
|
||||||
|
{
|
||||||
|
return x + 2.0;
|
||||||
|
}
|
||||||
|
@@ -56,7 +56,7 @@ main (int argc, char **argv)
|
||||||
|
Alpha *ad = &derived;
|
||||||
|
Alpha *add = &doublyderived;
|
||||||
|
|
||||||
|
- double y = decltype(2);
|
||||||
|
+ double y = int_to_double(2);
|
||||||
|
|
||||||
|
return 0; /* breakpoint spot: casts.exp: 1 */
|
||||||
|
}
|
||||||
|
diff --git a/gdb/testsuite/gdb.cp/casts.exp b/gdb/testsuite/gdb.cp/casts.exp
|
||||||
|
index 34a2492..5798098 100644
|
||||||
|
--- a/gdb/testsuite/gdb.cp/casts.exp
|
||||||
|
+++ b/gdb/testsuite/gdb.cp/casts.exp
|
||||||
|
@@ -112,7 +112,7 @@ gdb_test "print reinterpret_cast<A &> (*b)" " = \\(A \\&\\) @$hex: {a = 42}" \
|
||||||
|
|
||||||
|
# Test that keyword shadowing works.
|
||||||
|
|
||||||
|
-gdb_test "whatis decltype(5)" " = double"
|
||||||
|
+gdb_test "whatis int_to_double(5)" " = double"
|
||||||
|
|
||||||
|
# Basic tests using typeof.
|
||||||
|
|
||||||
|
|
||||||
|
--ikeVEW9yuYc//A+q--
|
||||||
|
|
79
gdb-testsuite-m-static.patch
Normal file
79
gdb-testsuite-m-static.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
http://sourceware.org/ml/gdb-patches/2016-09/msg00083.html
|
||||||
|
Subject: [testsuite patch] Fix C++11 compilation failure for gdb.cp/m-static.exp
|
||||||
|
|
||||||
|
|
||||||
|
--y0ulUmNC+osPPQO6
|
||||||
|
Content-Type: text/plain; charset=iso-2022-jp
|
||||||
|
Content-Disposition: inline
|
||||||
|
|
||||||
|
Hi,
|
||||||
|
|
||||||
|
gcc-6.2.1-1.fc26.x86_64
|
||||||
|
|
||||||
|
g++ -std=c++03:
|
||||||
|
no warnings
|
||||||
|
|
||||||
|
g++:
|
||||||
|
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:0:
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:34: error: $B!F(Bconstexpr$B!G(B needed for in-class initialization of static data member $B!F(Bconst float gnu_obj_4::somewhere$B!G(B of non-integral type [-fpermissive]
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
^~~~~~~
|
||||||
|
|
||||||
|
clang++:
|
||||||
|
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init]
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
^ ~~~~~~~
|
||||||
|
1 warning generated.
|
||||||
|
|
||||||
|
clang++ -std=c++11:
|
||||||
|
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: error: in-class initializer for static data member of type 'const float' requires 'constexpr' specifier [-Wstatic-float-init]
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
^ ~~~~~~~
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:3: note: add 'constexpr'
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
^
|
||||||
|
constexpr
|
||||||
|
1 error generated.
|
||||||
|
|
||||||
|
OK for check-in?
|
||||||
|
|
||||||
|
After the fix out of the 4 combinations above only this one remains non-empty:
|
||||||
|
|
||||||
|
clang++:
|
||||||
|
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
||||||
|
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init]
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
^ ~~~~~~~
|
||||||
|
1 warning generated.
|
||||||
|
|
||||||
|
|
||||||
|
Jan
|
||||||
|
|
||||||
|
--y0ulUmNC+osPPQO6
|
||||||
|
Content-Type: text/plain; charset=us-ascii
|
||||||
|
Content-Disposition: inline; filename=1
|
||||||
|
|
||||||
|
gdb/testsuite/ChangeLog
|
||||||
|
2016-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* gdb.cp/m-static.h (gnu_obj_4::somewhere): Use constexpr for C++11.
|
||||||
|
|
||||||
|
diff --git a/gdb/testsuite/gdb.cp/m-static.h b/gdb/testsuite/gdb.cp/m-static.h
|
||||||
|
index bcedfff..2992463 100644
|
||||||
|
--- a/gdb/testsuite/gdb.cp/m-static.h
|
||||||
|
+++ b/gdb/testsuite/gdb.cp/m-static.h
|
||||||
|
@@ -6,6 +6,9 @@ class gnu_obj_4
|
||||||
|
static const int elsewhere;
|
||||||
|
static const int nowhere;
|
||||||
|
static const int everywhere = 317;
|
||||||
|
+#if __cplusplus >= 201103L
|
||||||
|
+ constexpr
|
||||||
|
+#endif
|
||||||
|
static const float somewhere = 3.14159;
|
||||||
|
|
||||||
|
// try to ensure test4 is actually allocated
|
||||||
|
|
||||||
|
--y0ulUmNC+osPPQO6--
|
||||||
|
|
55
gdb-upstream.patch
Normal file
55
gdb-upstream.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
commit 2c29df25b7c2ff006b45afd80ee6dd734ebbd47c
|
||||||
|
Author: Sergio Durigan Junior <sergiodj@redhat.com>
|
||||||
|
Date: Sun Sep 11 16:53:09 2016 -0400
|
||||||
|
|
||||||
|
Fix false FAIL on gdb.base/stap-probe.exp, due to ICF optimization
|
||||||
|
|
||||||
|
GCC 6's ICF optimization pass is making the declaration of 'm1' and
|
||||||
|
'm2', on gdb.base/stap-probe.c, to be unified. However, this leads to
|
||||||
|
only one instance of the probe 'two' being created, which causes a
|
||||||
|
failure on the testsuite (which expects a multi-location breakpoint to
|
||||||
|
be inserted on the probe).
|
||||||
|
|
||||||
|
This patch fixes this failure by declaring a dummy variable on 'm1',
|
||||||
|
and using it as an argument to m1's version of probe 'two'. Since we
|
||||||
|
do not care about the contents of the functions nor about the
|
||||||
|
arguments of each probe 'two', this is OK.
|
||||||
|
|
||||||
|
gdb/testsuite/ChangeLog:
|
||||||
|
2016-09-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||||
|
Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to
|
||||||
|
make m1's definition to be different from m2's. Use 'dummy' as an
|
||||||
|
argument for probe 'two'.
|
||||||
|
|
||||||
|
### a/gdb/testsuite/ChangeLog
|
||||||
|
### b/gdb/testsuite/ChangeLog
|
||||||
|
## -1,3 +1,10 @@
|
||||||
|
+2016-09-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||||
|
+ Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
+
|
||||||
|
+ * gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to
|
||||||
|
+ make m1's definition to be different from m2's. Use 'dummy' as an
|
||||||
|
+ argument for probe 'two'.
|
||||||
|
+
|
||||||
|
2016-09-10 Jon Beniston <jon@beniston.com>
|
||||||
|
|
||||||
|
* lib/mi-support.exp (mi_gdb_target_load): Use target_sim_options
|
||||||
|
--- a/gdb/testsuite/gdb.base/stap-probe.c
|
||||||
|
+++ b/gdb/testsuite/gdb.base/stap-probe.c
|
||||||
|
@@ -53,8 +53,13 @@ struct funcs
|
||||||
|
static void
|
||||||
|
m1 (void)
|
||||||
|
{
|
||||||
|
+ /* m1 and m2 are equivalent, but because of some compiler
|
||||||
|
+ optimizations we have to make each of them unique. This is why
|
||||||
|
+ we have this dummy variable here. */
|
||||||
|
+ volatile int dummy = 0;
|
||||||
|
+
|
||||||
|
if (TEST2)
|
||||||
|
- STAP_PROBE (test, two);
|
||||||
|
+ STAP_PROBE1 (test, two, dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
15
gdb.spec
15
gdb.spec
@ -28,7 +28,7 @@ Version: 7.12
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 0.14.%{tardate}%{?dist}
|
Release: 0.15.%{tardate}%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -247,7 +247,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
|
|||||||
|
|
||||||
# Backported fixups post the source tarball.
|
# Backported fixups post the source tarball.
|
||||||
#Xdrop: Just backports.
|
#Xdrop: Just backports.
|
||||||
#Patch232: gdb-upstream.patch
|
Patch232: gdb-upstream.patch
|
||||||
|
|
||||||
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||||
#=fedoratest+ppc
|
#=fedoratest+ppc
|
||||||
@ -577,6 +577,10 @@ Patch1143: gdb-linux_perf-bundle.patch
|
|||||||
# [rhel6+7] Fix compatibility of bison <3.1 and gcc >=6.
|
# [rhel6+7] Fix compatibility of bison <3.1 and gcc >=6.
|
||||||
Patch1144: gdb-bison-old.patch
|
Patch1144: gdb-bison-old.patch
|
||||||
|
|
||||||
|
# [testsuite] More testsuite fixes.
|
||||||
|
Patch1145: gdb-testsuite-casts.patch
|
||||||
|
Patch1146: gdb-testsuite-m-static.patch
|
||||||
|
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
||||||
# RL_STATE_FEDORA_GDB would not be found for:
|
# RL_STATE_FEDORA_GDB would not be found for:
|
||||||
# Patch642: gdb-readline62-ask-more-rh.patch
|
# Patch642: gdb-readline62-ask-more-rh.patch
|
||||||
@ -774,7 +778,7 @@ find -name "*.info*"|xargs rm -f
|
|||||||
# Match the Fedora's version info.
|
# Match the Fedora's version info.
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
|
||||||
#patch232 -p1
|
%patch232 -p1
|
||||||
%patch349 -p1
|
%patch349 -p1
|
||||||
%patch1058 -p1
|
%patch1058 -p1
|
||||||
%patch1132 -p1
|
%patch1132 -p1
|
||||||
@ -902,6 +906,8 @@ done
|
|||||||
%patch1123 -p1
|
%patch1123 -p1
|
||||||
%patch1143 -p1
|
%patch1143 -p1
|
||||||
%patch1144 -p1
|
%patch1144 -p1
|
||||||
|
%patch1145 -p1
|
||||||
|
%patch1146 -p1
|
||||||
|
|
||||||
%patch1075 -p1
|
%patch1075 -p1
|
||||||
%if 0%{?rhel:1} && 0%{?rhel} <= 7
|
%if 0%{?rhel:1} && 0%{?rhel} <= 7
|
||||||
@ -1448,6 +1454,9 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 12 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12-0.15.20160907.fc25
|
||||||
|
- [testsuite] More testsuite fixes.
|
||||||
|
|
||||||
* Mon Sep 12 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12-0.14.20160907.fc25
|
* Mon Sep 12 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12-0.14.20160907.fc25
|
||||||
- Various mostly testsuite compatibility and regression fixes.
|
- Various mostly testsuite compatibility and regression fixes.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user