VirtualBox

source: vbox/trunk/include/VBox/various.sed@ 58110

Last change on this file since 58110 was 47442, checked in by vboxsync, 11 years ago

Adjusted some HMVMX status codes so that VERR_VMX_INVALID_VMCS_PTR and VERR_VMX_INVALID_VMCS_FIELD can be ORed together with (according to my calculator) with VERR_VMX_INVALID_VMCS_PTR as the result.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1
2# Check for markers (typically in comments).
3/ASM-INC/basm-inc
4/ASM-NOINC/basm-noinc
5
6# Newline escapes.
7:check-newline-escape
8/\\$/!bno-more-newline-escapes
9N
10b check-newline-escape
11:no-more-newline-escapes
12
13# Strip comments and trailing space.
14s/[[:space:]][[:space:]]*\/\*.*$//g
15s/[[:space:]][[:space:]]*\/\/.*$//g
16s/[[:space:]][[:space:]]*$//g
17
18# Try identify the statement.
19/#[[:space:]]*define[[:space:]]/bdefine
20/#[[:space:]]*ifdef[[:space:]]/bifdef
21/#[[:space:]]*ifndef[[:space:]]/bifndef
22/#[[:space:]]*if[[:space:]]/bif
23/#[[:space:]]*elif[[:space:]]/belif
24/#[[:space:]]*else$/belse
25/#[[:space:]]*endif$/bendif
26
27# Not recognized, drop it.
28:asm-noinc
29d
30b end
31
32#
33# Defines needs some extra massaging to work in yasm.
34# Things like trailing type indicators ('U', 'ULL' ++) does not go down well.
35#
36:define
37/\$/d
38s/#\([[:space:]]*\)define/\1%define/
39
40s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)U$/\1/
41s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)U\([[:space:]]*\))$/\1\2)/
42s/\([[:space:]][0-9][0-9]*\)U[[:space:]]*$/\1/
43s/\([[:space:]][0-9][0-9]*\)U\([[:space:]]*\))$/\1\2)/
44
45s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)UL$/\1/
46s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)UL\([[:space:]]*\))$/\1\2)/
47s/\([[:space:]][0-9][0-9]*\)UL[[:space:]]*$/\1/
48s/\([[:space:]][0-9][0-9]*\)UL\([[:space:]]*\))$/\1\2)/
49
50s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)ULL$/\1/
51s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)ULL\([[:space:]]*\))$/\1\2)/
52s/\([[:space:]][0-9][0-9]*\)ULL[[:space:]]*$/\1/
53s/\([[:space:]][0-9][0-9]*\)ULL\([[:space:]]*\))$/\1\2)/
54
55s/UINT64_C([[:space:]]*\(0[xX][0-9a-fA-F][0-9a-fA-F]*\)[[:space:]]*)/\1/
56s/UINT64_C([[:space:]]*\([0-9][0-9]*\)[[:space:]]*)/\1/
57s/UINT32_C([[:space:]]*\(0[xX][0-9a-fA-F][0-9a-fA-F]*\)[[:space:]]*)/\1/
58s/UINT32_C([[:space:]]*\([0-9][0-9]*\)[[:space:]]*)/\1/
59s/UINT16_C([[:space:]]*\(0[xX][0-9a-fA-F][0-9a-fA-F]*\)[[:space:]]*)/\1/
60s/UINT16_C([[:space:]]*\([0-9][0-9]*\)[[:space:]]*)/\1/
61s/UINT8_C([[:space:]]*\(0[xX][0-9a-fA-F][0-9a-fA-F]*\)[[:space:]]*)/\1/
62s/UINT8_C([[:space:]]*\([0-9][0-9]*\)[[:space:]]*)/\1/
63
64b end
65
66#
67# Conditional statements, 1:1.
68#
69:ifdef
70s/#\([[:space:]]*\)ifdef/\1%ifdef/
71b end
72
73:ifndef
74s/#\([[:space:]]*\)ifndef/\1%ifndef/
75b end
76
77:if
78s/#\([[:space:]]*\)if/\1%if/
79b end
80
81:elif
82s/#\([[:space:]]*\)elif/\1%elif/
83b end
84
85:else
86s/#\([[:space:]]*\)else.*$/\1%else/
87b end
88
89:endif
90s/#\([[:space:]]*\)endif.*$/\1%endif/
91b end
92
93#
94# Assembly statement... may need adjusting when used.
95#
96:asm-inc
97b end
98
99:end
100
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette