diff mbox series

testsuite: Define _POSIX_C_SOURCE for test

Message ID 20240310172608.2979427-1-torbjorn.svensson@foss.st.com
State New
Headers show
Series testsuite: Define _POSIX_C_SOURCE for test | expand

Commit Message

Torbjörn SVENSSON March 10, 2024, 5:26 p.m. UTC
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(+)

Comments

Torbjörn SVENSSON March 16, 2024, 9:22 a.m. UTC | #1
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>
Mike Stump March 17, 2024, 5:48 p.m. UTC | #2
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>
Torbjörn SVENSSON March 18, 2024, 7:31 a.m. UTC | #3
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 mbox series

Patch

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>