Enable Examples Compilation with C++ Compiler
authorAngela Stegmaier <angelabaker@ti.com>
Wed, 23 Sep 2015 20:56:31 +0000 (15:56 -0500)
committerAngela Stegmaier <angelabaker@ti.com>
Mon, 5 Oct 2015 19:28:40 +0000 (14:28 -0500)
Attempting to compile the examples and tests in Linux with
the c++ compiler resulted in the following errors:

In file included from MessageQApp.c:46:0:
../../../packages/ti/ipc/Ipc.h:148:22: error: ‘<anonymous>’ has incomplete type
../../../packages/ti/ipc/Ipc.h:148:26: error: invalid use of ‘Void {aka void}’

In file included from ../../../linux/include/_lad.h:50:0,
                 from ../../../linux/include/ladclient.h:58,
                 from LAD_client.c:48:
../../../linux/include/_GateMP.h:78:3: error: conflicting declaration 'typedef struct GateMP_Object GateMP_Object'
In file included from ../../../linux/include/_lad.h:49:0,
                 from ../../../linux/include/ladclient.h:58,
                 from LAD_client.c:48:
../../../packages/ti/ipc/GateMP.h:222:16: error: 'struct GateMP_Object' has a previous declaration as 'struct GateMP_Object

This patch fixes these compilation issues so that the Linux examples can
be compiled with c++. Note that this patch does not have complete
changes to allow IPC to be compiled using the c++ compiler, but only
the examples.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
linux/include/_GateMP.h
linux/include/ti/ipc/Std.h
packages/ti/ipc/GateMP.h

index 901a6a1a94577e9273be495d83c70aab37d16708..8ec76e8d445a7961e2177c310822702f1076c59a 100644 (file)
@@ -57,7 +57,7 @@ extern "C" {
 /*!
  *  @brief  Structure for the Handle for the GateMP.
  */
 /*!
  *  @brief  Structure for the Handle for the GateMP.
  */
-typedef struct {
+typedef struct GateMP_Object_tag {
     GateMP_Params           params;
     /*!< Instance specific creation parameters */
     GateMP_RemoteProtect    remoteProtect;
     GateMP_Params           params;
     /*!< Instance specific creation parameters */
     GateMP_RemoteProtect    remoteProtect;
index 63adabf7ac3fd0482d3fcc4060fe58785d6f791f..b1db7fb91503dd6ba9c2aa095676b7705aabbe7e 100644 (file)
@@ -62,7 +62,7 @@ typedef unsigned long     ULong;
 typedef float             Float;
 typedef double            Double;
 typedef long double       LDouble;
 typedef float             Float;
 typedef double            Double;
 typedef long double       LDouble;
-typedef void              Void;
+#define Void              void
 
 
 typedef bool              Bool;
 
 
 typedef bool              Bool;
index b075bab4ef7c43b7a661e7c4ac57600e65a4988c..e0fef667af0d9d34efd604e4e04d0e8e21a6acd5 100644 (file)
@@ -219,7 +219,7 @@ typedef enum GateMP_RemoteProtect {
 /*!
  *  @brief  GateMP_Handle type
  */
 /*!
  *  @brief  GateMP_Handle type
  */
-typedef struct GateMP_Object *GateMP_Handle;
+typedef struct GateMP_Object_tag *GateMP_Handle;
 
 /*!
  *  @brief  Structure defining parameters for the GateMP module.
 
 /*!
  *  @brief  Structure defining parameters for the GateMP module.