]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
jit: don't use &vect[0] in libgccjit++.h [PR121516]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 13 Aug 2025 01:46:41 +0000 (21:46 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 13 Aug 2025 01:46:41 +0000 (21:46 -0400)
gcc/jit/ChangeLog:
PR jit/121516
* libgccjit++.h (context::new_struct_type): Replace use of
&fields[0] with fields.data ().
(context::new_function): Likewise for params.
(context::new_rvalue): Likewise for elements.
(context::new_call): Likewise for args.
(block::end_with_switch): Likewise for cases.
(block::end_with_extended_asm_goto): Likewise for goto_blocks.
(context::new_struct_ctor): Likewise for fields and values.
(context::new_array_ctor): Likewise for values.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/jit/libgccjit++.h

index 7ecd915cddbb3b8533986c3e74241391d9494fcd..608c49d73c6ff291a15f1b8800139f92d9ebe9a3 100644 (file)
@@ -841,7 +841,7 @@ context::new_struct_type (const std::string &name,
                          location loc)
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  field *as_array_of_wrappers = &fields[0];
+  field *as_array_of_wrappers = fields.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally. */
@@ -885,7 +885,7 @@ context::new_function (enum gcc_jit_function_kind kind,
                       location loc)
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  param *as_array_of_wrappers = &params[0];
+  param *as_array_of_wrappers = params.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally. */
@@ -988,7 +988,7 @@ context::new_rvalue (type vector_type,
                     std::vector<rvalue> elements) const
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  rvalue *as_array_of_wrappers = &elements[0];
+  rvalue *as_array_of_wrappers = elements.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally. */
@@ -1194,7 +1194,7 @@ context::new_call (function func,
                   location loc)
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  rvalue *as_array_of_wrappers = &args[0];
+  rvalue *as_array_of_wrappers = args.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally. */
@@ -1615,7 +1615,7 @@ block::end_with_switch (rvalue expr,
                        location loc)
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  case_ *as_array_of_wrappers = &cases[0];
+  case_ *as_array_of_wrappers = cases.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally. */
@@ -1645,7 +1645,7 @@ block::end_with_extended_asm_goto (const std::string &asm_template,
                                   location loc)
 {
   /* Treat std::vector as an array, relying on it not being resized: */
-  block *as_array_of_wrappers = &goto_blocks[0];
+  block *as_array_of_wrappers = goto_blocks.data ();
 
   /* Treat the array as being of the underlying pointers, relying on
      the wrapper type being such a pointer internally.  */
@@ -1869,14 +1869,14 @@ context::new_struct_ctor (type type_,
 {
   field *pfields = nullptr;
   if (fields.size ())
-    pfields = &fields[0];
+    pfields = fields.data ();
 
   gcc_jit_field **fields_arr =
     reinterpret_cast<gcc_jit_field **> (pfields);
 
   rvalue *pvalues = nullptr;
   if (values.size ())
-    pvalues = &values[0];
+    pvalues = values.data ();
 
   gcc_jit_rvalue **values_arr =
     reinterpret_cast<gcc_jit_rvalue **> (pvalues);
@@ -1898,7 +1898,7 @@ context::new_array_ctor (type type_,
 {
   rvalue *pvalues = nullptr;
   if (values.size ())
-    pvalues = &values[0];
+    pvalues = values.data ();
 
   gcc_jit_rvalue **values_arr =
     reinterpret_cast<gcc_jit_rvalue **> (pvalues);