Re: [PATCH 2/2] sptests/spstdc17: New test

2022-07-27 Thread Sebastian Huber

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

2022-07-25 Thread Sebastian Huber

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

2022-07-25 Thread Joel Sherrill
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

2022-07-25 Thread Sebastian Huber
---
 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