public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/3] gdb: regenerate target-delegates.c
@ 2023-11-14  9:41 Tankut Baris Aktemur
  2023-11-14  9:41 ` [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Tankut Baris Aktemur
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Tankut Baris Aktemur @ 2023-11-14  9:41 UTC (permalink / raw)
  To: gdb-patches

I ran './make-target-delegates.py' and there as one minor difference,
where an older style declaration is converted to a newer
initialization style.  Add this change.
---
 gdb/target-delegates.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
index c5540c366e4..a27b66df100 100644
--- a/gdb/target-delegates.c
+++ b/gdb/target-delegates.c
@@ -2291,9 +2291,9 @@ dummy_target::supports_set_thread_options (gdb_thread_options arg0)
 bool
 debug_target::supports_set_thread_options (gdb_thread_options arg0)
 {
-  bool result;
   gdb_printf (gdb_stdlog, "-> %s->supports_set_thread_options (...)\n", this->beneath ()->shortname ());
-  result = this->beneath ()->supports_set_thread_options (arg0);
+  bool result
+    = this->beneath ()->supports_set_thread_options (arg0);
   gdb_printf (gdb_stdlog, "<- %s->supports_set_thread_options (", this->beneath ()->shortname ());
   target_debug_print_gdb_thread_options (arg0);
   gdb_puts (") = ", gdb_stdlog);
-- 
2.34.1

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES
  2023-11-14  9:41 [PATCH 1/3] gdb: regenerate target-delegates.c Tankut Baris Aktemur
@ 2023-11-14  9:41 ` Tankut Baris Aktemur
  2023-11-14 13:47   ` Pedro Alves
  2023-11-14  9:41 ` [PATCH 3/3] gdb: handle default argument in make-target-delegates.py Tankut Baris Aktemur
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Tankut Baris Aktemur @ 2023-11-14  9:41 UTC (permalink / raw)
  To: gdb-patches

Refactor the ARGTYPES regular expression in make-target-delegates.py
to eliminate '.*' for better control on what is matched.  This will be
helpful in the next patch where we recognize default argument values.
Also, simplify the "E" match group, for which the optional SYMBOL
becomes redundant because that case can be matched by the "T" group.

After applying this patch, running './make-target-delegates.py' does not
change anything in 'target-delegates.c'.
---
 gdb/make-target-delegates.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/gdb/make-target-delegates.py b/gdb/make-target-delegates.py
index 5bbe7c0b930..fd5f436a43d 100755
--- a/gdb/make-target-delegates.py
+++ b/gdb/make-target-delegates.py
@@ -73,17 +73,18 @@ METHOD = re.compile(
     + METHOD_TRAILER
 )
 
+# Space-separated symbols.
+CP_SYMBOLS = CP_SYMBOL + r"(\s+" + CP_SYMBOL + r")*"
+
 # Regular expression used to dissect argument types.
 ARGTYPES = re.compile(
     "^("
     + r"(?P<E>enum\s+"
     + SYMBOL
-    + r"\s*)("
-    + SYMBOL
-    + ")?"
-    + r"|(?P<T>.*(enum\s+)?"
-    + SYMBOL
-    + r".*(\s|\*|&))"
+    + r")"
+    + r"|(?P<T>"
+    + CP_SYMBOLS
+    + r"(\s|\*|&)+)"
     + SYMBOL
     + ")$"
 )
