@@ -207,7 +207,13 @@ chkp_build_instrumented_fndecl (tree fndecl)
/* For functions with body versioning will make a copy of arguments.
For functions with no body we need to do it here. */
if (!gimple_has_body_p (fndecl))
- DECL_ARGUMENTS (new_decl) = copy_list (DECL_ARGUMENTS (fndecl));
+ {
+ tree arg;
+
+ DECL_ARGUMENTS (new_decl) = copy_list (DECL_ARGUMENTS (fndecl));
+ for (arg = DECL_ARGUMENTS (new_decl); arg; arg = DECL_CHAIN (arg))
+ DECL_CONTEXT (arg) = new_decl;
+ }
/* We are going to modify attributes list and therefore should
make own copy. */
new file mode 100644
@@ -0,0 +1,22 @@
+/* PR71529 */
+/* { dg-do compile { target { ! x32 } } } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx -O2" } */
+
+class c1
+{
+ public:
+ virtual ~c1 ();
+};
+
+class c2
+{
+ public:
+ virtual ~c2 ();
+};
+
+class c3 : c1, c2 { };
+
+int main (int, char **)
+{
+ c3 obj;
+}