VirtualBox

Changeset 65948 in vbox


Ignore:
Timestamp:
Mar 6, 2017 12:59:29 PM (8 years ago)
Author:
vboxsync
Message:

gcc 7: added 'break' to the 'else' case of all Assert*Break() macros. The gcc 7 fall-thru detection seems to be executed before the dead code elimination pass.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/assert.h

    r63430 r65948  
    693693        RTAssertPanic(); \
    694694        break; \
    695     } else do {} while (0)
     695    } else \
     696        break
    696697#else
    697698# define AssertBreak(expr) \
     
    967968        RTAssertPanic(); \
    968969        break; \
    969     } else do {} while (0)
     970    } else \
     971        break
    970972#else
    971973# define AssertMsgBreak(expr, a) \
     
    995997        stmt; \
    996998        break; \
    997     } else do {} while (0)
     999    } else \
     1000        break
    9981001#else
    9991002# define AssertMsgBreakStmt(expr, a, stmt) \
     
    10041007        stmt; \
    10051008        break; \
    1006     } else do {} while (0)
     1009    } else \
     1010        break
    10071011#endif
    10081012
     
    11251129        RTAssertPanic(); \
    11261130        break; \
    1127     } else do {} while (0)
     1131    } else \
     1132        break
    11281133#else
    11291134# define AssertFailedBreak()  \
    11301135    if (1) \
    11311136        break; \
    1132     else do {} while (0)
     1137    else \
     1138        break
    11331139#endif
    11341140
     
    11461152        stmt; \
    11471153        break; \
    1148     } else do {} while (0)
     1154    } else \
     1155        break
    11491156#else
    11501157# define AssertFailedBreakStmt(stmt) \
     
    11521159        stmt; \
    11531160        break; \
    1154     } else do {} while (0)
     1161    } else \
     1162        break
    11551163#endif
    11561164
     
    12261234        RTAssertPanic(); \
    12271235        break; \
    1228     } else do {} while (0)
     1236    } else \
     1237        break
    12291238#else
    12301239# define AssertMsgFailedBreak(a)  \
    12311240    if (1) \
    12321241        break; \
    1233     else do {} while (0)
     1242    else \
     1243        break
    12341244#endif
    12351245
     
    12491259        stmt; \
    12501260        break; \
    1251     } else do {} while (0)
     1261    } else \
     1262        break
    12521263#else
    12531264# define AssertMsgFailedBreakStmt(a, stmt) \
     
    12551266        stmt; \
    12561267        break; \
    1257     } else do {} while (0)
     1268    } else \
     1269        break
    12581270#endif
    12591271
     
    13621374        break; \
    13631375    } \
    1364     else do {} while (0)
     1376    else \
     1377        break
    13651378
    13661379/** @def AssertLogRelBreakStmt
     
    13801393        stmt; \
    13811394        break; \
    1382     } else do {} while (0)
     1395    } else \
     1396        break
    13831397
    13841398/** @def AssertLogRelMsg
     
    15051519        break; \
    15061520    } \
    1507     else do {} while (0)
     1521    else \
     1522        break
    15081523
    15091524/** @def AssertLogRelMsgBreakStmt
     
    15251540        stmt; \
    15261541        break; \
    1527     } else do {} while (0)
     1542    } else \
     1543        break
    15281544
    15291545/** @def AssertLogRelFailed
     
    15711587        RTAssertPanic(); \
    15721588        break; \
    1573     } else do {} while (0)
     1589    } else \
     1590        break
    15741591
    15751592/** @def AssertLogRelFailedBreakStmt
     
    15861603        stmt; \
    15871604        break; \
    1588     } else do {} while (0)
     1605    } else \
     1606        break
    15891607
    15901608/** @def AssertLogRelMsgFailed
     
    16951713        RTAssertPanic(); \
    16961714        break; \
    1697     } else do {} while (0)
     1715    } else \
     1716        break
    16981717
    16991718/** @def AssertLogRelMsgFailedBreakStmt
     
    17121731        stmt; \
    17131732        break; \
    1714     } else do {} while (0)
     1733    } else \
     1734        break
    17151735
    17161736/** @} */
     
    17991819        RTAssertReleasePanic(); \
    18001820        break; \
    1801     } else do {} while (0)
     1821    } else \
     1822        break
    18021823
    18031824/** @def AssertReleaseBreakStmt
     
    18161837        stmt; \
    18171838        break; \
    1818     } else do {} while (0)
     1839    } else \
     1840        break
    18191841
    18201842
     
    18921914        RTAssertReleasePanic(); \
    18931915        break; \
    1894     } else do {} while (0)
     1916    } else \
     1917        break
    18951918
    18961919/** @def AssertReleaseMsgBreakStmt
     
    19111934        stmt; \
    19121935        break; \
    1913     } else do {} while (0)
     1936    } else \
     1937        break
    19141938
    19151939
     
    19541978        RTAssertReleasePanic(); \
    19551979        break; \
    1956     } else do {} while (0)
     1980    } else \
     1981        break
    19571982
    19581983/** @def AssertReleaseFailedBreakStmt
     
    19671992        stmt; \
    19681993        break; \
    1969     } else do {} while (0)
     1994    } else \
     1995        break
    19701996
    19711997
     
    20212047        RTAssertReleasePanic(); \
    20222048        break; \
    2023     } else do {} while (0)
     2049    } else \
     2050        break
    20242051
    20252052/** @def AssertReleaseMsgFailedBreakStmt
     
    20362063        stmt; \
    20372064        break; \
    2038     } else do {} while (0)
     2065    } else \
     2066        break
    20392067
    20402068/** @} */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette