diff --git a/htdocs/codingconventions.html b/htdocs/codingconventions.html index f4732ef6..d2e73962 100644 --- a/htdocs/codingconventions.html +++ b/htdocs/codingconventions.html @@ -112,9 +112,14 @@ maintained and kept up to date. In particular:

ChangeLogs

-

GCC requires ChangeLog entries for documentation changes; for the web -pages (apart from java/ and libstdc++/) the CVS -commit logs are sufficient.

+

+ChangeLog entries are part of git commit messages and are automatically put +into a corresponding ChangeLog file. A ChangeLog template can be easily generated +with ./contrib/mklog script. GCC offers a checking script that +verifies a proper ChangeLog formatting (see git gcc-verify git alias). +for a particular git commit. The checking script covers most commonly used ChangeLog +formats and the following paragraphs explain what it supports. +

See also what the GNU Coding @@ -124,19 +129,95 @@ in comments rather than the ChangeLog, though a single line overall description of the changes may be useful above the ChangeLog entry for a large batch of changes.

-

For changes that are ported from another branch, we recommend to -use a single entry whose body contains a verbatim copy of the original -entries describing the changes on that branch, possibly preceded by a -single-line overall description of the changes.

+

Components

+ +
+ +

Format rules

+ + + +

Documented behaviour

+ + -

There is no established convention on when ChangeLog entries are to -be made for testsuite changes; see messages 1 and 2.

+

Example patch

-

If your change fixes a PR, put PR java/58 (where -java/58 is the actual number of the PR) at the top -of the ChangeLog entry.

+
This patch adds a second movk pattern that models the instruction
+as a "normal" and/ior operation rather than an insertion.  It fixes
+the third insv_1.c failure in PR87763, which was a regression from
+GCC 8.
+
+2020-02-06  John Foo  <john@example.com>
+
+gcc/
+	PR target/87763
+	* config/aarch64/aarch64-protos.h (aarch64_movk_shift): Declare.
+	* config/aarch64/aarch64.c (aarch64_movk_shift): New function.
+	* config/aarch64/aarch64.md (aarch64_movk<mode>): New pattern.
+
+gcc/testsuite/
+	PR target/87763
+	* gcc.target/aarch64/movk_2.c: New test.
+
+Co-Authored-By: Jack Bar  <jack@example.com>
+
+ +

Tokenized patch

+ +
+$git_description
+
+$committer_timestamp
+
+$changelog_location
+$pr_entry
+$changelog_file
+$changelog_file
+$changelog_file
+
+$changelog_location
+$pr_entry
+$changelog_file
+
+$co_authored_by
+

Portability

@@ -201,7 +282,6 @@ minimize the number of function prototypes, by defining them before their first use. Function prototypes should only be used when necessary, to break mutually recursive cycles.

-

Makefiles

touch should never be used in GCC Makefiles. Instead diff --git a/htdocs/contribute.html b/htdocs/contribute.html index 3d03b9d1..80a4470e 100644 --- a/htdocs/contribute.html +++ b/htdocs/contribute.html @@ -177,22 +177,10 @@ testcases cannot be added.

ChangeLog
-A ChangeLog entry as plaintext; see the various ChangeLog files for -format and content, and the GCC +A ChangeLog entry as plaintext; see the GCC coding conventions and GNU Coding -Standards for further information. The ChangeLog entries should -be plaintext rather than part of the patch since the top of the -ChangeLog changes rapidly and a patch to the ChangeLog would probably -no longer apply by the time your patch is reviewed. -If your change fixes a PR, put text in the ChangeLog entry mentioning -the PR. Our infrastructure understands how to -extract this information and automatically append the commit log to -the PR. In order to be recognized, the text must fit a particular -form. It must start with "PR", and then must include the category -and PR number. For instance, PR java/2369 is -valid. Multiple PRs can be mentioned in a single message. -
+Standards for further information.
Bootstrapping and testing
diff --git a/htdocs/gitwrite.html b/htdocs/gitwrite.html index 97d60870..791213a5 100644 --- a/htdocs/gitwrite.html +++ b/htdocs/gitwrite.html @@ -25,7 +25,6 @@ maintainers and significant developers.

  • Checking in a change
  • Example check-in session
  • Creating and using branches
  • -
  • git-merge-changelog
  • Personal and Vendor branches
  • Tips&Tricks around your account
  • @@ -237,9 +236,10 @@ pull" before attempting a checkin; this will save you a little time if someone else has modified the source tree since the last time you synced your sources. -
  • Apply the patch to your local tree and update the ChangeLog file. -Use the current date/time for the ChangeLog entry, not the time that -the patch was submitted.
  • +
  • Apply the patch to your local tree. ChangeLog entries will be +automatically added to the corresponding ChangeLog files based +on the git commit message. See the documentation of +ChangeLog format.
  • Make sure to rebuild any generated files that would be affected by the patch. Make sure to check them in along with the files explicitly @@ -347,30 +347,6 @@ accordingly. It may be easier to cherry-pick some smaller changes onto master don't need to merge --squash squash, but still need to make sure the commits on the branch satisfy the above rules for commits. -
    -

    git-merge-changelog

    - -git's native handling of ChangeLog merges is pretty bad, but there's a separate -git-merge-changelog tool that improves things dramatically. Some operating -system distributions have a git-merge-changelog package already, or to build it -by hand you can do - -
    -git clone git://git.savannah.gnu.org/gnulib.git
    -cd gnulib
    -./gnulib-tool --create-testdir --dir=/tmp/testdir123 git-merge-changelog
    -cd /tmp/testdir123
    -./configure
    -make
    -make install
    -
    -And then to enable it, do -
    -git config --global merge.merge-changelog.name "GNU-style ChangeLog merge driver"
    -git config --global merge.merge-changelog.driver "git-merge-changelog %O %A %B"
    -echo "ChangeLog*   merge=merge-changelog" >> $GCCSRCDIR/.git/info/attributes
    -
    -

    Personal and vendor branches

    @@ -457,6 +433,7 @@ repository:

  • gcc-descr - Undocumented
  • gcc-undescr - Undocumented
  • +
  • gcc-verify - Undocumented
  • The final customization that the script makes is to add a diff rule so