This patch enables the auto raw pointer deduction on linux. The plan
is to also enable this on all the remaining platforms shortly.
R=thakis@chromium.org, danakj@chromium.org
BUG=554600
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2697873004
Cr-Original-Commit-Position: refs/heads/master@{#452973}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c2a957c63637a55bb157b2cb24d2f3b5fce206d9
Reason for revert:
Build failure as a result of the flag. I will fix up and reland.
Original issue's description:
> build: Enable auto raw pointer deduction check on linux.
>
> This patch enables the auto raw pointer deduction on linux. The plan
> is to also enable this on all the remaining platforms shortly.
>
> R=thakis@chromium.org, danakj@chromium.org
> BUG=554600
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
>
> Review-Url: https://codereview.chromium.org/2697873004
> Cr-Commit-Position: refs/heads/master@{#452880}
> Committed: 4075255b12TBR=jochen@chromium.org,dalecurtis@chromium.org,danakj@chromium.org,thakis@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=554600
Review-Url: https://codereview.chromium.org/2713993003
Cr-Original-Commit-Position: refs/heads/master@{#452892}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5187e38a974a9346dd330efc5802888d9b0d1f21
This patch enables the auto raw pointer deduction on linux. The plan
is to also enable this on all the remaining platforms shortly.
R=thakis@chromium.org, danakj@chromium.org
BUG=554600
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2697873004
Cr-Original-Commit-Position: refs/heads/master@{#452880}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4075255b128597153622d38d72286ff223d64f33
* win: Members of base classes now should show up in debugger.
* win: Debugger shouldn't show funny highlights anymore due to
debug info no longer including column information. (we still
force this on if sanitizers are used, mostly for clusterfuzz.
maybe we want to make this toggleable independent of sanitizers
at some point)
* win: -Wextern-initializer no longer warns on midl-generated code
* win: clang-cl now accepts /source-encoding:utf-8 and friends
(utf-8 was the source enconding in clang-cl before already, but
now we don't warn on an explicit flag requesting this)
* all platforms: Three plugin checks are now on-by-default,
remove flags for these (see
https://codereview.chromium.org/2267713003https://codereview.chromium.org/2268203002https://codereview.chromium.org/2265093002
)
* win: clang-cl's /Brepro now does what it's supposed to do
* win: clang-cl now emits absolute paths in diagnostics, by
popular request.
Ran `tools/clang/scripts/upload_revision.py 280106`.
BUG=640254,637456,636109,636091,636099
Review-Url: https://codereview.chromium.org/2292173002
Cr-Original-Commit-Position: refs/heads/master@{#415563}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a033f395bf2547cf4764f77cc9c86d08f3e22c23
This change enables check-ipc option for find-bad-constructs Clang
plugin on ChromeOS (in addition to Linux and Android). With that
option Clang plugin will check that the following types are not used
in IPC messages:
1. Types: long / unsigned long (but not typedefs to)
2. Typedefs: intmax_t, uintmax_t, intptr_t, uintptr_t, wint_t, size_t,
rsize_t, ssize_t, ptrdiff_t, dev_t, off_t, clock_t, time_t, suseconds_t
(including typedefs to)
3. Any template referencing the above (e.g. std::vector<size_t>)
BUG=581409
Review-Url: https://codereview.chromium.org/1941033002
Cr-Original-Commit-Position: refs/heads/master@{#391328}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5bce05dfcc21c872c5ae4909ccb35780360dfc66
This change enables check-ipc option for find-bad-constructs Clang
plugin on Android. With that option Clang plugin will check that the
following types are not used in IPC messages:
1. Types: long / unsigned long (but not typedefs to)
2. Typedefs: intmax_t, uintmax_t, intptr_t, uintptr_t, wint_t, size_t,
rsize_t, ssize_t, ptrdiff_t, dev_t, off_t, clock_t, time_t, suseconds_t
(including typedefs to)
3. Any template referencing the above (e.g. std::vector<size_t>)
These types are banned because they are not stable across 32/64-bit platforms.
BUG=581409
Review URL: https://codereview.chromium.org/1904553002
Cr-Original-Commit-Position: refs/heads/master@{#389850}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 972c22efaddb8a541351329c9e7609d04d75b95f
Reason for revert:
This breaks win_clang
Original issue's description:
> build: Enable complex class copy ctor check by default.
>
> This patch ensures that our FindBadConstructs plugin starts detecting
> when a complex class requires an out of line copy constructor.
>
> R=thakis@chromium.org, dcheng@chromium.org
> BUG=436357
>
> Committed: https://crrev.com/319a17cb9761369818c8d8405da8d65c0a8bbc22
> Cr-Commit-Position: refs/heads/master@{#386787}
TBR=jochen@chromium.org,dcheng@chromium.org,thakis@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=436357
Review URL: https://codereview.chromium.org/1880243002
Cr-Original-Commit-Position: refs/heads/master@{#386794}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a8849450d8ba833451921eee4adb2b1a1f4d84b
This enables the plugin to check templated classes for the following
things:
- Refcounted types have private destructors.
- WeakPtrFactory members are the last members
BUG=441916
Review URL: https://codereview.chromium.org/1438053002
Cr-Original-Commit-Position: refs/heads/master@{#359258}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 33761b490534b36a0da1bd413bd29bd2edb3ac77
This enables the plugin to check templated classes for the following
things:
- Refcounted types have private destructors.
- WeakPtrFactory members are the last members
BUG=441916
Review URL: https://codereview.chromium.org/1162623003
Cr-Original-Commit-Position: refs/heads/master@{#331907}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b0dad9e37be79905855ac637a041429775582edd
This enables the plugin to check templated classes for the following
things:
- virtual functions have {virtual,override,final} correctly specified.
- Refcounted types have private destructors.
- WeakPtrFactory members are the last members
BUG=441916
Review URL: https://codereview.chromium.org/1160033002
Cr-Original-Commit-Position: refs/heads/master@{#331743}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dcf757517b8b95793c0aff1509cb356cdcbd59e9
This enables the plugin to check templated classes for the following
things:
- virtual functions have {virtual,override,final} correctly specified.
- Refcounted types have private destructors.
- WeakPtrFactory members are the last members
BUG=441916
Review URL: https://codereview.chromium.org/1156533004
Cr-Original-Commit-Position: refs/heads/master@{#331210}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0d701b22f23d3ffc0ef40ff343a1128b64ec392d
This will allow us to flip a flag to enable warnings-as-errors once
the Windows code is cleaned up enough without building a new plugin
binary.
Also, try not to compute the diagnostic level in multiple places.
BUG=467287, 483065
Review URL: https://codereview.chromium.org/1117163002
Cr-Original-Commit-Position: refs/heads/master@{#327852}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a7ae971275f2aa0a7a6501c72b571939c44baa2b
A starting point for doing all of src, and adding a PRESUBMIT.
Includes https://codereview.chromium.org/772663002/ and https://codereview.chromium.org/770053002/.
I haven't pushed new binaries yet.
Generated via:
> cd build
> git ls-files *.gn *.gni | sed -e "s/^/@..\\\\out\\\\Debug\\\\gn format --in-place /" >x.bat && x.bat
The only things that I don't love in the current output are:
1. Turning
args = [
"--depfile", rebase_path(depfile, root_build_dir),
"--android-sdk-tools", rebased_android_sdk_build_tools,
"--dex-path", rebased_output,
]
into:
args = [
"--depfile",
rebase_path(depfile, root_build_dir),
"--android-sdk-tools",
rebased_android_sdk_build_tools,
"--dex-path",
rebased_output,
]
The heuristic for this isn't trivial though, and it also affects e.g. '-Xclang' in cflags, as well
as assignments to temporaries that are later assigned to args.
2. Turning single line
if (defined(invoker.inputs)) { inputs = invoker.inputs }
into
if (defined(invoker.inputs)) {
inputs = invoker.inputs
}
This could be argued to be an improvement, but as it's very boilerplate-y perhaps an exception to
allow single line in this case is worthwhile. I think there was discussion of new syntax for this
case too, something like "inputs ?= invoker.inputs" maybe.
In both cases, I think it's worthwhile to get formatting turned on, and then go back and special
case these if we decide it's worthwhile.
R=brettw@chromium.org
BUG=348474
Review URL: https://codereview.chromium.org/766573003
Cr-Original-Commit-Position: refs/heads/master@{#306305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b199254f481c5db36d56e83fce40594b06d2b81f
Previously "gn args" printed build arguments. That has now moved to "gn args <outdir> --list" along with a new --short mode that's a bit more convenient for some uses.
Now "gn args" runs your editor on the build arguments for the given output directory, and re-generates the build given those arguments. This is an easier way to manage changing build arguments for a build (previously you would have to re-type everything or edit build.ninja manually).
"gn gen" now always uses the existing arguments for the given output dir, unless "--args" is manually specified (giving the old behavior of just using those). This also allows a more convenient way for a user to recover from a borked build (sincetimes I ran into a state where something was missing that prevent ninja from even starting enough to rebuild the build).
I removed the "show" and "refresh" ninja phony rules since the new commands cover those cases.
This patch adds some additional tracing to build startup since I noticed it was missing when trying to figure out why the args command was so slow (I fixed the main reason, it was with new code I added).
Added proper escaping for printing string values and unit tests for these.
Two minor build file fixes.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/265693003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@268042 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This fixes a lot of minor mistakes (mostly missing/extra files and flags) for the Mac GN build.
I separated out some clang flags into a config for extra clang warnings. Several of the third party libraries needed to remove this.
Removes the use_nss flag and uses !use_openssl. This is a result of discussion with rsleevi.
Removes extra duplicate net build file from secondary tree.
ui/gesture_events seems to be getting compiled in GN with more strict warnings than in GYP. Rather than fix this, I fixed the warning in the gesture recognizer unit test. It was returning a const copy (the const is pointless when you're copying).
This also removes a bunch of old GYP integration stuff that was left in the GN build.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/239543013
git-svn-id: http://src.chromium.org/svn/trunk/src/build@264626 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Updates all rebase_path calls to use the new parameter ordering.
Use the new getenv function and delete the Python script we had to get the home directory.
Takes advantage of the new ability to have the default value of declare_args blocks be dependent on other values. This simplifies some code.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/164773005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252065 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This hooks up detection for the "-arch" flag on Mac to set the GYP "ARCH" xcode variable. GN then removes the -arch argument from the compiler args, since GYP will then re-add it based on the ARCH value. Previously, not doing this resulting in mutliple "-arch" arguments to the compiler since GYP would always insert its own.
Disables some warnings on Windows for the re2 target to match the GYP build. The third warning (4018) that the GYP build sets is disabled globally so there's no need to do it for this target.
Hooks up some iOS SDK stuff.
BUG=336667
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/141433015
git-svn-id: http://src.chromium.org/svn/trunk/src/build@247206 4ff67af0-8c30-449e-8e8b-ad334ec8d88c