infra: gen-v8-gn.py should work with ABC=<int> defines
Such defines were introduced in a8ea1f12e3 for
- V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT
- V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT
- V8_PROMISE_INTERNAL_FIELD_COUNT
Since that commit the v8-gn.h includes lines like below that do not
compile well.
```
ifndef V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0
define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 1
else
if V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 != 1
error "V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 defined but not set to 1"
endif
endif // V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0
```
Bug: chromium:42204638
Change-Id: I750f6c633b9aae61190c8d431f21c9bbea9297dd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6338522
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Alexey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#99278}
This commit is contained in:
1 parent
d73530cfd9
commit
ae457c7043
1 file changed
+20
-7
+20
-7
@@ -19,22 +19,35 @@ def parse_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-o', '--output', type=str, action='store',
|
||||
help='Location of header file to generate')
|
||||
parser.add_argument('-p', '--positive-define', type=str, action='append',
|
||||
help='Externally visibile positive definition')
|
||||
parser.add_argument(
|
||||
'-p',
|
||||
'--positive-define',
|
||||
type=str,
|
||||
action='append',
|
||||
help='Externally visibile positive definition in format NAME or NAME=VALUE'
|
||||
)
|
||||
parser.add_argument('-n', '--negative-define', type=str, action='append',
|
||||
help='Externally visibile negative definition')
|
||||
args = parser.parse_args()
|
||||
|
||||
def generate_positive_definition(out, define):
|
||||
|
||||
def generate_positive_definition(out, define_str):
|
||||
# Split the define into name and value if it contains '='
|
||||
if '=' in define_str:
|
||||
define, value = define_str.split('=', 1)
|
||||
else:
|
||||
define = define_str
|
||||
value = "1" # Default value if not specified
|
||||
|
||||
out.write('''
|
||||
#ifndef {define}
|
||||
#define {define} 1
|
||||
#define {define} {value}
|
||||
#else
|
||||
#if {define} != 1
|
||||
#error "{define} defined but not set to 1"
|
||||
#if {define} != {value}
|
||||
#error "{define} defined but not set to {value}"
|
||||
#endif
|
||||
#endif // {define}
|
||||
'''.format(define=define))
|
||||
'''.format(define=define, value=value))
|
||||
|
||||
def generate_negative_definition(out, define):
|
||||
out.write('''
|
||||
|
||||
Reference in new issue
Block a user