@@ -4,7 +4,7 @@ $(SPEC_S ImportC,
4
4
5
5
$(HEADERNAV_TOC)
6
6
7
- $(NOTE: This document is a work in progress .)
7
+ $(NOTE This document is under construction. Please excuse the dust and noise .)
8
8
9
9
$(P ImportC is a C compiler embedded into the D implementation.
10
10
Its purpose is to enable direct importation of C files, without
@@ -22,7 +22,7 @@ $(HEADERNAV_TOC)
22
22
$(H2 $(LNAME2 dialect, ImportC Dialect))
23
23
24
24
$(P There are many versions of C. ImportC is designed to be an
25
- implementation of (LINK2 https://en.wikipedia.org/wiki/C11_(C_standard_revision), ISO/IEC 9899:1999),
25
+ implementation of $ (LINK2 https://en.wikipedia.org/wiki/C11_(C_standard_revision), ISO/IEC 9899:1999),
26
26
which will hereafter be referred to as $(B C11).
27
27
References to the C11 Standard will be C11 followed by the paragraph number.
28
28
Prior versions, such as C99, C89, and K+R C, are not supported.
@@ -31,7 +31,7 @@ $(H2 $(LNAME2 dialect, ImportC Dialect))
31
31
$(P Adjustment to the ImportC dialect is made to match the
32
32
behavior of the C compiler that the D compiler is matched to. For
33
33
example, on Win32 D is matched to the Digital Mars C compiler,
34
- and can be matched to the Visual C compiler using the $(TT -mscoff32 )
34
+ and can be matched to the Visual C compiler using the $(TT -m32mscoff )
35
35
switch. Win64 D is matched to the Visual C compiler.
36
36
On Posix targets, the matching C compiler is Gnu C or Clang C.
37
37
)
@@ -83,7 +83,7 @@ $(H2 $(LNAME2 preprocessor-directives, Preprocessor Directives))
83
83
$(P $(LINK2 https://gcc.gnu.org/onlinedocs/gcc-11.1.0/cpp/Preprocessor-Output.html, linemarker)
84
84
directives are normally embedded in the output of C preprocessors.)
85
85
86
- $(H2 $(LINK2 limitations, Limitations))
86
+ $(H2 $(LNAME2 limitations, Limitations))
87
87
88
88
$(H3 Exception Handling)
89
89
@@ -95,19 +95,19 @@ $(H2 $(LINK2 limitations, Limitations))
95
95
meaning that although $(CCODE int *const p;) means in C11 that p is a const pointer to int,
96
96
in ImportC it means p is a const pointer to a const int.)
97
97
98
- $(H2 $(LINK2 extensions, Extensions))
98
+ $(H2 $(LNAME2 extensions, Extensions))
99
99
100
100
101
- $(H2 $(LINK2 gnu-clang-extensions, Gnu and Clang Extensions))
101
+ $(H2 $(LNAME2 gnu-clang-extensions, Gnu and Clang Extensions))
102
102
103
103
104
- $(H2 $(LINK2 visualc-extensions, Visual C Extensions))
104
+ $(H2 $(LNAME2 visualc-extensions, Visual C Extensions))
105
105
106
106
107
- $(H2 $(LINK2 digital-mars-extensions, Digital Mars C Extensions))
107
+ $(H2 $(LNAME2 digital-mars-extensions, Digital Mars C Extensions))
108
108
109
109
110
- $(H2 $(LINK2 d-side, ImportC from D's Point of View))
110
+ $(H2 $(LNAME2 d-side, ImportC from D's Point of View))
111
111
112
112
$(P There is no one-to-one mapping of C constructs to D constructs, although
113
113
it is very close. What follows is a description of how the D side views
@@ -143,7 +143,7 @@ $(H2 $(LINK2 d-side, ImportC from D's Point of View))
143
143
static assert(E.min == 0 && E.max == 2);
144
144
---
145
145
146
- $(H2 $(LINK2 warnings, Warnings))
146
+ $(H2 $(LNAME2 warnings, Warnings))
147
147
148
148
$(P Many suspicious C constructs normally cause warnings to be emitted by default by
149
149
typical compilers, such as:)
@@ -154,13 +154,13 @@ $(H2 $(LINK2 warnings, Warnings))
154
154
code developed using another C compiler, and it is written as intended.
155
155
If C11 says it is legal, ImportC accepts it.)
156
156
157
- $(H2 $(LINK2 importcpp, ImportC++))
157
+ $(H2 $(LNAME2 importcpp, ImportC++))
158
158
159
- $(P ImportC will not compile C++ code. For that, use ($ TT dpp).)
159
+ $(P ImportC will not compile C++ code. For that, use $( TT dpp).)
160
160
161
- $(H2 $(LINK2 history, How ImportC Came About))
161
+ $(H2 $(LNAME2 history, How ImportC Came About))
162
162
163
- $(H2 $(LINK2 internals, How ImportC Works))
163
+ $(H2 $(LNAME2 internals, How ImportC Works))
164
164
165
165
$(P This is a description of how ImportC is implemented, intended
166
166
to remove the mystery of various design choices.)
0 commit comments