Re: [PATCH 2/2] sptests/spstdc17: New test
Hello, On 25/07/2022 10:02, Sebastian Huber wrote: +cflags: +- -std=c17 +- -pedantic +- -Wextra this test case causes build issue on several BSPs, because the is not C17 compatible. Example error: bsps/arm/beagle/include/bsp.h:298:5: error: 'asm' undeclared (first use in this function) 298 | asm volatile("mcr p15, 0, %[zero], c8, c7, 0 @ TLBIALL\n\t" | ^~~ -- embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.hu...@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 2/2] sptests/spstdc17: New test
On 25/07/2022 16:00, Joel Sherrill wrote: This is OK but from what I see in applications, C99 is the version actually in use. C17 is the default version of GCC 10 and 12. Threads are undefined in C99. Why would someone use such an old standard with RTEMS? Anyway, if you think it is important to support, you can add a spstdc99 test program. We have a couple of warnings with -pedantic because we use a GCC extension for flexible array members. -- embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.hu...@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 2/2] sptests/spstdc17: New test
This is OK but from what I see in applications, C99 is the version actually in use. The avionics community I work with hasn't even adopted C11. Even C++11/14 are just now getting some traction. --joel On Mon, Jul 25, 2022 at 3:03 AM Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote: > --- > spec/build/testsuites/sptests/grp.yml | 2 + > spec/build/testsuites/sptests/spstdc17.yml | 22 + > testsuites/sptests/spstdc17/init.c | 57 ++ > testsuites/sptests/spstdc17/spstdc17.doc | 12 + > 4 files changed, 93 insertions(+) > create mode 100644 spec/build/testsuites/sptests/spstdc17.yml > create mode 100644 testsuites/sptests/spstdc17/init.c > create mode 100644 testsuites/sptests/spstdc17/spstdc17.doc > > diff --git a/spec/build/testsuites/sptests/grp.yml > b/spec/build/testsuites/sptests/grp.yml > index 891a78eb86..c8f70ed13b 100644 > --- a/spec/build/testsuites/sptests/grp.yml > +++ b/spec/build/testsuites/sptests/grp.yml > @@ -394,6 +394,8 @@ links: >uid: spsimplesched03 > - role: build-dependency >uid: spsize > +- role: build-dependency > + uid: spstdc17 > - role: build-dependency >uid: spstdthreads01 > - role: build-dependency > diff --git a/spec/build/testsuites/sptests/spstdc17.yml > b/spec/build/testsuites/sptests/spstdc17.yml > new file mode 100644 > index 00..8c60b0a7fb > --- /dev/null > +++ b/spec/build/testsuites/sptests/spstdc17.yml > @@ -0,0 +1,22 @@ > +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause > +build-type: test-program > +cflags: > +- -std=c17 > +- -pedantic > +- -Wextra > +copyrights: > +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) > +cppflags: [] > +cxxflags: [] > +enabled-by: true > +features: c cprogram > +includes: [] > +ldflags: [] > +links: [] > +source: > +- testsuites/sptests/spstdc17/init.c > +stlib: [] > +target: testsuites/sptests/spstdc17.exe > +type: build > +use-after: [] > +use-before: [] > diff --git a/testsuites/sptests/spstdc17/init.c > b/testsuites/sptests/spstdc17/init.c > new file mode 100644 > index 00..0a1a5571ac > --- /dev/null > +++ b/testsuites/sptests/spstdc17/init.c > @@ -0,0 +1,57 @@ > +/* > + * SPDX-License-Identifier: BSD-2-Clause > + * > + * Copyright (C) 2022 > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + *notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + *notice, this list of conditions and the following disclaimer in the > + *documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > "AS IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, > THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS > BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include > + > +#include > + > +const char rtems_test_name[] = "SPSTDC17"; > + > +static rtems_task Init( rtems_task_argument arg ) > +{ > + (void) arg; > + > + TEST_BEGIN(); > + TEST_END(); > +} > + > +#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER > +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER > + > +#define CONFIGURE_MAXIMUM_TASKS 1 > + > +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION > + > +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE > + > +#define CONFIGURE_INIT > + > +#include > diff --git a/testsuites/sptests/spstdc17/spstdc17.doc > b/testsuites/sptests/spstdc17/spstdc17.doc > new file mode 100644 > index 00..7f83fd9ad3 > --- /dev/null > +++ b/testsuites/sptests/spstdc17/spstdc17.doc > @@ -0,0 +1,12 @@ > +This file describes the directives and concepts tested by this test set. > + > +test set name: spstdc17 > + > +directives: > + > + - Header file > + - Header file > + > +concepts: > + > + - Ensure that the API header files are compatible with the C17 standard. > -- > 2.35.3 > > ___ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel > ___ devel mailing
[PATCH 2/2] sptests/spstdc17: New test
--- spec/build/testsuites/sptests/grp.yml | 2 + spec/build/testsuites/sptests/spstdc17.yml | 22 + testsuites/sptests/spstdc17/init.c | 57 ++ testsuites/sptests/spstdc17/spstdc17.doc | 12 + 4 files changed, 93 insertions(+) create mode 100644 spec/build/testsuites/sptests/spstdc17.yml create mode 100644 testsuites/sptests/spstdc17/init.c create mode 100644 testsuites/sptests/spstdc17/spstdc17.doc diff --git a/spec/build/testsuites/sptests/grp.yml b/spec/build/testsuites/sptests/grp.yml index 891a78eb86..c8f70ed13b 100644 --- a/spec/build/testsuites/sptests/grp.yml +++ b/spec/build/testsuites/sptests/grp.yml @@ -394,6 +394,8 @@ links: uid: spsimplesched03 - role: build-dependency uid: spsize +- role: build-dependency + uid: spstdc17 - role: build-dependency uid: spstdthreads01 - role: build-dependency diff --git a/spec/build/testsuites/sptests/spstdc17.yml b/spec/build/testsuites/sptests/spstdc17.yml new file mode 100644 index 00..8c60b0a7fb --- /dev/null +++ b/spec/build/testsuites/sptests/spstdc17.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: +- -std=c17 +- -pedantic +- -Wextra +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/sptests/spstdc17/init.c +stlib: [] +target: testsuites/sptests/spstdc17.exe +type: build +use-after: [] +use-before: [] diff --git a/testsuites/sptests/spstdc17/init.c b/testsuites/sptests/spstdc17/init.c new file mode 100644 index 00..0a1a5571ac --- /dev/null +++ b/testsuites/sptests/spstdc17/init.c @@ -0,0 +1,57 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2022 + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +const char rtems_test_name[] = "SPSTDC17"; + +static rtems_task Init( rtems_task_argument arg ) +{ + (void) arg; + + TEST_BEGIN(); + TEST_END(); +} + +#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + +#define CONFIGURE_MAXIMUM_TASKS 1 + +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT + +#include diff --git a/testsuites/sptests/spstdc17/spstdc17.doc b/testsuites/sptests/spstdc17/spstdc17.doc new file mode 100644 index 00..7f83fd9ad3 --- /dev/null +++ b/testsuites/sptests/spstdc17/spstdc17.doc @@ -0,0 +1,12 @@ +This file describes the directives and concepts tested by this test set. + +test set name: spstdc17 + +directives: + + - Header file + - Header file + +concepts: + + - Ensure that the API header files are compatible with the C17 standard. -- 2.35.3 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel