public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken
@ 2005-08-13 22:33 pinskia at gcc dot gnu dot org
  2005-08-13 22:46 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-13 22:33 UTC (permalink / raw)
  To: gcc-bugs

Take the following test (which I am about to commit to the testsuite, it is from PR 22492), we should 
not abort:
#include <objc/Object.h>
#include <stdio.h>
#include <stdlib.h>

static int made_try = 0;

int
thrower_try_body()
{
	made_try++;
        return (0);
}

static int made_finally = 0;

int
finally_body()
{
	made_finally++;
        return (0);
}

int
thrower()
{
        @try
        {
                thrower_try_body();
                @throw [Object new];
        }
        @finally
        {
                finally_body();
        }     
        return 0;
}

static int made_catch = 0;

int 
main(int ac, char *av[])
{
        @try
        {
                thrower();
        }
        @catch (id exc)
        {
		made_catch++;
                [exc free];
        }
	if (made_try != 1)
 	  abort ();
	if (made_finally != 1)
 	  abort ();
	if (made_catch != 1)
 	  abort ();
}



It worked in 4.0.0 20050113 so this is a regression.

-- 
           Summary: [4.1 Regression] Next runtime objc exceptions are broken
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P2
         Component: objc
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
@ 2005-08-13 22:46 ` pinskia at gcc dot gnu dot org
  2005-08-13 23:37 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-13 22:46 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-13 22:46 -------
This looks like a gimplifier bug.
In .orginal:
        if (objc_exception_try_enter (&D.2385);
        _setjmp ((void *) &D.2385.buf) != 0;)
          {
            {
              struct objc_object * D.2383;

              D.2383 = objc_exception_extract (&D.2385);
              if (objc_exception_try_enter (&D.2385);
              _setjmp ((void *) &D.2385.buf) != 0;)
                {
                  D.2386 = objc_exception_extract (&D.2385);
                }
              else
                {
                  {
                    struct objc_object * exc;

                    exc = D.2383;
                    made_catch++ ;
                    OBJ_TYPE_REF(objc_msgSend;SAVE_EXPR <exc>->0) (SAVE_EXPR <exc>, 
_OBJC_SELECTOR_REFERENCES_1);
                  }
                }
            }
          }
        else
          {
            thrower ();


in .gimple:
        objc_exception_try_enter (&D.2385);
        D.2387 = _setjmp (&D.2385.buf);
        if (D.2387 == 0)
          {
            thrower ();

Someone should test 4.0.x also.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.1.0
   Target Milestone|---                         |4.1.0


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
  2005-08-13 22:46 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
@ 2005-08-13 23:37 ` pinskia at gcc dot gnu dot org
  2005-08-14  2:04 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-13 23:37 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-13 23:37 -------
I think this is the same reason for the "objc.dg/try-catch-11.m execution test" failure.


-- 


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
  2005-08-13 22:46 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
  2005-08-13 23:37 ` pinskia at gcc dot gnu dot org
@ 2005-08-14  2:04 ` pinskia at gcc dot gnu dot org
  2005-08-14 19:00 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-14  2:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-14 02:04 -------
The failures are:
FAIL: objc/execute/exceptions/finally-1.m execution,  -O0  -fnext-runtime
FAIL: objc/execute/exceptions/finally-1.m execution,  -O1  -fnext-runtime
FAIL: objc/execute/exceptions/finally-1.m execution,  -O2  -fnext-runtime
FAIL: objc/execute/exceptions/finally-1.m execution,  -O3 -fomit-frame-pointer  -fnext-runtime
FAIL: objc/execute/exceptions/finally-1.m execution,  -O3 -g  -fnext-runtime
FAIL: objc/execute/exceptions/finally-1.m execution,  -Os  -fnext-runtime

-- 


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-08-14  2:04 ` pinskia at gcc dot gnu dot org
@ 2005-08-14 19:00 ` pinskia at gcc dot gnu dot org
  2005-08-17  2:48 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-14 19:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-14 19:00 -------
It works with "4.0.2 20050802" so this is a 4.1 regression for sure.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.0.2


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-08-14 19:00 ` pinskia at gcc dot gnu dot org
@ 2005-08-17  2:48 ` pinskia at gcc dot gnu dot org
  2005-08-31  0:01 ` [Bug middle-end/23381] " pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-17  2:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-17 02:43 -------
Confirmed:
http://gcc.gnu.org/ml/gcc-testresults/2005-08/msg00933.html

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-08-17 02:43:22
               date|                            |


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


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

* [Bug middle-end/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-08-17  2:48 ` pinskia at gcc dot gnu dot org
@ 2005-08-31  0:01 ` pinskia at gcc dot gnu dot org
  2005-08-31  0:10 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-31  0:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-30 23:55 -------
I think I have a patch for this.  The problem is that BIND_EXPR is not marked as statement when it 
should be.  This is a middle-end bug.  I think there is another bug for the same issue but in C++ and 
that is also a 4.0 regression.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
          Component|objc                        |middle-end


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


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

* [Bug middle-end/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2005-08-31  0:01 ` [Bug middle-end/23381] " pinskia at gcc dot gnu dot org
@ 2005-08-31  0:10 ` pinskia at gcc dot gnu dot org
  2005-08-31  3:35 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-31  0:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-31 00:02 -------
Oh, BIND_EXPR is just that an expression but it should almost always be marked as TREE_SIDE_EFFECTS.

-- 


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


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

* [Bug middle-end/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2005-08-31  0:10 ` pinskia at gcc dot gnu dot org
@ 2005-08-31  3:35 ` pinskia at gcc dot gnu dot org
  2005-08-31  4:48 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-31  3:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-31 03:20 -------
Patch posted here: <http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01807.html>.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2005-
                   |                            |08/msg01807.html
           Keywords|                            |patch


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2005-08-31  3:35 ` pinskia at gcc dot gnu dot org
@ 2005-08-31  4:48 ` pinskia at gcc dot gnu dot org
  2005-08-31  4:48 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-31  4:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-31 04:40 -------
This turned really to be a front-end bug, I will be committing the patch as obvious as it is a simple one 
liner.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://gcc.gnu.org/ml/gcc-  |
                   |patches/2005-               |
                   |08/msg01807.html            |
          Component|middle-end                  |objc
           Keywords|patch                       |


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2005-08-31  4:48 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
@ 2005-08-31  4:48 ` pinskia at gcc dot gnu dot org
  2005-08-31  4:55 ` cvs-commit at gcc dot gnu dot org
  2005-10-01  0:13 ` cvs-commit at developer dot classpath dot org
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-31  4:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-31 04:48 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2005-08-31  4:48 ` pinskia at gcc dot gnu dot org
@ 2005-08-31  4:55 ` cvs-commit at gcc dot gnu dot org
  2005-10-01  0:13 ` cvs-commit at developer dot classpath dot org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-08-31  4:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-31 04:48 -------
Subject: Bug 23381

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	pinskia@gcc.gnu.org	2005-08-31 04:48:42

Modified files:
	gcc/objc       : ChangeLog objc-act.c 

Log message:
	2005-08-31  Andrew Pinski  <pinskia@physics.uc.edu>
	
	PR objc/23381
	* objc-act.c (next_sjlj_build_try_catch_finally): Set
	TREE_SIDE_EFFECTS on catch_seq after building it.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/ChangeLog.diff?cvsroot=gcc&r1=1.55&r2=1.56
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&r1=1.289&r2=1.290



-- 


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


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

* [Bug objc/23381] [4.1 Regression] Next runtime objc exceptions are broken
  2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2005-08-31  4:55 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-01  0:13 ` cvs-commit at developer dot classpath dot org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at developer dot classpath dot org @ 2005-10-01  0:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at developer dot classpath dot org  2005-10-01 00:13 -------
Subject: Bug 23381

CVSROOT:	/cvsroot/classpath
Module name:	classpath
Branch: 	
Changes by:	Tom Tromey <tromey@savannah.gnu.org>	05/09/29 22:35:39

Modified files:
	.              : ChangeLog 
	java/beans     : PropertyDescriptor.java 

Log message:
	PR classpath/23381:
	* java/beans/PropertyDescriptor.java (hashCode): New method.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.5041&tr2=1.5042&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/beans/PropertyDescriptor.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text






-- 


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


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

end of thread, other threads:[~2005-10-01  0:13 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-13 22:33 [Bug objc/23381] New: [4.1 Regression] Next runtime objc exceptions are broken pinskia at gcc dot gnu dot org
2005-08-13 22:46 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
2005-08-13 23:37 ` pinskia at gcc dot gnu dot org
2005-08-14  2:04 ` pinskia at gcc dot gnu dot org
2005-08-14 19:00 ` pinskia at gcc dot gnu dot org
2005-08-17  2:48 ` pinskia at gcc dot gnu dot org
2005-08-31  0:01 ` [Bug middle-end/23381] " pinskia at gcc dot gnu dot org
2005-08-31  0:10 ` pinskia at gcc dot gnu dot org
2005-08-31  3:35 ` pinskia at gcc dot gnu dot org
2005-08-31  4:48 ` [Bug objc/23381] " pinskia at gcc dot gnu dot org
2005-08-31  4:48 ` pinskia at gcc dot gnu dot org
2005-08-31  4:55 ` cvs-commit at gcc dot gnu dot org
2005-10-01  0:13 ` cvs-commit at developer dot classpath 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).