public inbox for java-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Matthias Klose <doko@ubuntu.com>
To: GCJ-patches <java-patches@gcc.gnu.org>
Cc: Jon VanAlten <jon.vanalten@redhat.com>,
	classpath@gnu.org,  Tom Tromey <tromey@redhat.com>
Subject: [patch] update ecj to ecj-3.8.2/4.2.2
Date: Mon, 15 Apr 2013 10:21:00 -0000	[thread overview]
Message-ID: <516BD4B9.8040101@ubuntu.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2247 bytes --]

The ecj.jar provided on ftp://gcc.gnu.org/pub/java wasn't updated anymore since
2008, having no support for java7.  It looks like this ecj is already used
within the Fedora disto, however only locally patched (at least I couldn't find
any mail sent to java-patches).

Find attached the changes required to build a new ecj.jar from the R3_8_2 git
tag.  The built files can be found at
http://people.debian.org/~doko/tmp/eclipse-gcj/. The resulting gcj -C looks
fine, building libjava with the new ecj.jar doesn't show any regressions, and
the testsuite doesn't show any regressions.  However the filenames for some
generated class and header files have changed for inner classes:

$ svn status|grep UIDefaults|sort -k1
!       classpath/lib/javax/swing/UIDefaults$1.class
!       classpath/lib/javax/swing/UIDefaults$2.class
!       classpath/lib/javax/swing/UIDefaults$3.class
!       classpath/lib/javax/swing/UIDefaults$4.class
?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$1.class
?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$2.class
?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$3.class
?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$4.class
!       javax/swing/UIDefaults$1.h
!       javax/swing/UIDefaults$2.h
!       javax/swing/UIDefaults$3.h
!       javax/swing/UIDefaults$4.h
?       javax/swing/UIDefaults$ProxyLazyValue$1.h
?       javax/swing/UIDefaults$ProxyLazyValue$2.h
?       javax/swing/UIDefaults$ProxyLazyValue$3.h
?       javax/swing/UIDefaults$ProxyLazyValue$4.h
M       classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class
M       classpath/lib/javax/swing/UIDefaults.class
M       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class
M
classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class

See the attached svn-status.gz file for a complete diff (replace ! with D, ?
with A).

 - I'd like to ask Tom (or somebody else) to look at the patches
   for the rhug/java repository.

 - Ask to rebuild the .class and .h files using this new ecj.jar on the trunk,
   after the ecj.jar is uploaded.

There are issues building OpenJDK and IcedTea with this new compiler.  Please
see the IcedTea ML for a follow-up posting.

  Matthias

