Fix _GNU_SOURCE definition 37/239837/1
authorHwankyu Jhun <h.jhun@samsung.com>
Thu, 30 Jul 2020 06:01:09 +0000 (15:01 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 30 Jul 2020 06:01:09 +0000 (15:01 +0900)
This patch checks whether "_GNU_SOURCE" has been defined earlier in the file.

Change-Id: I884a6e7598e40e9127737ed4a9eb95c5c1518669
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
idlc/gen/c_gen_base.cc
idlc/gen/c_gen_base_cb.h

index dbf7a4042156bdb8673941baf2390df093e17207..b3fe325c8657b64658cb4dbf830dcdc44b9f235d 100644 (file)
@@ -271,10 +271,8 @@ void CGeneratorBase::GenIncludeDefaultHeaders(std::ofstream& stream,
 }
 
 void CGeneratorBase::GenGNUSourceDefinition(std::ofstream& stream) {
-  const char format[] = "#define _GNU_SOURCE\n";
-
   stream << NLine(1);
-  stream << std::string(format);
+  stream << CB_GNU_SOURCE;
 }
 
 bool CGeneratorBase::StructureExist(const Structure& st) {
index 015399a576ddbf988520217a4a242fbafead1fb1..5fe9c44f2d2d762968b1dbe22a0207d59750aa89 100644 (file)
@@ -23,6 +23,13 @@ R"__c_cb(/*
  */
 )__c_cb";
 
+const char CB_GNU_SOURCE[] =
+R"__c_cb(
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+)__c_cb";
+
 const char CB_HEADER[] =
 R"__c_cb(
 #include <stdbool.h>