VirtualBox

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

Last change on this file since 37840 was 30969, checked in by vboxsync, 14 years ago

include/VBox/*.mac,various.sed: Fixed UINT64_C() and regenrated assembly headers.

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