-
Notifications
You must be signed in to change notification settings - Fork 570
Compiler Warnings and Errors
In the interest of making Trilinos software packages as easy to use as possible, we maintain a list of compiler warnings that must be clean prior to merging changes to the Trilinos project.
-
upcoming
warningsThese warnings are set to WARNINGS in all of our GCC-based Pull Request CI builds. The idea is to make them visible to developers, but not to block Pull Request integration at the current time. They will be upgraded to
promoted
warnings (errors) at some point in the future, pending an announcement to the community. -
promoted
warnings (errors)These warnings are set to ERRORS in all of our GCC-based Pull Request CI builds. Any changes to currently-supported Trilinos packages* must not contain any of these compiler warnings.
The current list of upcoming
and promoted
warnings can be seen in this file.
* Deprecated packages will not have upcoming
or promoted
warnings applied to them.
There are several ways to configure/build Trilinos packages such that these warnings/errors are engaged or not, depending on user preference. They are controlled via the Trilinos_WARNINGS_MODE
CMake variable, which can have the following values:
-
WARN
If the value is set to
WARN
, thenupcoming
warnings will be turned on as WARNINGS via the-W<warning> -Wno-error=<warning>
options.promoted
warnings will be turned on as ERRORS via the-Werror=<warning>
option. -
ERROR
If the value is set to
ERROR
, then bothupcoming
andpromoted
warnings will be turned on as ERRORS via the-Werror=<warning>
option. -
Any other value
If the value is anything else, neither
promoted
norupcoming
warnings will be turned on at all.
Additionally, the value of the Trilinos_ADDITIONAL_WARNINGS
variable will be appended to upcoming
warnings, such that users can easily test out adding additional warnings to builds (via standard CMake semicolon separated lists).
Copyright © Trilinos a Series of LF Projects, LLC
For web site terms of use, trademark policy and other project policies please see https://lfprojects.org.
Trilinos Developer Home
Trilinos Package Owners
Policies
New Developers
Trilinos PR/CR
Productivity++
Support Policy
Test Dashboard Policy
Testing Policy
Managing Issues
New Issue Quick Ref
Handling Stale Issues and Pull Requests
Release Notes
Software Quality Plan
Compiler Warnings/Errors
Proposing a New Package
Guidance on Copyrights and Licenses
Tools
CMake
Doxygen
git
GitHub Notifications
Mail lists
Clang-format
Version Control
Initial git setup
'feature'/'develop'/'master' (cheatsheet)
Simple centralized workflow
Building
SEMS Dev Env
Mac OS X
ATDM Platforms
Containers
Development Tips
Automated Workflows
Testing
Test Harness
Pull Request Testing
Submitting a Pull Request
Pull Request Workflow
Reproducing PR Errors
Addressing Test Failures
Trilinos Status Table Archive
Pre-push (Checkin) Testing
Remote pull/test/push
PR Creation & Approval Guidelines for Tpetra, Ifpack2, and MueLu Developers