[flang] Checklist to precede pull requests
authorPete Steinfeld <psteinfeld@nvidia.com>
Sun, 12 Jan 2020 19:24:13 +0000 (11:24 -0800)
committerPete Steinfeld <psteinfeld@nvidia.com>
Wed, 22 Jan 2020 17:34:02 +0000 (09:34 -0800)
I added a checklist to the C++ Style document for things to check before
submitting a pull request or when responding to a request for comments
on a pull request.

Original-commit: flang-compiler/f18@903420268a5aabbab9acdf8788b4344c395ee597
Reviewed-on: https://github.com/flang-compiler/f18/pull/936

flang/documentation/PullRequestChecklist.md [new file with mode: 0644]

diff --git a/flang/documentation/PullRequestChecklist.md b/flang/documentation/PullRequestChecklist.md
new file mode 100644 (file)
index 0000000..782c3b6
--- /dev/null
@@ -0,0 +1,44 @@
+<!--===- documentation/PullRequestChecklist.md 
+
+   Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+   See https://llvm.org/LICENSE.txt for license information.
+   SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+-->
+
+# Pull request checklist
+Please review the following items before submitting a pull request.  This list
+can also be used when reviewing pull requests.
+*  Verify that new files have a license with correct file name.
+*  Run `git diff` on all modified files to look for spurious changes such as
+   `#include <iostream>`.
+*  If you added code that causes the compiler to emit a new error message, make
+   sure that you also added a test that causes that error message to appear
+   and verifies its correctness.
+*  Annotate the code and tests with appropriate references to constraint and
+   requirement numbers from the Fortran standard.
+*  Check dereferences of pointers and optionals where necessary.
+*  Ensure that the scopes of all functions and variables are as local as
+   possible.
+*  Try to make all functions fit on a screen (40 lines).
+*  Build and test with both GNU and clang compilers.
+*  When submitting an update to a pull request, review previous pull request
+   comments and make sure that you've actually made all of the changes that
+   were requested.
+
+## Follow the style guide
+The following items are taken from the [C++ style guide](C++style.md).  But
+even though I've read the style guide, they regularly trip me up.
+*  Run clang-format version 7 on all .cc and .h files.
+*  Make sure that all source lines have 80 or fewer characters.  Note that
+   clang-format will do this for most code.  But you may need to break up long
+   strings.
+*  Review declarations for proper use of `constexpr` and `const`.
+*  Follow the C++ naming guidelines.  Ensure that the names evoke their
+   purpose and are consistent with existing code.
+*  Review pointer and reference types to make sure that you're using them
+   appropriately.  Note that the [C++ style guide](C++style.md) contains a
+   section that describes all of the pointer types along with their
+   characteristics.
+*  Declare non-member functions ```static``` when possible.  Prefer
+   ```static``` functions over functions in anonymous namespaces.