Message ID | 20240310172608.2979427-1-torbjorn.svensson@foss.st.com |
---|---|
State | New |
Headers | show |
Series | testsuite: Define _POSIX_C_SOURCE for test | expand |
Ping! Kind regards, Torbjörn On 2024-03-10 18:26, Torbjörn SVENSSON wrote: > Ok for trunk? > > -- > > As the tests assume that strndup() is visible (only part of > POSIX.1-2008) define the guard to ensure that it's visible. Currently, > glibc appears to always have this defined in C++, newlib does not. > > Without this patch, fails like this can be seen: > > Testing analyzer/strndup-1.c, -std=c++98 > .../strndup-1.c: In function 'void test_1(const char*)': > .../strndup-1.c:11:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > .../strndup-1.c: In function 'void test_2(const char*)': > .../strndup-1.c:16:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > .../strndup-1.c: In function 'void test_3(const char*)': > .../strndup-1.c:21:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > > Patch has been verified on Linux. > > gcc/testsuite/ChangeLog: > > * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE. > > Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> > --- > gcc/testsuite/c-c++-common/analyzer/strndup-1.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > index 85ccae85d83..577ece0cfba 100644 > --- a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > +++ b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > @@ -1,4 +1,5 @@ > /* { dg-skip-if "no strndup in libc" { *-*-darwin[789]* *-*-darwin10* hppa*-*-hpux* *-*-mingw* *-*-vxworks* } } */ > +/* { dg-additional-options "-D_POSIX_C_SOURCE=200809L" } */ > > #include <string.h> > #include <stdlib.h>
On Mar 10, 2024, at 10:26 AM, Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> wrote: > > Ok for trunk? Ok. > As the tests assume that strndup() is visible (only part of > POSIX.1-2008) define the guard to ensure that it's visible. Currently, > glibc appears to always have this defined in C++, newlib does not. > > Without this patch, fails like this can be seen: > > Testing analyzer/strndup-1.c, -std=c++98 > .../strndup-1.c: In function 'void test_1(const char*)': > .../strndup-1.c:11:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > .../strndup-1.c: In function 'void test_2(const char*)': > .../strndup-1.c:16:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > .../strndup-1.c: In function 'void test_3(const char*)': > .../strndup-1.c:21:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? > > Patch has been verified on Linux. > > gcc/testsuite/ChangeLog: > > * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE. > > Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> > --- > gcc/testsuite/c-c++-common/analyzer/strndup-1.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > index 85ccae85d83..577ece0cfba 100644 > --- a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > +++ b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c > @@ -1,4 +1,5 @@ > /* { dg-skip-if "no strndup in libc" { *-*-darwin[789]* *-*-darwin10* hppa*-*-hpux* *-*-mingw* *-*-vxworks* } } */ > +/* { dg-additional-options "-D_POSIX_C_SOURCE=200809L" } */ > > #include <string.h> > #include <stdlib.h>
On 2024-03-17 18:48, Mike Stump wrote: > On Mar 10, 2024, at 10:26 AM, Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> wrote: >> >> Ok for trunk? > > Ok. Pushed as basepoints/gcc-14-9513-g58753dba800 to trunk. Kind regards, Torbjörn
diff --git a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c index 85ccae85d83..577ece0cfba 100644 --- a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c +++ b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c @@ -1,4 +1,5 @@ /* { dg-skip-if "no strndup in libc" { *-*-darwin[789]* *-*-darwin10* hppa*-*-hpux* *-*-mingw* *-*-vxworks* } } */ +/* { dg-additional-options "-D_POSIX_C_SOURCE=200809L" } */ #include <string.h> #include <stdlib.h>
Ok for trunk? -- As the tests assume that strndup() is visible (only part of POSIX.1-2008) define the guard to ensure that it's visible. Currently, glibc appears to always have this defined in C++, newlib does not. Without this patch, fails like this can be seen: Testing analyzer/strndup-1.c, -std=c++98 .../strndup-1.c: In function 'void test_1(const char*)': .../strndup-1.c:11:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? .../strndup-1.c: In function 'void test_2(const char*)': .../strndup-1.c:16:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? .../strndup-1.c: In function 'void test_3(const char*)': .../strndup-1.c:21:13: error: 'strndup' was not declared in this scope; did you mean 'strncmp'? Patch has been verified on Linux. gcc/testsuite/ChangeLog: * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE. Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> --- gcc/testsuite/c-c++-common/analyzer/strndup-1.c | 1 + 1 file changed, 1 insertion(+)