public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
@ 2024-04-09  1:43 ` pinskia at gcc dot gnu.org
  2024-04-09  1:43 ` pinskia at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  1:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu.org

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So I could get ICC to produce them but clang does not.

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
  2024-04-09  1:43 ` [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block pinskia at gcc dot gnu.org
@ 2024-04-09  1:43 ` pinskia at gcc dot gnu.org
  2024-04-09  1:49 ` pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  1:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://github.com/llvm/llv
                   |                            |m-project/issues/14523

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
LLVM's bug report: https://github.com/llvm/llvm-project/issues/14523 :).

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
  2024-04-09  1:43 ` [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block pinskia at gcc dot gnu.org
  2024-04-09  1:43 ` pinskia at gcc dot gnu.org
@ 2024-04-09  1:49 ` pinskia at gcc dot gnu.org
  2024-04-09  1:53 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  1:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot gnu.org

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Interesting it was mentioned here:
https://gcc.gnu.org/legacy-ml/gcc/2003-12/msg00336.html

I wonder if we could mark the BLOCK as being the try block and then output
DW_TAG_try_block instead of DW_TAG_lexical_block . Likewise for catch.

Maybe I will give that a go for GCC 15. Though I might be only handle the C++
front-end. Others will need to handle other FEs.

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2024-04-09  1:49 ` pinskia at gcc dot gnu.org
@ 2024-04-09  1:53 ` pinskia at gcc dot gnu.org
  2024-04-09  2:00 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  1:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So for space, on LP64 (and LLP64) hosts, there is a free 32bits in the BLOCK
structure:
```
  tree chain;

  unsigned block_num;

  location_t locus; // unsigned
  location_t end_locus; // unsigned

  tree vars;
```

So I can at least add a 3bit field without increasing the size too.

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2024-04-09  1:53 ` pinskia at gcc dot gnu.org
@ 2024-04-09  2:00 ` pinskia at gcc dot gnu.org
  2024-04-09  2:05 ` pinskia at gcc dot gnu.org
  2024-04-09  2:19 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  2:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
for try blocks, I do need the catch blocks so do it as the siblings.
For catch blocks, the child will be type that is being caught as a
DW_TAG_formal_parameter/DW_TAG_unspecified_parameters .

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2024-04-09  2:00 ` pinskia at gcc dot gnu.org
@ 2024-04-09  2:05 ` pinskia at gcc dot gnu.org
  2024-04-09  2:19 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  2:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #5)
> for try blocks, I do need the catch blocks so do it as the siblings.
> For catch blocks, the child will be type that is being caught as a
> DW_TAG_formal_parameter/DW_TAG_unspecified_parameters .

Note DW_TAG_unspecified_parameters is for the catch(...) case.

I am adding this more for my usage when I am coding this up to make sure I
understand how this works.

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
       [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2024-04-09  2:05 ` pinskia at gcc dot gnu.org
@ 2024-04-09  2:19 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-09  2:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #6)
> (In reply to Andrew Pinski from comment #5)
> > for try blocks, I do need the catch blocks so do it as the siblings.
> > For catch blocks, the child will be type that is being caught as a
> > DW_TAG_formal_parameter/DW_TAG_unspecified_parameters .
> 
> Note DW_TAG_unspecified_parameters is for the catch(...) case.
> 
> I am adding this more for my usage when I am coding this up to make sure I
> understand how this works.

for the VAR_DECL of the catch, I think I should be able to use
gen_formal_parameter_die.

This means the block structure will need to grow since I need another tree
here. Or maybe not. Since there seems like there are 2 BLOCKs here for the
catch.

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

* [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block
  2009-03-11 17:45 [Bug debug/39436] New: " tromey at gcc dot gnu dot org
@ 2009-03-11 21:08 ` rguenth at gcc dot gnu dot org
  0 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-11 21:08 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-03-11 21:08:38
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39436


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

end of thread, other threads:[~2024-04-09  2:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-39436-4@http.gcc.gnu.org/bugzilla/>
2024-04-09  1:43 ` [Bug debug/39436] g++ does not emit DW_TAG_try_block or DW_TAG_catch_block pinskia at gcc dot gnu.org
2024-04-09  1:43 ` pinskia at gcc dot gnu.org
2024-04-09  1:49 ` pinskia at gcc dot gnu.org
2024-04-09  1:53 ` pinskia at gcc dot gnu.org
2024-04-09  2:00 ` pinskia at gcc dot gnu.org
2024-04-09  2:05 ` pinskia at gcc dot gnu.org
2024-04-09  2:19 ` pinskia at gcc dot gnu.org
2009-03-11 17:45 [Bug debug/39436] New: " tromey at gcc dot gnu dot org
2009-03-11 21:08 ` [Bug debug/39436] " rguenth at gcc dot gnu dot org

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).