From 638aeb4ef15e44e985ee144fbb3eef39dc8e1599 Mon Sep 17 00:00:00 2001
From: Heiko Falk <Heiko.Falk@tuhh.de>
Date: Sat, 30 Mar 2019 17:22:14 +0100
Subject: [PATCH] Removed all bloody includes of standard headers, added own
 implementation of memset.

---
 bench/app/powerwindow/powerwindow.c           |  5 ++---
 .../powerwindow_PW_Control_DRV.h              |  1 -
 .../powerwindow_PW_Control_PSG_BackL.h        |  2 --
 .../powerwindow_PW_Control_PSG_BackR.h        |  2 --
 .../powerwindow_PW_Control_PSG_Front.h        |  2 --
 .../powerwindow_controlexclusion.h            |  2 --
 .../powerwindow_debounce.h                    |  1 -
 .../powerwindow_powerwindow_control.h         |  1 -
 .../powerwindow_tmwtypes.h                    | 21 -------------------
 .../powerwindow/powerwindow_PW_Control_DRV.c  |  3 +++
 .../powerwindow_PW_Control_PSG_BackL.c        |  2 +-
 .../powerwindow_PW_Control_PSG_BackR.c        |  2 +-
 .../powerwindow_PW_Control_PSG_Front.c        |  3 ++-
 bench/app/powerwindow/powerwindow_debounce.c  |  1 +
 .../powerwindow_powerwindow_control.c         |  3 ++-
 bench/app/powerwindow/wcclib.c                | 12 +++++++++++
 bench/app/powerwindow/wcclib.h                | 14 +++++++++++++
 17 files changed, 38 insertions(+), 39 deletions(-)
 create mode 100644 bench/app/powerwindow/wcclib.c
 create mode 100644 bench/app/powerwindow/wcclib.h

diff --git a/bench/app/powerwindow/powerwindow.c b/bench/app/powerwindow/powerwindow.c
index 5a7a9f87..92530f16 100644
--- a/bench/app/powerwindow/powerwindow.c
+++ b/bench/app/powerwindow/powerwindow.c
@@ -7,7 +7,7 @@
 
  Author: CoSys-Lab, University of Antwerp
 
- Function: powerwindow implement the powerwindow that can be seen in cars nowadays. 
+ Function: powerwindow implement the powerwindow that can be seen in cars nowadays.
 	The window can be controlled by either driver or passenger. When an object is
 	detected between the window frame and the glass during the raising of the glass,
 	the glass will lower down for some distance. This benchmark contains 4 tasks which includes the
@@ -23,7 +23,7 @@
 
 */
 
-#include "powerwindow_HeaderFiles/powerwindow.h" 
+#include "powerwindow_HeaderFiles/powerwindow.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h"
@@ -34,7 +34,6 @@
 #include "powerwindow_HeaderFiles/powerwindow_powerwindow_control.h" 	/* PW passenger control Model's header file */
 #include "powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
 #include "powerwindow_HeaderFiles/powerwindow_model_reference_types.h"
-//#include <stdio.h>
 /*
   Forward declaration of functions
 */
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h
index a7ea1a68..3ad4ff6e 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h
@@ -19,7 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_h_
 #define powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_h_
-#include <string.h>
 #ifndef powerwindow_PW_Control_DRV_COMMON_INCLUDES_
 # define powerwindow_PW_Control_DRV_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h
index 4c1b58a8..663edec5 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h
@@ -19,8 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_h_
 #define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_h_
-#include <stddef.h>
-#include <string.h>
 #ifndef powerwindow_PW_Control_PSG_BackL_COMMON_INCLUDES_
 # define powerwindow_PW_Control_PSG_BackL_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h
index 27a3f9a1..383e2855 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h
@@ -19,8 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_h_
 #define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_h_
-#include <stddef.h>
-#include <string.h>
 #ifndef powerwindow_PW_Control_PSG_BackR_COMMON_INCLUDES_
 # define powerwindow_PW_Control_PSG_BackR_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h
index 4709c24c..9bcdfe8f 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h
@@ -19,8 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_h_
 #define powerwindow_RTW_HEADER_PW_Control_PSG_Front_h_
-#include <stddef.h>
-#include <string.h>
 #ifndef powerwindow_PW_Control_PSG_Front_COMMON_INCLUDES_
 # define powerwindow_PW_Control_PSG_Front_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion.h
index 4bc46799..d59b8d99 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion.h
@@ -19,8 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_controlexclusion_h_
 #define powerwindow_RTW_HEADER_controlexclusion_h_
-#include <stddef.h>
-#include <string.h>
 #ifndef powerwindow_controlexclusion_COMMON_INCLUDES_
 #define powerwindow_controlexclusion_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce.h
index 7decbca8..d17f4678 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce.h
@@ -19,7 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_debounce_h_
 #define powerwindow_RTW_HEADER_debounce_h_
-#include <string.h>
 #ifndef powerwindow_debounce_COMMON_INCLUDES_
 #define powerwindow_debounce_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h
index 4f235b1c..1c0f950f 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h
@@ -19,7 +19,6 @@
 
 #ifndef powerwindow_RTW_HEADER_PowerWindow_control_h_
 #define powerwindow_RTW_HEADER_PowerWindow_control_h_
-#include <string.h>
 #ifndef powerwindow_powerWindow_control_COMMON_INCLUDES_
 # define powerwindow_powerWindow_control_COMMON_INCLUDES_
 #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h"
diff --git a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_tmwtypes.h b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_tmwtypes.h
index 8e5dc48a..7b1b7f34 100644
--- a/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_tmwtypes.h
+++ b/bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_tmwtypes.h
@@ -40,11 +40,6 @@
  *      Define NO_FLOATS to eliminate reference to powerwindow_real_T, etc.
  */
 
