Skip to content

Commit c64e744

Browse files
committed
Improved testing of std.cfg regarding uninitialized variables.
1 parent 9744146 commit c64e744

File tree

3 files changed

+292
-16
lines changed

3 files changed

+292
-16
lines changed

cfg/std.cfg

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,7 +1419,7 @@
14191419
</arg>
14201420
</function>
14211421
<!-- char * getenv(const char *name); -->
1422-
<function name="getenv">
1422+
<function name="getenv,std::getenv">
14231423
<use-retval/>
14241424
<noreturn>false</noreturn>
14251425
<leak-ignore/>
@@ -1438,7 +1438,7 @@
14381438
</arg>
14391439
</function>
14401440
<!-- struct tm * gmtime(const time_t *tp); -->
1441-
<function name="gmtime">
1441+
<function name="gmtime,std::gmtime">
14421442
<use-retval/>
14431443
<noreturn>false</noreturn>
14441444
<leak-ignore/>
@@ -1459,7 +1459,7 @@
14591459
</arg>
14601460
</function>
14611461
<!-- int iswalnum(wint_t c); -->
1462-
<function name="iswalnum">
1462+
<function name="iswalnum,std::iswalnum">
14631463
<use-retval/>
14641464
<pure/>
14651465
<noreturn>false</noreturn>
@@ -1480,7 +1480,7 @@
14801480
</arg>
14811481
</function>
14821482
<!-- int iswalpha(wint_t c);-->
1483-
<function name="iswalpha">
1483+
<function name="iswalpha,std::iswalpha">
14841484
<use-retval/>
14851485
<pure/>
14861486
<noreturn>false</noreturn>
@@ -1490,7 +1490,7 @@
14901490
</arg>
14911491
</function>
14921492
<!-- int isblank(int c); -->
1493-
<function name="isblank">
1493+
<function name="isblank,std::isblank">
14941494
<use-retval/>
14951495
<pure/>
14961496
<noreturn>false</noreturn>
@@ -1501,7 +1501,7 @@
15011501
</arg>
15021502
</function>
15031503
<!-- int iswblank(wint_t c); -->
1504-
<function name="iswblank">
1504+
<function name="iswblank,std::iswblank">
15051505
<use-retval/>
15061506
<pure/>
15071507
<noreturn>false</noreturn>
@@ -1522,7 +1522,7 @@
15221522
</arg>
15231523
</function>
15241524
<!-- int iswcntrl(wint_t c); -->
1525-
<function name="iswcntrl">
1525+
<function name="iswcntrl,std::iswcntrl">
15261526
<use-retval/>
15271527
<pure/>
15281528
<noreturn>false</noreturn>
@@ -1531,8 +1531,8 @@
15311531
<not-uninit/>
15321532
</arg>
15331533
</function>
1534-
<!-- int iswctype(wint_t c, wctype_t desc); -->
1535-
<function name="iswctype">
1534+
<!-- int iswcntrl(wint_t c, wctype_t desc); -->
1535+
<function name="iswctype,std::iswctype">
15361536
<use-retval/>
15371537
<pure/>
15381538
<noreturn>false</noreturn>
@@ -1556,7 +1556,7 @@
15561556
</arg>
15571557
</function>
15581558
<!-- int iswdigit(wint_t c); -->
1559-
<function name="iswdigit">
1559+
<function name="iswdigit,std::iswdigit">
15601560
<use-retval/>
15611561
<pure/>
15621562
<noreturn>false</noreturn>
@@ -1577,7 +1577,7 @@
15771577
</arg>
15781578
</function>
15791579
<!-- int iswgraph(wint_t c); -->
1580-
<function name="iswgraph">
1580+
<function name="iswgraph,std::iswgraph">
15811581
<use-retval/>
15821582
<pure/>
15831583
<noreturn>false</noreturn>
@@ -1598,7 +1598,7 @@
15981598
</arg>
15991599
</function>
16001600
<!-- int iswlower(wint_t c); -->
1601-
<function name="iswlower">
1601+
<function name="iswlower,std::iswlower">
16021602
<use-retval/>
16031603
<pure/>
16041604
<noreturn>false</noreturn>
@@ -1619,7 +1619,7 @@
16191619
</arg>
16201620
</function>
16211621
<!-- int iswprint(wint_t c); -->
1622-
<function name="iswprint">
1622+
<function name="iswprint,std::iswprint">
16231623
<use-retval/>
16241624
<pure/>
16251625
<noreturn>false</noreturn>
@@ -1629,7 +1629,7 @@
16291629
</arg>
16301630
</function>
16311631
<!-- int ispunct(int c); -->
1632-
<function name="ispunct">
1632+
<function name="ispunct,std::ispunct">
16331633
<use-retval/>
16341634
<pure/>
16351635
<noreturn>false</noreturn>
@@ -1640,7 +1640,7 @@
16401640
</arg>
16411641
</function>
16421642
<!-- int iswpunct(wint_t c); -->
1643-
<function name="iswpunct">
1643+
<function name="iswpunct,std::iswpunct">
16441644
<use-retval/>
16451645
<pure/>
16461646
<noreturn>false</noreturn>
@@ -1661,7 +1661,7 @@
16611661
</arg>
16621662
</function>
16631663
<!-- int iswspace(wint_t c); -->
1664-
<function name="iswspace">
1664+
<function name="iswspace,std::iswspace">
16651665
<use-retval/>
16661666
<pure/>
16671667
<noreturn>false</noreturn>

