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

             Bug #: 53123
           Summary: Double return statement in c-omp.c source file
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: guy_vaes...@hotmail.com


/pub/gcc/snapshots/4.8-20120422/

Sourcefile gcc\c-family\c-omp.c
Contains a second return statement on line 174 (first one on line 172)

Orriginal code:
line 170 x = build1 (OMP_ATOMIC_READ, type, addr);
line 171 SET_EXPR_LOCATION (x, loc);
line 172 return build_modify_expr (loc, v, NULL_TREE, NOP_EXPR,
line 173           loc, x, NULL_TREE);
line 174 return x;

What I would expect (modified line 172):
line 170 x = build1 (OMP_ATOMIC_READ, type, addr);
line 171 SET_EXPR_LOCATION (x, loc);
line 172 x = build_modify_expr (loc, v, NULL_TREE, NOP_EXPR,
line 173           loc, x, NULL_TREE);
line 174 return x;

The second return statement will never be reached and should be eliminated.

Reply via email to