print TDF "#define INLINE\n";
print TDF "#define FILE int *\n";
print TDF "#ifndef MYTYPEDEFS\n#define MYTYPEDEFS\n";
+#print TDF "#undef __cplusplus\n";
print TDF "typedef unsigned long size_t;\n";
#print TDF "typedef enum { false = 0, true = 1 } bool;\n"; geht nicht, false und true JAVA Schluesselwoerter
print TDF "typedef int bool;\n";
$scndlastline = "";
$lastline = "";
+$eat = 0;
+
foreach $line (@lines) {
- if (($line =~ /^\#/) ) {
+ if ($line =~ /\#ifdef __cplusplus/) {
+# There is extern "C" in firm.h, guarded by #ifdef __cplusplus
+# crecoder does not grok the extern "C", so remove thses three lines.
+ $eat = 2;
+ } elsif ($eat > 0) {
+ $eat = $eat -1;
+ } elsif (($line =~ /^\#/) ) {
# eat the line
$scndlastline = $lastline;
$lastline = $line;