test/cfg/std.c

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <stdlib.h>
1313
#include <tgmath.h> // frexp
1414
#include <wchar.h>
15+
#include <wctype.h>
1516
#include <fenv.h>
1617

1718
void bufferAccessOutOfBounds(void)
@@ -1573,6 +1574,175 @@ void uninitvar_ungetwc(void)
15731574
(void)ungetwc(c,stream);
15741575
}
15751576

1577+
void uninitvar_getenv(void)
1578+
{
1579+
char *name;
1580+
// cppcheck-suppress uninitvar
1581+
(void)getenv(name);
1582+
}
1583+
1584+
void uninitvar_gmtime(void)
1585+
{
1586+
time_t *tp;
1587+
// cppcheck-suppress uninitvar
1588+
(void)gmtime(tp);
1589+
}
1590+
1591+
void uninitvar_isalnum(void)
1592+
{
1593+
int i;
1594+
// cppcheck-suppress uninitvar
1595+
(void)isalnum(i);
1596+
}
1597+
1598+
void uninitvar_iswalnum(void)
1599+
{
1600+
wint_t i;
1601+
// cppcheck-suppress uninitvar
1602+
(void)iswalnum(i);
1603+
}
1604+
1605+
void uninitvar_isalpha(void)
1606+
{
1607+
int i;
1608+
// cppcheck-suppress uninitvar
1609+
(void)isalpha(i);
1610+
}
1611+
1612+
void uninitvar_iswalpha(void)
1613+
{
1614+
wint_t i;
1615+
// cppcheck-suppress uninitvar
1616+
(void)iswalpha(i);
1617+
}
1618+
1619+
void uninitvar_isblank(void)
1620+
{
1621+
int i;
1622+
// cppcheck-suppress uninitvar
1623+
(void)isblank(i);
1624+
}
1625+
1626+
void uninitvar_iswblank(void)
1627+
{
1628+
wint_t i;
1629+
// cppcheck-suppress uninitvar
1630+
(void)iswblank(i);
1631+
}
1632+
1633+
void uninitvar_iscntrl(void)
1634+
{
1635+
int i;
1636+
// cppcheck-suppress uninitvar
1637+
(void)iscntrl(i);
1638+
}
1639+
1640+
void uninitvar_iswcntrl(void)
1641+
{
1642+
wint_t i;
1643+
// cppcheck-suppress uninitvar
1644+
(void)iswcntrl(i);
1645+
}
1646+
1647+
void uninitvar_iswctype(void)
1648+
{
1649+
wint_t c;
1650+
wctype_t desc;
1651+
// cppcheck-suppress uninitvar
1652+
(void)iswctype(c,desc);
1653+
}
1654+
1655+
void uninitvar_isdigit(void)
1656+
{
1657+
int i;
1658+
// cppcheck-suppress uninitvar
1659+
(void)isdigit(i);
1660+
}
1661+
1662+
void uninitvar_iswdigit(void)
1663+
{
1664+
wint_t i;
1665+
// cppcheck-suppress uninitvar
1666+
(void)iswdigit(i);
1667+
}
1668+
1669+
void uninitvar_isgraph(void)
1670+
{
1671+
int i;
1672+
// cppcheck-suppress uninitvar
1673+
(void)isgraph(i);
1674+
}
1675+
1676+
void uninitvar_iswgraph(void)
1677+
{
1678+
wint_t i;
1679+
// cppcheck-suppress uninitvar
1680+
(void)iswgraph(i);
1681+
}
1682+
1683+
void uninitvar_islower(void)
1684+
{
1685+
int i;
1686+
// cppcheck-suppress uninitvar
1687+
(void)islower(i);
1688+
}
1689+
1690+
void uninitvar_iswlower(void)
1691+
{
1692+
wint_t i;
1693+
// cppcheck-suppress uninitvar
1694+
(void)iswlower(i);
1695+
}
1696+
1697+
void uninitvar_isprint(void)
1698+
{
1699+
int i;
1700+
// cppcheck-suppress uninitvar
1701+
(void)isprint(i);
1702+
}
1703+
1704+
void uninitvar_iswprint(void)
1705+
{
1706+
wint_t i;
1707+
// cppcheck-suppress uninitvar
1708+
(void)iswprint(i);
1709+
}
1710+
1711+
void uninitvar_ispunct(void)
1712+
{
1713+
int i;
1714+
// cppcheck-suppress uninitvar
1715+
(void)ispunct(i);
1716+
}
1717+
1718+
void uninitvar_iswpunct(void)
1719+
{
1720+
wint_t i;
1721+
// cppcheck-suppress uninitvar
1722+
(void)iswpunct(i);
1723+
}
1724+
1725+
void uninitvar_isspace(void)
1726+
{
1727+
int i;
1728+
// cppcheck-suppress uninitvar
1729+
(void)isspace(i);
1730+
}
1731+
1732+
void uninitvar_iswspace(void)
1733+
{
1734+
wint_t i;
1735+
// cppcheck-suppress uninitvar
1736+
(void)iswspace(i);
1737+
}
1738+
1739+
void uninitvar_isupper(void)
1740+
{
1741+
int i;
1742+
// cppcheck-suppress uninitvar
1743+
(void)isupper(i);
1744+
}
1745+
15761746
void ignoreretrn(void)
15771747
{
15781748
char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";

0 commit comments

Comments
 (0)