-- 
2.34.1

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14  9:41 [PATCH 1/3] gdb: regenerate target-delegates.c Tankut Baris Aktemur
  2023-11-14  9:41 ` [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Tankut Baris Aktemur
@ 2023-11-14  9:41 ` Tankut Baris Aktemur
  2023-11-14 11:31   ` Pedro Alves
  2023-11-14 11:14 ` [PATCH 1/3] gdb: regenerate target-delegates.c Pedro Alves
  2023-11-14 14:18 ` Tom Tromey
  3 siblings, 1 reply; 12+ messages in thread
From: Tankut Baris Aktemur @ 2023-11-14  9:41 UTC (permalink / raw)
  To: gdb-patches

The regular expression to dissect argument types in
make-target-delegates.py does not recognize default argument values.
For example, in target.h, we have

   virtual void rcmd (const char *command, struct ui_file *output)
     TARGET_DEFAULT_FUNC (default_rcmd);
   virtual const char *pid_to_exec_file (int pid)
     TARGET_DEFAULT_RETURN (NULL);

Suppose we change these to the following where we define default
values for the arguments.  The example for the default argument
of "pid" is deliberately chosen to contain a space character.

   virtual void rcmd (const char *command=0, struct ui_file *output = nullptr)
     TARGET_DEFAULT_FUNC (default_rcmd);
   virtual const char *pid_to_exec_file (int pid=sizeof n)
     TARGET_DEFAULT_RETURN (NULL);

After generating the target-delegates.c file via make-target-delegates.py
we obtain invalid code:

   void rcmd (const char *command=0 arg0, struct ui_file *output = nullptr arg1) override;
   const char *pid_to_exec_file (int pid=sizeof n arg0) override;
   ...
   void
   debug_target::rcmd (const char *command=0 arg0, struct ui_file *output = nullptr arg1)
   {
     ...
     target_debug_print_const_char_pcommand=0 (arg0);
     ...
     target_debug_print_struct_ui_file_poutput_=_nullptr (arg1);
   }
   ...
   const char *
   debug_target::pid_to_exec_file (int pid=sizeof n arg0)
   {
     ...
     target_debug_print_int_pid=sizeof_n (arg0);
     ...
   }

When the fix in this patch is applied, the default argument values
are correctly detected and we obtain the same generated result for
target-delegates.c, which is

   void rcmd (const char *arg0, struct ui_file *arg1) override;
   const char *pid_to_exec_file (int arg0) override;
   ...
   void
   debug_target::rcmd (const char *arg0, struct ui_file *arg1)
   {
     ...
     target_debug_print_const_char_p (arg0);
     ...
     target_debug_print_struct_ui_file_p (arg1);
   }
   ...
   const char *
   debug_target::pid_to_exec_file (int arg0)
   {
     ...
     target_debug_print_int (arg0);
     ...
   }

Currently, target.h does not contain any arguments with default
values.  The goal of this patch is to address potential future and
downstream cases; we (Intel) have cases with default argument values.
---
 gdb/make-target-delegates.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gdb/make-target-delegates.py b/gdb/make-target-delegates.py
index fd5f436a43d..2758f900c9b 100755
--- a/gdb/make-target-delegates.py
+++ b/gdb/make-target-delegates.py
@@ -76,6 +76,8 @@ METHOD = re.compile(
 # Space-separated symbols.
 CP_SYMBOLS = CP_SYMBOL + r"(\s+" + CP_SYMBOL + r")*"
 
+DEFAULT_ARG_VALUE = r"(\s*\=\s*[^\s].*)?"
+
 # Regular expression used to dissect argument types.
 ARGTYPES = re.compile(
     "^("
@@ -86,6 +88,7 @@ ARGTYPES = re.compile(
     + CP_SYMBOLS
     + r"(\s|\*|&)+)"
     + SYMBOL
+    + DEFAULT_ARG_VALUE
     + ")$"
 )
 
-- 
2.34.1

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] gdb: regenerate target-delegates.c
  2023-11-14  9:41 [PATCH 1/3] gdb: regenerate target-delegates.c Tankut Baris Aktemur
  2023-11-14  9:41 ` [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Tankut Baris Aktemur
  2023-11-14  9:41 ` [PATCH 3/3] gdb: handle default argument in make-target-delegates.py Tankut Baris Aktemur
@ 2023-11-14 11:14 ` Pedro Alves
  2023-11-14 14:18 ` Tom Tromey
  3 siblings, 0 replies; 12+ messages in thread
From: Pedro Alves @ 2023-11-14 11:14 UTC (permalink / raw)
  To: Tankut Baris Aktemur, gdb-patches

On 2023-11-14 09:41, Tankut Baris Aktemur wrote:
> I ran './make-target-delegates.py' and there as one minor difference,
> where an older style declaration is converted to a newer
> initialization style.  Add this change.
> ---
>  gdb/target-delegates.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
> index c5540c366e4..a27b66df100 100644
> --- a/gdb/target-delegates.c
> +++ b/gdb/target-delegates.c
> @@ -2291,9 +2291,9 @@ dummy_target::supports_set_thread_options (gdb_thread_options arg0)
>  bool
>  debug_target::supports_set_thread_options (gdb_thread_options arg0)
>  {
> -  bool result;
>    gdb_printf (gdb_stdlog, "-> %s->supports_set_thread_options (...)\n", this->beneath ()->shortname ());
> -  result = this->beneath ()->supports_set_thread_options (arg0);
> +  bool result
> +    = this->beneath ()->supports_set_thread_options (arg0);
>    gdb_printf (gdb_stdlog, "<- %s->supports_set_thread_options (", this->beneath ()->shortname ());
>    target_debug_print_gdb_thread_options (arg0);
>    gdb_puts (") = ", gdb_stdlog);


Whoops, my fault, missed the need to regenerate before pushing.

Approved-By: Pedro Alves <pedro@palves.net>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14  9:41 ` [PATCH 3/3] gdb: handle default argument in make-target-delegates.py Tankut Baris Aktemur
@ 2023-11-14 11:31   ` Pedro Alves
  2023-11-14 12:48     ` Aktemur, Tankut Baris
  2023-11-14 14:17     ` Tom Tromey
  0 siblings, 2 replies; 12+ messages in thread
From: Pedro Alves @ 2023-11-14 11:31 UTC (permalink / raw)
  To: Tankut Baris Aktemur, gdb-patches

On 2023-11-14 09:41, Tankut Baris Aktemur wrote:

> Currently, target.h does not contain any arguments with default
> values.  The goal of this patch is to address potential future and
> downstream cases; we (Intel) have cases with default argument values.

Hmm, but default arguments in virtual methods is generally considered a bad idea,
because default arguments are a static property which doesn't propagate when
you override a method.  Like:

#include <stdio.h>

struct A
{
  virtual void func (int arg = 1) { printf ("%d\n", arg); }
};

struct B : A
{
  virtual void func (int arg = 2) { printf ("%d\n", arg); }
};

struct C : A
{
  virtual void func (int arg) { printf ("%d\n", arg); }
};

int
main ()
{
   B *b = new B ();
   A *a = b;
   a->func ();  // prints "1".
   b->func ();  // prints "2".

   C *c = new C ();
   c->func ();  // doesn't even compile.
}

Instead, it's better practice to put the default argument in a non-virtual method that
then calls the virtual method.  We don't have those in target_ops, but we have instead
the global target_foo wrapper functions.  So instead of putting the default argument here:

 -   virtual void rcmd (const char *command=0, struct ui_file *output)
 +   virtual void rcmd (const char *command=0, struct ui_file *output = nullptr)
       TARGET_DEFAULT_FUNC (default_rcmd);

You should put the default here:

 -extern void target_rcmd (const char *command, struct ui_file *outbuf);
 +extern void target_rcmd (const char *command, struct ui_file *outbuf = nullptr);


^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14 11:31   ` Pedro Alves
@ 2023-11-14 12:48     ` Aktemur, Tankut Baris
  2023-11-14 13:36       ` Pedro Alves
  2023-11-14 14:17     ` Tom Tromey
  1 sibling, 1 reply; 12+ messages in thread
From: Aktemur, Tankut Baris @ 2023-11-14 12:48 UTC (permalink / raw)
  To: Pedro Alves, gdb-patches

On Tuesday, November 14, 2023 12:31 PM, Pedro Alves wrote:
> On 2023-11-14 09:41, Tankut Baris Aktemur wrote:
> 
> > Currently, target.h does not contain any arguments with default
> > values.  The goal of this patch is to address potential future and
> > downstream cases; we (Intel) have cases with default argument values.
> 
> Hmm, but default arguments in virtual methods is generally considered a bad idea,
> because default arguments are a static property which doesn't propagate when
> you override a method.  Like:

This is an important point that I missed.  Thanks.

This would make Patch 3/3 obsolete.  I'd still like to keep
Patch 2/3 for review (I'd update its commit message, though).
I think Patch 2/3 makes the regexp easier to read and has a value.

> #include <stdio.h>
> 
> struct A
> {
>   virtual void func (int arg = 1) { printf ("%d\n", arg); }
> };
> 
> struct B : A
> {
>   virtual void func (int arg = 2) { printf ("%d\n", arg); }
> };
> 
> struct C : A
> {
>   virtual void func (int arg) { printf ("%d\n", arg); }
> };
> 
> int
> main ()
> {
>    B *b = new B ();
>    A *a = b;
>    a->func ();  // prints "1".
>    b->func ();  // prints "2".
> 
>    C *c = new C ();
>    c->func ();  // doesn't even compile.
> }
> 
> Instead, it's better practice to put the default argument in a non-virtual method
> that
> then calls the virtual method.  We don't have those in target_ops, but we have
> instead
> the global target_foo wrapper functions.  So instead of putting the default argument
> here:
> 
>  -   virtual void rcmd (const char *command=0, struct ui_file *output)
>  +   virtual void rcmd (const char *command=0, struct ui_file *output = nullptr)
>        TARGET_DEFAULT_FUNC (default_rcmd);
> 
> You should put the default here:
> 
>  -extern void target_rcmd (const char *command, struct ui_file *outbuf);
>  +extern void target_rcmd (const char *command, struct ui_file *outbuf = nullptr);

These wrappers at the GDB side are global functions and they make
calling target ops easier.  E.g.:

  target_foo (...);

instead of

  current_inferior ()->top_target ()->foo (...);

Now comes my side question:

At the gdbserver side, we have macros instead.  E.g.:

  #define target_create_inferior(program, program_args)   \
    the_target->create_inferior (program, program_args)

These macros look like they remained from the C time and not
every target op consistently has a wrapper macro.  A macro
is not used consistently even when it exists.

Is there a general direction about them, like

1. They shall stay and be used; we shall fix the lack of consistency.

2. They shall be converted into global wrapper functions; we shall
   use the wrappers consistently.

3. They shall be removed and replaced by the actual method call.
   E.g.:
     the_target->foo (...);
   instead of
     target_foo (...);

(FWIW, option #3 makes the most sense to me.)

Thanks,
-Baris




Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14 12:48     ` Aktemur, Tankut Baris
@ 2023-11-14 13:36       ` Pedro Alves
  0 siblings, 0 replies; 12+ messages in thread
From: Pedro Alves @ 2023-11-14 13:36 UTC (permalink / raw)
  To: Aktemur, Tankut Baris, gdb-patches

On 2023-11-14 12:48, Aktemur, Tankut Baris wrote:
> On Tuesday, November 14, 2023 12:31 PM, Pedro Alves wrote:
>> On 2023-11-14 09:41, Tankut Baris Aktemur wrote:
>>
>>> Currently, target.h does not contain any arguments with default
>>> values.  The goal of this patch is to address potential future and
>>> downstream cases; we (Intel) have cases with default argument values.
>>
>> Hmm, but default arguments in virtual methods is generally considered a bad idea,
>> because default arguments are a static property which doesn't propagate when
>> you override a method.  Like:
> 
> This is an important point that I missed.  Thanks.
> 

> This would make Patch 3/3 obsolete.  I'd still like to keep
> Patch 2/3 for review (I'd update its commit message, though).
> I think Patch 2/3 makes the regexp easier to read and has a value.

I will take a look.


> At the gdbserver side, we have macros instead.  E.g.:
> 
>   #define target_create_inferior(program, program_args)   \
>     the_target->create_inferior (program, program_args)
> 
> These macros look like they remained from the C time and not
> every target op consistently has a wrapper macro.  A macro
> is not used consistently even when it exists.
> 
> Is there a general direction about them, like
> 
> 1. They shall stay and be used; we shall fix the lack of consistency.
> 
> 2. They shall be converted into global wrapper functions; we shall
>    use the wrappers consistently.
> 
> 3. They shall be removed and replaced by the actual method call.
>    E.g.:
>      the_target->foo (...);
>    instead of
>      target_foo (...);
> 
> (FWIW, option #3 makes the most sense to me.)

I'd go with #2, for a few reasons:

  - so you have a place to put the default arguments.
  - so that we have some consistency with the GDB side.  It's even the case that some
    target_foo wrapper methods are shared between GDB and GDBserver -- see gdb/target/target.h.
  - it'd help if we decided to add a target stack concept to GDBserver too.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES
  2023-11-14  9:41 ` [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Tankut Baris Aktemur
@ 2023-11-14 13:47   ` Pedro Alves
  0 siblings, 0 replies; 12+ messages in thread
From: Pedro Alves @ 2023-11-14 13:47 UTC (permalink / raw)
  To: Tankut Baris Aktemur, gdb-patches

Hi Baris,

On 2023-11-14 09:41, Tankut Baris Aktemur wrote:
> Refactor the ARGTYPES regular expression in make-target-delegates.py
> to eliminate '.*' for better control on what is matched.  This will be
> helpful in the next patch where we recognize default argument values.
> Also, simplify the "E" match group, for which the optional SYMBOL
> becomes redundant because that case can be matched by the "T" group.
> 
> After applying this patch, running './make-target-delegates.py' does not
> change anything in 'target-delegates.c'.

With the tweak to the commit log to not mention default arguments:

  Approved-By: Pedro Alves <pedro@palves.net>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14 11:31   ` Pedro Alves
  2023-11-14 12:48     ` Aktemur, Tankut Baris
@ 2023-11-14 14:17     ` Tom Tromey
  2023-11-16 18:11       ` Aktemur, Tankut Baris
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Tromey @ 2023-11-14 14:17 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tankut Baris Aktemur, gdb-patches

>>>>> "Pedro" == Pedro Alves <pedro@palves.net> writes:

Pedro> Hmm, but default arguments in virtual methods is generally
Pedro> considered a bad idea, because default arguments are a static
Pedro> property which doesn't propagate when you override a method.

I wonder if we have any of these already, and/or if there's a compiler
warning we could enable.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] gdb: regenerate target-delegates.c
  2023-11-14  9:41 [PATCH 1/3] gdb: regenerate target-delegates.c Tankut Baris Aktemur
                   ` (2 preceding siblings ...)
  2023-11-14 11:14 ` [PATCH 1/3] gdb: regenerate target-delegates.c Pedro Alves
@ 2023-11-14 14:18 ` Tom Tromey
  3 siblings, 0 replies; 12+ messages in thread
From: Tom Tromey @ 2023-11-14 14:18 UTC (permalink / raw)
  To: Tankut Baris Aktemur; +Cc: gdb-patches

>>>>> "Tankut" == Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> writes:

Tankut> I ran './make-target-delegates.py' and there as one minor difference,
Tankut> where an older style declaration is converted to a newer
Tankut> initialization style.  Add this change.

FAOD, I think it's fine to treat regenerations like this as obvious.

I suppose the exception would be if you have some reason to believe the
change to one of the inputs was incorrect, so regenerating would
introduce a bug.  But, I think that's pretty rare.

thanks,
Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-14 14:17     ` Tom Tromey
@ 2023-11-16 18:11       ` Aktemur, Tankut Baris
  2023-11-17 15:41         ` Tom Tromey
  0 siblings, 1 reply; 12+ messages in thread
From: Aktemur, Tankut Baris @ 2023-11-16 18:11 UTC (permalink / raw)
  To: Tom Tromey, Pedro Alves; +Cc: gdb-patches

> >>>>> "Pedro" == Pedro Alves <pedro@palves.net> writes:
> 
> Pedro> Hmm, but default arguments in virtual methods is generally
> Pedro> considered a bad idea, because default arguments are a static
> Pedro> property which doesn't propagate when you override a method.
> 
> I wonder if we have any of these already, and/or if there's a compiler
> warning we could enable.

I couldn't find such a warning option in GCC or Clang:

https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
https://clang.llvm.org/docs/DiagnosticsReference.html

-Baris


Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py
  2023-11-16 18:11       ` Aktemur, Tankut Baris
@ 2023-11-17 15:41         ` Tom Tromey
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Tromey @ 2023-11-17 15:41 UTC (permalink / raw)
  To: Aktemur, Tankut Baris; +Cc: Tom Tromey, Pedro Alves, gdb-patches

>>>>> Aktemur, Tankut Baris <tankut.baris.aktemur@intel.com> writes:

>> I wonder if we have any of these already, and/or if there's a compiler
>> warning we could enable.

> I couldn't find such a warning option in GCC or Clang:

> https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
> https://clang.llvm.org/docs/DiagnosticsReference.html

Thanks for looking.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-11-17 15:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-14  9:41 [PATCH 1/3] gdb: regenerate target-delegates.c Tankut Baris Aktemur
2023-11-14  9:41 ` [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Tankut Baris Aktemur
2023-11-14 13:47   ` Pedro Alves
2023-11-14  9:41 ` [PATCH 3/3] gdb: handle default argument in make-target-delegates.py Tankut Baris Aktemur
2023-11-14 11:31   ` Pedro Alves
2023-11-14 12:48     ` Aktemur, Tankut Baris
2023-11-14 13:36       ` Pedro Alves
2023-11-14 14:17     ` Tom Tromey
2023-11-16 18:11       ` Aktemur, Tankut Baris
2023-11-17 15:41         ` Tom Tromey
2023-11-14 11:14 ` [PATCH 1/3] gdb: regenerate target-delegates.c Pedro Alves
2023-11-14 14:18 ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).