Skip to content

Commit

Permalink
Merge pull request #8391 from NREL/8312_build_warnings_v2
Browse files Browse the repository at this point in the history
Fix #8312 - EnergyPlus Build Warnings on gcc >= 9
  • Loading branch information
mitchute committed Dec 11, 2020
2 parents 6cb98b4 + b70d5cd commit 9c6810d
Show file tree
Hide file tree
Showing 31 changed files with 4,244 additions and 3,944 deletions.
1 change: 1 addition & 0 deletions cmake/CompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ ELSEIF ( CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"
ADD_CXX_DEFINITIONS("-pipe") # Faster compiler processing
ADD_CXX_DEFINITIONS("-pedantic") # Turn on warnings about constructs/situations that may be non-portable or outside of the standard
ADD_CXX_DEFINITIONS("-Wall -Wextra") # Turn on warnings
ADD_CXX_DEFINITIONS("-Werror") # Treat warnings as errors
ADD_CXX_DEFINITIONS("-Wno-unknown-pragmas")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
ADD_CXX_DEFINITIONS("-Wno-deprecated-copy")
Expand Down
3 changes: 3 additions & 0 deletions src/EnergyPlus/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -794,6 +794,9 @@ if(BUILD_GROUND_PLOT)
endif()
if(UNIX AND NOT APPLE)
target_link_libraries( energypluslib dl )
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
target_link_libraries( energypluslib util )
endif()
endif()
if (WIN32)
target_link_libraries( energypluslib Shlwapi )
Expand Down
2 changes: 1 addition & 1 deletion src/EnergyPlus/InputProcessing/InputProcessor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1233,7 +1233,7 @@ void InputProcessor::getObjectDefMaxArgs(EnergyPlusData &state,
extension_key = key.value().get<std::string>();
}

for (auto const obj : *objects) {
for (auto const &obj : *objects) {
if (obj.find(extension_key) != obj.end()) {
auto const size = obj[extension_key].size();
if (size > max_size) max_size = size;
Expand Down
65 changes: 32 additions & 33 deletions third_party/FMI/eplusModelFunctions.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,32 @@
///
///
/// \author Thierry Stephane Nouidui,
/// Simulation Research Group,
/// Simulation Research Group,
/// LBNL,
/// TSNouidui@lbl.gov
///
/// \date 2011-11-11
///
/// This header file defines the energyplus functions
/// This header file defines the energyplus functions
/// that mapped to fmiFunctions and will be exported
/// in .dll
///////////////////////////////////////////////////////

#include "FMI/fmiModelFunctions.h"
#include "fmiModelTypes.h"
#include <stdlib.h>
/* Export fmi functions on Windows */
#ifdef _MSC_VER
#define DllExport __declspec( dllexport )
#define DllImport __declspec( dllexport )
#define DllExport __declspec(dllexport)
#define DllImport __declspec(dllexport)

#else
#define DllExport
#endif

/* make sure all compiler use the same alignment policies for structures */
#ifdef WIN32
#pragma pack(push,8)
#pragma pack(push, 8)
#endif

/* Version number */
Expand All @@ -46,48 +47,46 @@
EnergyPlus Functions for FMI for Co-Simulation
****************************************************/
DllExport fmiComponent fmiEPlusInstantiateSlave(char* fmuResFolder,
fmiInteger *sizefmuResFolder, fmiReal *timeOut, fmiInteger *visible,
fmiInteger *interactive, fmiInteger *loggingOn, fmiInteger *index);
DllExport fmiComponent fmiEPlusInstantiateSlave(char *fmuResFolder,
fmiInteger *sizefmuResFolder,
fmiReal *timeOut,
fmiInteger *visible,
fmiInteger *interactive,
fmiInteger *loggingOn,
fmiInteger *index);

DllExport fmiStatus fmiEPlusInitializeSlave(fmiComponent *fmuInstance,
fmiReal *tStart, fmiInteger *newStep, fmiReal *tStop, fmiInteger *index);
DllExport fmiStatus fmiEPlusInitializeSlave(fmiComponent *fmuInstance, fmiReal *tStart, fmiInteger *newStep, fmiReal *tStop, fmiInteger *index);

DllExport fmiStatus fmiEPlusGetReal(fmiComponent *fmuInstance, const fmiValueReference valRef [],
fmiReal outValue[], fmiInteger *numOutputs, fmiInteger *index);
DllExport fmiStatus
fmiEPlusGetReal(fmiComponent *fmuInstance, const fmiValueReference valRef[], fmiReal outValue[], fmiInteger *numOutputs, fmiInteger *index);

DllExport fmiStatus fmiEPlusSetReal(fmiComponent *fmuInstance, const fmiValueReference valRef[],
fmiReal inpVal[], fmiInteger *numInputs, fmiInteger *index);
DllExport fmiStatus
fmiEPlusSetReal(fmiComponent *fmuInstance, const fmiValueReference valRef[], fmiReal inpVal[], fmiInteger *numInputs, fmiInteger *index);

DllExport fmiStatus fmiEPlusDoStep(fmiComponent *fmuInstance, fmiReal *curCommPoint,
fmiReal *commStepSize, fmiInteger *newStep, fmiInteger *index);
DllExport fmiStatus fmiEPlusDoStep(fmiComponent *fmuInstance, fmiReal *curCommPoint, fmiReal *commStepSize, fmiInteger *newStep, fmiInteger *index);

DllExport fmiStatus fmiEPlusFreeSlave(fmiComponent *fmuInstance, fmiInteger *index, fmiInteger *fmiEndSimulation);

fmiStatus fmiEPlusResetSlave(fmiComponent *fmuInstance, fmiInteger *index);
fmiStatus fmiEPlusResetSlave(fmiComponent *fmuInstance, fmiInteger *index);

DllExport fmiInteger fmiEPlusUnpack(char* fmuName, char* fmuOutputWorkingFolder,
fmiInteger *sizefmuName, fmiInteger *sizefmuOutputWorkingFolder);
DllExport fmiInteger fmiEPlusUnpack(char *fmuName, char *fmuOutputWorkingFolder, fmiInteger *sizefmuName, fmiInteger *sizefmuOutputWorkingFolder);

DllExport fmiInteger addLibPathCurrentWorkingFolder(char* trimfmuOutputWorkingFolder_wLiB,
char* fmuWorkingFolder, fmiInteger *sizefmuWorkingFolder, fmiInteger *index);
DllExport fmiInteger addLibPathCurrentWorkingFolder(char *trimfmuOutputWorkingFolder_wLiB,
char *fmuWorkingFolder,
fmiInteger *sizefmuWorkingFolder,
fmiInteger *index);

DllExport fmiValueReference getValueReferenceByNameFMUInputVariables(char* variableName,
fmiInteger *sizeVariableName, fmiInteger *index);
DllExport fmiValueReference getValueReferenceByNameFMUInputVariables(char *variableName, fmiInteger *sizeVariableName, fmiInteger *index);

DllExport fmiValueReference getValueReferenceByNameFMUOutputVariables(char* variableName,
fmiInteger *sizeVariableName, fmiInteger *index);
DllExport fmiValueReference getValueReferenceByNameFMUOutputVariables(char *variableName, fmiInteger *sizeVariableName, fmiInteger *index);

DllExport fmiInteger model_ID_GUID(char* fmuInstanceName, char* fmuWorkingFolder,
fmiInteger *sizefmuWorkingFolder, fmiInteger *numInputs,
fmiInteger *numOutputs);
DllExport fmiInteger
model_ID_GUID(char *fmuInstanceName, char *fmuWorkingFolder, fmiInteger *sizefmuWorkingFolder, fmiInteger *numInputs, fmiInteger *numOutputs);

DllExport fmiInteger addFMURootFolderName(char* fmuOutputWorkingFolder,
char* fmuWorkingFolder, fmiInteger *sizefmuWorkingFolder);
DllExport fmiInteger addFMURootFolderName(char *fmuOutputWorkingFolder, char *fmuWorkingFolder, fmiInteger *sizefmuWorkingFolder);

DllExport fmiInteger getfmiEPlusVersion(char* fmuWorkingFolder,
fmiInteger *sizefmuWorkingFolder, char *fmiVersionNumber, fmiInteger *index);
DllExport fmiInteger getfmiEPlusVersion(char *fmuWorkingFolder, fmiInteger *sizefmuWorkingFolder, char *fmiVersionNumber, fmiInteger *index);

DllExport fmiInteger checkOperatingSystem(char* errorMessage);
DllExport fmiInteger checkOperatingSystem(char *errorMessage);

#endif // eplusModelFunctions_h
Loading

0 comments on commit 9c6810d

Please sign in to comment.