[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