Commit 7174602d authored by Daniel Cheng's avatar Daniel Cheng Committed by Commit Bot

Document the process for making clang plugin behavior changes.

Change-Id: I7f35f8125cbf1bb1bd4896e47ae6f77208d0ec90
Reviewed-on: https://chromium-review.googlesource.com/986885Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546945}
parent 23b5a048
......@@ -49,6 +49,17 @@ To test the FindBadConstructs plugin, run:
./test.py ../../../../third_party/llvm-build/Release+Asserts/bin/clang \
../../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so)
Since the plugin is rolled with clang changes, behavior changes to the plugin
should be guarded by flags to make it easy to roll clang. A general outline:
1. Implement new plugin behavior behind a flag.
1. Wait for a compiler roll to bring in the flag.
1. Start passing the new flag in `GN` and verify the new behavior.
1. Enable the new plugin behavior unconditionally and update the plugin to
ignore the flag.
1. Wait for another compiler roll.
1. Stop passing the flag from `GN`.
1. Remove the flag completely.
## Using the clang static analyzer
See [clang_static_analyzer.md](clang_static_analyzer.md).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment