aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-12-06 14:42:45 -0600
committerErik Schnetter <schnetter@cct.lsu.edu>2010-12-06 14:42:45 -0600
commit15a542847a134f51fdd94a9a1ea46cf883de8226 (patch)
treeae35964c8964167a756aa0aa52dfa50687a08d30 /Tools/CodeGen
parent3b7c2193b41cebf8ebb8ba3586928ace23ee720c (diff)
Use C++ for all source files.
Add extern "C" to scheduled functions.
Diffstat (limited to 'Tools/CodeGen')
-rw-r--r--Tools/CodeGen/CactusBoundary.m2
-rw-r--r--Tools/CodeGen/CodeGen.m2
-rw-r--r--Tools/CodeGen/KrancThorn.m8
-rw-r--r--Tools/CodeGen/Thorn.m4
4 files changed, 8 insertions, 8 deletions
diff --git a/Tools/CodeGen/CactusBoundary.m b/Tools/CodeGen/CactusBoundary.m
index 3f3a110..0fff93b 100644
--- a/Tools/CodeGen/CactusBoundary.m
+++ b/Tools/CodeGen/CactusBoundary.m
@@ -169,7 +169,7 @@ GetSources[evolvedGroups_, groups_, implementation_, thornName_] :=
ExcisionGFs -> evolvedGFs
};
- Return[{{Filename -> "Boundaries.c",
+ Return[{{Filename -> "Boundaries.cc",
Contents -> CreateMoLBoundariesSource[boundarySpec]}}]];
End[];
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index 4743f2d..1bcdfb9 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -395,7 +395,7 @@ defineSubroutineF[name_, args_, contents_] :=
(* This is a Cactus-callable function *)
DefineCCTKFunction[name_, type_, contents_] :=
- DefineFunction[name, type, "CCTK_ARGUMENTS",
+ DefineFunction[name, "extern \"C\" " <> type, "CCTK_ARGUMENTS",
{
"DECLARE_CCTK_ARGUMENTS;\n",
"DECLARE_CCTK_PARAMETERS;\n\n",
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index 28bf6e1..4861f31 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -228,7 +228,7 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
(* Makefile *)
InfoMessage[Terse, "Creating make file"];
- make = CreateMakefile[Join[{"Startup.c", "RegisterMoL.c", "RegisterSymmetries.c"}, calcFilenames,
+ make = CreateMakefile[Join[{"Startup.cc", "RegisterMoL.cc", "RegisterSymmetries.cc"}, calcFilenames,
Map[lookup[#, Filename] &, boundarySources]]];
(* Put all the above together and generate the Cactus thorn *)
@@ -240,9 +240,9 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
Param -> param,
Makefile -> make,
Sources -> Join[{
- {Filename -> "Startup.c", Contents -> startup},
- {Filename -> "RegisterMoL.c", Contents -> molregister},
- {Filename -> "RegisterSymmetries.c", Contents -> symregister},
+ {Filename -> "Startup.cc", Contents -> startup},
+ {Filename -> "RegisterMoL.cc", Contents -> molregister},
+ {Filename -> "RegisterSymmetries.cc", Contents -> symregister},
{Filename -> "Differencing.h", Contents -> diffHeader}},
MapThread[{Filename -> #1, Contents -> #2} &,
{calcFilenames, calcSources}], boundarySources]};
diff --git a/Tools/CodeGen/Thorn.m b/Tools/CodeGen/Thorn.m
index f09a669..7f9f8a5 100644
--- a/Tools/CodeGen/Thorn.m
+++ b/Tools/CodeGen/Thorn.m
@@ -1333,7 +1333,7 @@ CreateStartupFile[thornName_, bannerText_] :=
tmp = {whoWhen["C"],
IncludeFile["cctk.h"],
- DefineFunction[thornName <> "_Startup", "int", "void",
+ DefineFunction[thornName <> "_Startup", "extern \"C\" int", "void",
{DefineVariable["banner", "const char *", Quote[bannerText]],
"CCTK_RegisterBanner(banner);\n",
"return 0;\n"}]};
@@ -1347,7 +1347,7 @@ CreateStartupFile[thornName_, bannerText_] :=
Thorn creation
------------------------------------------------------------------------ *)
-(* source = {Filename -> "MoLRegister.c", Contents -> "#include ..."} *)
+(* source = {Filename -> "MoLRegister.cc", Contents -> "#include ..."} *)
(* thorn = {Name -> "ClassicADMMolEvolve", Directory -> "ClassicADM",
Interface -> i, Schedule -> s, Param -> p, Makefile -> m,