[-- Attachment #2: eclipse-gcj.diff --]
[-- Type: text/plain, Size: 3906 bytes --]

2013-04-13  Matthias Klose  <doko@ubuntu.com>

	* Makefile (TAG): Set to R3_8_2 (cvsroot, login): Remove,
	(checkout): Download from git repository.
	(compile): Compile for 1.5, catch errors copying resource files,
	don't include the META-INF file.
	* org/eclipse/jdt/internal/compiler/batch/GCCMain.java: Adopt to
	new API.
	
Index: Makefile
===================================================================
RCS file: /cvs/rhug/eclipse-gcj/Makefile,v
retrieving revision 1.10
diff -u -r1.10 Makefile
--- Makefile	28 Sep 2009 17:38:31 -0000	1.10
+++ Makefile	13 Apr 2013 16:03:28 -0000
@@ -1,4 +1,4 @@
-TAG = R3_5_1
+TAG = R3_8_2
 
 cvsroot = :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
 
@@ -11,13 +11,27 @@
 	$(MAKE) compile
 	$(MAKE) ecj.jar ecj-source.tar.bz2
 
-login:
-	cvs -d $(cvsroot) login
-
 checkout:
-	cvs -d $(cvsroot) co -r$(TAG) org.eclipse.jdt.core
+#	git clone -b R3_8_maintenance git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git
+#	wget http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/snapshot/$(TAG).tar.gz
+	tar xf $(TAG).tar.gz
+	rm -rf org.eclipse.jdt.core
+	mkdir org.eclipse.jdt.core
+	cp $(TAG)/org.eclipse.jdt.core/scripts/about.html \
+	  org.eclipse.jdt.core/.
+	cp $(TAG)/org.eclipse.jdt.core/scripts/build.xml \
+	  org.eclipse.jdt.core/.
+	tar -c -f - -C $(TAG)/org.eclipse.jdt.core/compiler org \
+	  | tar -x -f - -C org.eclipse.jdt.core/
+	find org.eclipse.jdt.core -name CheckDebugAttributes.java | xargs -r rm -f
+	find org.eclipse.jdt.core -name BuildJarIndex.java | xargs -r rm -f
+	tar -c -f - -C $(TAG)/org.eclipse.jdt.core/batch org \
+	  | tar -x -f - -C org.eclipse.jdt.core/
+	mkdir -p org.eclipse.jdt.core/META-INF/services
+	printf 'org.eclipse.jdt.internal.compiler.tool.EclipseCompiler #Eclipse compiler' \
+	  > org.eclipse.jdt.core/META-INF/services/javax.tools.JavaCompiler
 
-SOURCES = org org.eclipse.jdt.core/batch org.eclipse.jdt.core/compiler
+SOURCES = org org.eclipse.jdt.core
 
 OUTPUT = bin
 
@@ -31,17 +45,19 @@
 compile:
 	@mkdir -p $(OUTPUT)
 	find $(SOURCES) -name '*.java' > List
-	ecj -d $(OUTPUT) -1.4 -nowarn -g @List
+	ecj -d $(OUTPUT) -1.5 -nowarn -g @List
+	set -e; \
 	here=`pwd`; for dir in $(SOURCES); do \
-	  (cd $$dir; find . -name '*.properties' -o -name '*.rsc' | \
+	  (cd $$dir; find . -name '*.properties' -o -name '*.props' -o -name '*.rsc' | \
 	   while read x; do \
 	     echo "cp $$x $$here/$(OUTPUT)/$$x"; \
+	     mkdir -p $$(dirname $$here/$(OUTPUT)/$$x); \
 	     cp $$x $$here/$(OUTPUT)/$$x; \
 	   done); \
 	done
 	cat gcc.properties >> $(OUTPUT)/org/eclipse/jdt/internal/compiler/batch/messages.properties
 	mkdir -p $(OUTPUT)/META-INF
-	cp org.eclipse.jdt.core/META-INF/MANIFEST.MF $(OUTPUT)/META-INF
+#	cp org.eclipse.jdt.core/META-INF/MANIFEST.MF $(OUTPUT)/META-INF
 
 # Once per GCC release you should upload an appropriate jar.
 # Don't change these once the release is out.
Index: org/eclipse/jdt/internal/compiler/batch/GCCMain.java
===================================================================
RCS file: /cvs/rhug/eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java,v
retrieving revision 1.8
diff -u -r1.8 GCCMain.java
--- org/eclipse/jdt/internal/compiler/batch/GCCMain.java	11 Sep 2009 10:59:21 -0000	1.8
+++ org/eclipse/jdt/internal/compiler/batch/GCCMain.java	13 Apr 2013 16:03:29 -0000
@@ -29,6 +29,7 @@
 import org.eclipse.jdt.internal.compiler.env.AccessRule;
 import org.eclipse.jdt.internal.compiler.env.AccessRuleSet;
 import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
+import org.eclipse.jdt.internal.compiler.problem.ProblemSeverities;
 import org.eclipse.jdt.internal.compiler.util.Messages;
 import org.eclipse.jdt.internal.compiler.util.SuffixConstants;
 
@@ -463,7 +464,7 @@
 		}
 
 		if (inhibitAllWarnings)
-			disableWarnings();
+			disableAll(ProblemSeverities.Warning);
 		if (treatWarningsAsErrors)
 			turnWarningsToErrors();
 

[-- Attachment #3: svn-status.gz --]
[-- Type: application/gzip, Size: 23037 bytes --]

             reply	other threads:[~2013-04-15 10:21 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-15 10:21 Matthias Klose [this message]
2013-04-15 13:29 ` Andrew Hughes
2013-04-15 13:50   ` Matthias Klose
2013-04-15 14:02     ` Andrew Hughes
2013-04-15 14:08       ` Matthias Klose
2013-04-15 14:22         ` Andrew Hughes
2013-04-15 14:44 ` Jon VanAlten
2013-04-15 21:34   ` Andrew Hughes
2013-04-15 22:39     ` Jon VanAlten
2013-06-20 12:39 ` ping: " Matthias Klose
2013-06-26 19:23   ` Jon VanAlten
2013-07-02  9:36     ` Matthias Klose
2013-07-02 19:04       ` Jon VanAlten
2013-12-10 15:51         ` Matthias Klose
2013-12-10 16:05           ` Andrew Haley
2013-12-10 16:23             ` Matthias Klose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=516BD4B9.8040101@ubuntu.com \
    --to=doko@ubuntu.com \
    --cc=classpath@gnu.org \
    --cc=java-patches@gcc.gnu.org \
    --cc=jon.vanalten@redhat.com \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).