Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: tools/clang/scripts/blink_gc_plugin_flags.py

Issue 1464293002: If Oilpan is enabled, warn of raw heap pointer fields by default. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This script returns the flags that should be passed to clang. 6 # This script returns the flags that should be passed to clang.
7 7
8 import os 8 import os
9 import sys 9 import sys
10 10
11 THIS_DIR = os.path.abspath(os.path.dirname(__file__)) 11 THIS_DIR = os.path.abspath(os.path.dirname(__file__))
12 SRC_DIR = os.path.join(THIS_DIR, '..', '..', '..') 12 SRC_DIR = os.path.join(THIS_DIR, '..', '..', '..')
13 CLANG_LIB_PATH = os.path.normpath(os.path.join( 13 CLANG_LIB_PATH = os.path.normpath(os.path.join(
14 SRC_DIR, 'third_party', 'llvm-build', 'Release+Asserts', 'lib')) 14 SRC_DIR, 'third_party', 'llvm-build', 'Release+Asserts', 'lib'))
15 15
16 FLAGS = '-Xclang -add-plugin -Xclang blink-gc-plugin' 16 FLAGS = '-Xclang -add-plugin -Xclang blink-gc-plugin'
17 PREFIX= ' -Xclang -plugin-arg-blink-gc-plugin -Xclang ' 17 PREFIX= ' -Xclang -plugin-arg-blink-gc-plugin -Xclang '
18
19 warn_raw_pointers = None
18 for arg in sys.argv[1:]: 20 for arg in sys.argv[1:]:
19 if arg == 'enable-oilpan=1': 21 if arg == 'enable-oilpan=1':
20 FLAGS += PREFIX + 'enable-oilpan' 22 FLAGS += PREFIX + 'enable-oilpan'
23 if warn_raw_pointers is None:
24 warn_raw_pointers = True
21 elif arg == 'dump-graph=1': 25 elif arg == 'dump-graph=1':
22 FLAGS += PREFIX + 'dump-graph' 26 FLAGS += PREFIX + 'dump-graph'
23 elif arg == 'warn-raw-ptr=1': 27 elif arg == 'warn-raw-ptr=1':
24 FLAGS += PREFIX + 'warn-raw-ptr' 28 warn_raw_pointers = True
29 elif arg == 'warn-raw-ptr=0':
30 warn_raw_pointers = False
25 elif arg == 'warn-unneeded-finalizer=1': 31 elif arg == 'warn-unneeded-finalizer=1':
26 FLAGS += PREFIX + 'warn-unneeded-finalizer' 32 FLAGS += PREFIX + 'warn-unneeded-finalizer'
27 elif arg.startswith('custom_clang_lib_path='): 33 elif arg.startswith('custom_clang_lib_path='):
28 CLANG_LIB_PATH = arg[len('custom_clang_lib_path='):] 34 CLANG_LIB_PATH = arg[len('custom_clang_lib_path='):]
29 35
36 if warn_raw_pointers is True:
37 FLAGS += PREFIX + 'warn-raw-ptr'
38
30 if not sys.platform in ['win32', 'cygwin']: 39 if not sys.platform in ['win32', 'cygwin']:
31 LIBSUFFIX = 'dylib' if sys.platform == 'darwin' else 'so' 40 LIBSUFFIX = 'dylib' if sys.platform == 'darwin' else 'so'
32 FLAGS = ('-Xclang -load -Xclang "%s/libBlinkGCPlugin.%s" ' + FLAGS) % \ 41 FLAGS = ('-Xclang -load -Xclang "%s/libBlinkGCPlugin.%s" ' + FLAGS) % \
33 (CLANG_LIB_PATH, LIBSUFFIX) 42 (CLANG_LIB_PATH, LIBSUFFIX)
34 43
35 print FLAGS 44 print FLAGS
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698