projects
/
org.ibex.tool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add #else support to #ifdef
[org.ibex.tool.git]
/
src
/
java
/
ibex
/
tool
/
Preprocessor.java
diff --git
a/src/java/ibex/tool/Preprocessor.java
b/src/java/ibex/tool/Preprocessor.java
index
1639829
..
c8307da
100644
(file)
--- a/
src/java/ibex/tool/Preprocessor.java
+++ b/
src/java/ibex/tool/Preprocessor.java
@@
-19,6
+19,8
@@
import java.io.*;
*
* //#ifdef FOO -- includes contents if FOO passed as define to preprocessor
* [code]
*
* //#ifdef FOO -- includes contents if FOO passed as define to preprocessor
* [code]
+ * //#else
+ * [code run if !FOO]
* //#endif
*
* Replacements are done on a token basis. Tokens are defined as a
* //#endif
*
* Replacements are done on a token basis. Tokens are defined as a
@@
-215,7
+217,8
@@
PROCESS:
out.println(trimmed);
boolean useCode = defs.contains(expr);
for (trimmed = in.readLine().trim(); !trimmed.startsWith("//#endif"); trimmed = in.readLine().trim()) {
out.println(trimmed);
boolean useCode = defs.contains(expr);
for (trimmed = in.readLine().trim(); !trimmed.startsWith("//#endif"); trimmed = in.readLine().trim()) {
- if (!useCode) out.print("// ");
+ if (trimmed.startsWith("//#else")) useCode = !useCode;
+ else if (!useCode) out.print("// ");
out.print(processLine(trimmed, false));
}
out.println("//#endif "+expr);
out.print(processLine(trimmed, false));
}
out.println("//#endif "+expr);