-#include <limits.h>
-
-#ifdef __APPLE_CC__
-#include <stdbool.h>
-#endif
 
 #define LOGICAL_IS_A_TYPE
 #define SPARSE_GENERALIZATION
@@ -54,18 +49,6 @@
 # define float  float_not_allowed
 #endif /*NO_FLOATS*/
 
-#ifndef NO_FLOATS
-
-#ifndef __MWERKS__
-# ifdef __STDC__
-#  include <float.h>
-# else
-#  define FLT_MANT_DIG 24
-#  define DBL_MANT_DIG 53
-# endif
-#endif
-
-#endif /*NO_FLOATS*/
 
 /*
  *      The following data types cannot be overridden when building MEX files.
@@ -797,10 +780,6 @@ typedef powerwindow_boolean_T bool;
  */
 #define TMW_NAME_LENGTH_MAX 64
 
-/*
- * Maximum values for indices and dimensions
- */
-#include <stddef.h>
 
 #ifdef MX_COMPAT_32
 typedef int powerwindow_mwSize;
diff --git a/bench/app/powerwindow/powerwindow_PW_Control_DRV.c b/bench/app/powerwindow/powerwindow_PW_Control_DRV.c
index 458ee256..37398528 100644
--- a/bench/app/powerwindow/powerwindow_PW_Control_DRV.c
+++ b/bench/app/powerwindow/powerwindow_PW_Control_DRV.c
@@ -16,6 +16,9 @@
  License: GNU General Public License
 
 */
+
+
+#include "wcclib.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_DRV.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_private.h"
 
diff --git a/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackL.c b/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackL.c
index 7f7c5ace..e2f9be2f 100644
--- a/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackL.c
+++ b/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackL.c
@@ -18,8 +18,8 @@
 */
 
 
+#include "wcclib.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL.h"
-
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_private.h"
 
 /*
diff --git a/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackR.c b/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackR.c
index 666e6ac5..64adede6 100644
--- a/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackR.c
+++ b/bench/app/powerwindow/powerwindow_PW_Control_PSG_BackR.c
@@ -18,8 +18,8 @@
 */
 
 
+#include "wcclib.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR.h"
-
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_private.h"
 
 /*
diff --git a/bench/app/powerwindow/powerwindow_PW_Control_PSG_Front.c b/bench/app/powerwindow/powerwindow_PW_Control_PSG_Front.c
index dca69293..517c0140 100644
--- a/bench/app/powerwindow/powerwindow_PW_Control_PSG_Front.c
+++ b/bench/app/powerwindow/powerwindow_PW_Control_PSG_Front.c
@@ -17,8 +17,9 @@
 
 */
 
-#include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h"
 
+#include "wcclib.h"
+#include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h"
 #include "powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_private.h"
 
 /*
diff --git a/bench/app/powerwindow/powerwindow_debounce.c b/bench/app/powerwindow/powerwindow_debounce.c
index 9e97a25c..df0b91d2 100644
--- a/bench/app/powerwindow/powerwindow_debounce.c
+++ b/bench/app/powerwindow/powerwindow_debounce.c
@@ -22,6 +22,7 @@
  */
 
 
+#include "wcclib.h"
 #include "powerwindow_HeaderFiles/powerwindow_debounce.h"
 #include "powerwindow_HeaderFiles/powerwindow_debounce_private.h"
 
diff --git a/bench/app/powerwindow/powerwindow_powerwindow_control.c b/bench/app/powerwindow/powerwindow_powerwindow_control.c
index 79f4ecd8..8bce1869 100644
--- a/bench/app/powerwindow/powerwindow_powerwindow_control.c
+++ b/bench/app/powerwindow/powerwindow_powerwindow_control.c
@@ -20,6 +20,7 @@
 
 */
 
+#include "wcclib.h"
 #include "powerwindow_HeaderFiles/powerwindow_powerwindow_control.h"
 #include "powerwindow_HeaderFiles/powerwindow_powerwindow_control_private.h"
 
@@ -79,7 +80,7 @@ void powerwindow_powerwindow_con_broadcast_ticks(powerwindow_boolean_T *rty_wind
     /* Entry Internal: PW_PSG/PWExternalClock/stateflow control model */
     /* Transition: '<S3>:102' */
     localDW->is_c2_PowerWindow_control = powerwindow_powerwindow_control_IN_System;
- 
+
     /* Entry Internal 'System': '<S3>:94' */
     localDW->is_active_Logic = 1U;
 
diff --git a/bench/app/powerwindow/wcclib.c b/bench/app/powerwindow/wcclib.c
new file mode 100644
index 00000000..20d58fdc
--- /dev/null
+++ b/bench/app/powerwindow/wcclib.c
@@ -0,0 +1,12 @@
+#include "wcclib.h"
+
+
+void *memset( void *s, int c, size_t n )
+{
+  unsigned char *p = s;
+
+  _Pragma( "loopbound min 1 max 368" )
+  while ( n-- )
+    *p++ = (unsigned char) c;
+  return( s );
+}
diff --git a/bench/app/powerwindow/wcclib.h b/bench/app/powerwindow/wcclib.h
new file mode 100644
index 00000000..5a5dc36f
--- /dev/null
+++ b/bench/app/powerwindow/wcclib.h
@@ -0,0 +1,14 @@
+#ifndef _WCCLIB
+#define _WCCLIB
+
+#define size_t       unsigned long
+#define int32_t      int
+#define uint32_t     unsigned int
+#define u_int16_t    unsigned short
+#define u_int32_t    unsigned int
+
+#define NULL ( (void *) 0)
+
+void *memset( void *s, int c, size_t n );
+
+#endif // _WCCLIB
-- 
GitLab