[ecj] 25/145: Import Debian changes 3.2.1-6
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Tue Mar 27 23:11:24 BST 2018
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository ecj.
commit 77d682ef478b6947e2bd7d7e2bfbd2b2750286b1
Author: Matthias Klose <doko at debian.org>
Date: Sat Feb 3 14:16:47 2007 +0100
Import Debian changes 3.2.1-6
ecj-bootstrap (3.2.1-6) unstable; urgency=low
* Fix PR java/30585 (-Werror and -Wall not working). Taken from the rhug
repository.
---
debian/changelog | 7 +++
.../jdt/internal/compiler/batch/GCCMain.java | 55 +++++++++++++++++++++-
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index d442fa3..bf985ae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+ecj-bootstrap (3.2.1-6) unstable; urgency=low
+
+ * Fix PR java/30585 (-Werror and -Wall not working). Taken from the rhug
+ repository.
+
+ -- Matthias Klose <doko at debian.org> Sat, 3 Feb 2007 14:16:47 +0100
+
ecj-bootstrap (3.2.1-5) unstable; urgency=low
* debian/control: Call it a "standalone" version, not a "bootstrap"
diff --git a/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java b/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java
index 7ee15de..4dbb799 100644
--- a/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java
+++ b/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java
@@ -231,6 +231,20 @@ public class GCCMain extends Main {
super.handleWarningToken(token, isEnabling, useEnableJavadoc);
}
+ private void turnWarningsToErrors() {
+ Object[] entries = this.options.entrySet().toArray();
+ for (int i = 0, max = entries.length; i < max; i++) {
+ Map.Entry entry = (Map.Entry) entries[i];
+ if (!(entry.getKey() instanceof String))
+ continue;
+ if (!(entry.getValue() instanceof String))
+ continue;
+ if (((String) entry.getValue()).equals(CompilerOptions.WARNING)) {
+ this.options.put(entry.getKey(), CompilerOptions.ERROR);
+ }
+ }
+ }
+
/**
* Set the debug level to the indicated value. The level should be
* between 0 and 2, inclusive, but this is not checked.
@@ -269,6 +283,30 @@ public class GCCMain extends Main {
}
}
+ private void handleWall(boolean enable) throws InvalidInputException {
+ // A somewhat arbitrary list. We use the GCC names
+ // here, and the local handleWarningToken translates
+ // for us.
+ handleWarningToken("constructor-name", enable, false);
+ handleWarningToken("pkg-default-method", enable, false);
+ handleWarningToken("masked-catch-block", enable, false);
+ handleWarningToken("all-deprecation", enable, false);
+ handleWarningToken("unused-local", enable, false);
+ handleWarningToken("unused-label", enable, false);
+ handleWarningToken("static-receiver", enable, false);
+ handleWarningToken("indirect-static", enable, false);
+ handleWarningToken("no-effect-assign", enable, false);
+ handleWarningToken("char-concat", enable, false);
+ handleWarningToken("useless-type-check", enable, false);
+ handleWarningToken("final-bound", enable, false);
+ handleWarningToken("assert-identifier", enable, false);
+ handleWarningToken("enum-identifier", enable, false);
+ handleWarningToken("finally", enable, false);
+ handleWarningToken("varargs-cast", enable, false);
+ handleWarningToken("unused", enable, false);
+ handleWarningToken("forbidden", enable, false);
+ }
+
public void configure(String[] argv) throws InvalidInputException {
if ((argv == null) || (argv.length == 0)) {
// This is a "can't happen".
@@ -279,6 +317,8 @@ public class GCCMain extends Main {
ArrayList otherFiles = new ArrayList();
String classpath = null;
boolean haveFileList = false;
+ boolean inhibitAllWarnings = false;
+ boolean treatWarningsAsErrors = false;
for (int i = 0; i < argv.length; ++i) {
String currentArg = argv[i];
@@ -329,12 +369,20 @@ public class GCCMain extends Main {
// Handle -g1 but also things like -gstabs.
setDebugLevel(1);
}
+ } else if (currentArg.equals("-Werror")) { //$NON-NLS-1$
+ treatWarningsAsErrors = true;
+ } else if (currentArg.equals("-Wno-error")) { //$NON-NLS-1$
+ treatWarningsAsErrors = false;
+ } else if (currentArg.equals("-Wall")) { //$NON-NLS-1$
+ handleWall(true);
+ } else if (currentArg.equals("-Wno-all")) { //$NON-NLS-1$
+ handleWall(false);
} else if (currentArg.startsWith("-Wno-")) { //$NON-NLS-1$
handleWarningToken(currentArg.substring(5), false, false);
} else if (currentArg.startsWith("-W")) { //$NON-NLS-1$
handleWarningToken(currentArg.substring(2), true, false);
} else if (currentArg.equals("-w")) { //$NON-NLS-1$
- disableWarnings();
+ inhibitAllWarnings = true;
} else if (currentArg.startsWith("-O")) { //$NON-NLS-1$
// Ignore.
} else if (currentArg.equals("-v")) { //$NON-NLS-1$
@@ -408,6 +456,11 @@ public class GCCMain extends Main {
fail(err);
}
+ if (inhibitAllWarnings)
+ disableWarnings();
+ if (treatWarningsAsErrors)
+ turnWarningsToErrors();
+
this.checkedClasspaths = new FileSystem.Classpath[result.size()];
result.toArray(this.checkedClasspaths);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/ecj.git
More information about the pkg-java-commits
mailing list