Skip to content

Commit 0c15e18

Browse files
committed
build: Add -Werror by default
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
1 parent 1170781 commit 0c15e18

2 files changed

Lines changed: 23 additions & 12 deletions

File tree

CMakeLists.txt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ option(CUDD_DIR "CUDD BDD package directory")
3232
option(USE_TCL_READLINE "Use TCL readline package" ON)
3333
option(ENABLE_TSAN "Compile with thread santizer enabled" OFF)
3434
option(ENABLE_ASAN "Compile with address santizer enabled" OFF)
35+
option(ALLOW_WARNINGS "Allow compiler warnings without failing the build" OFF)
3536

3637
# Turn on to debug compiler args.
3738
set(CMAKE_VERBOSE_MAKEFILE OFF)
@@ -594,6 +595,18 @@ endif()
594595
# common to gcc/clang
595596
set(CXX_FLAGS -Wall -Wextra -pedantic -Wcast-qual -Wredundant-decls
596597
-Wformat-security -Werror=misleading-indentation -Wundef)
598+
if(NOT ALLOW_WARNINGS)
599+
list(APPEND CXX_FLAGS -Werror)
600+
endif()
601+
602+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
603+
set(STA_WARNING_FLAGS ${CXX_FLAGS} -Wno-format-zero-length)
604+
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
605+
OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
606+
set(STA_WARNING_FLAGS ${CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments)
607+
else()
608+
set(STA_WARNING_FLAGS ${CXX_FLAGS})
609+
endif()
597610

598611
if(ENABLE_TSAN)
599612
message(STATUS "Thread sanitizer: ${ENABLE_TSAN}")
@@ -607,12 +620,12 @@ if(ENABLE_ASAN)
607620
set(CMAKE_EXE_LINKER_FLAGS "-fsanitize=address")
608621
endif()
609622

610-
target_compile_options(OpenSTA
611-
PRIVATE
612-
$<$<CXX_COMPILER_ID:GNU>:${CXX_FLAGS} -Wno-format-zero-length>
613-
$<$<CXX_COMPILER_ID:Clang>:${CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments>
614-
$<$<CXX_COMPILER_ID:AppleClang>:${CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments>
623+
add_library(OpenSTAWarnings INTERFACE)
624+
target_compile_options(OpenSTAWarnings
625+
INTERFACE
626+
${STA_WARNING_FLAGS}
615627
)
628+
target_link_libraries(OpenSTA OpenSTAWarnings)
616629

617630
# Disable compiler specific extensions like gnu++11.
618631
set_target_properties(OpenSTA PROPERTIES CXX_EXTENSIONS OFF)

dcalc/test/cpp/TestDcalc.cc

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1467,15 +1467,14 @@ TEST_F(ArcDcalcResultTest, CopyResult) {
14671467
EXPECT_FLOAT_EQ(delayAsFloat(copy.loadSlew(1)), 6e-12f);
14681468
}
14691469

1470-
// Test ArcDcalcArg assignment
1471-
TEST_F(ArcDcalcArgTest, Assignment) {
1470+
// Test ArcDcalcArg copy construction with alternate values
1471+
TEST_F(ArcDcalcArgTest, CopyConstructionAltValues) {
14721472
ArcDcalcArg arg;
14731473
arg.setLoadCap(3.5e-12f);
14741474
arg.setInputDelay(1.5e-9f);
14751475
arg.setInSlew(200e-12f);
14761476

1477-
ArcDcalcArg other;
1478-
other = arg;
1477+
ArcDcalcArg other(arg);
14791478
EXPECT_FLOAT_EQ(other.loadCap(), 3.5e-12f);
14801479
EXPECT_FLOAT_EQ(other.inputDelay(), 1.5e-9f);
14811480
EXPECT_FLOAT_EQ(other.inSlewFlt(), 200e-12f);
@@ -2829,14 +2828,13 @@ TEST_F(ArcDcalcArgTest, InputDelayConstructorZero) {
28292828
EXPECT_FLOAT_EQ(arg.inputDelay(), 0.0f);
28302829
}
28312830

2832-
TEST_F(ArcDcalcArgTest, CopyAssignment) {
2831+
TEST_F(ArcDcalcArgTest, CopyConstructionAltValues2) {
28332832
ArcDcalcArg arg;
28342833
arg.setLoadCap(3.0e-12f);
28352834
arg.setInputDelay(2.0e-9f);
28362835
arg.setInSlew(75e-12f);
28372836

2838-
ArcDcalcArg copy;
2839-
copy = arg;
2837+
ArcDcalcArg copy(arg);
28402838
EXPECT_FLOAT_EQ(copy.loadCap(), 3.0e-12f);
28412839
EXPECT_FLOAT_EQ(copy.inputDelay(), 2.0e-9f);
28422840
EXPECT_FLOAT_EQ(copy.inSlewFlt(), 75e-12f);

0 commit comments

Comments
 (0)