public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Pre-check each antlr file separately; handle GCJ's stray semicolon error.
@ 2007-11-22 20:57 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2007-11-22 20:57 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  23d35ae52512823d608fb46136564301948b5fe1 (commit)
      from  d7c815e89593b5133268c9574950ca09b01eb6c7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 23d35ae52512823d608fb46136564301948b5fe1
Author: Andrew Cagney <cagney@redhat.com>
Date:   Thu Nov 22 15:56:40 2007 -0500

    Pre-check each antlr file separately; handle GCJ's stray semicolon error.
    
    frysk-common/ChangeLog
    2007-11-22  Andrew Cagney  <cagney@redhat.com>
    
    	* Makefile.rules (.g.antlred): Compile each file separatly.
    	* antlr-warnings.awk: Recognize the error "An empty declaration".

-----------------------------------------------------------------------

Summary of changes:
 frysk-common/ChangeLog          |    5 ++
 frysk-common/Makefile.rules     |  139 ++++++++++++++++++++++----------------
 frysk-common/antlr-warnings.awk |    2 +-
 3 files changed, 86 insertions(+), 60 deletions(-)

First 500 lines of diff:
diff --git a/frysk-common/ChangeLog b/frysk-common/ChangeLog
index fe624dc..7c46f6f 100644
--- a/frysk-common/ChangeLog
+++ b/frysk-common/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-22  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.rules (.g.antlred): Compile each file separatly.
+	* antlr-warnings.awk: Recognize the error "An empty declaration".
+
 2007-11-15  Andrew Cagney  <cagney@redhat.com>
 
 	* antlr-warnings.awk: Delete references to ExprAST.
diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules
index bae9e3d..7c78f16 100644
--- a/frysk-common/Makefile.rules
+++ b/frysk-common/Makefile.rules
@@ -489,72 +489,93 @@ ANTLR = $(JAVA) \
 
 SUFFIXES += .antlred .g
 .g.antlred:
-	mkdir -p $*.tmp
-	b=`basename $*` ; \
-	d=`dirname $*` ; \
-	cd $$d ; \
-	$(ANTLR) -o $$b.tmp @abs_srcdir@/$*.g
-	@echo "Setting up generated files ..." ; \
-	d=$*.tmp ; for gen in $$d/*.java ; do \
+	@echo ""
+	@echo Creating working directory ...
+	@echo ""
+	@d=`dirname $*` ; t=$*.tmp ; set -xe ; \
+	mkdir -p $$t/$$d
+	@echo ""
+	@echo Running antlr in output directory to pick up previously generated files ...
+	@echo ""
+	@d=`dirname $*` ; t=$*.tmp ; set -xe ; \
+	cd $$d ; $(ANTLR) -o `basename $$t`/$$d @abs_srcdir@/$*.g
+	@echo ""
+	@echo Setting up generated files ...
+	@echo ""
+	@b=`basename $*` ; d=`dirname $*` ; t=$*.tmp ; set -xe ; \
+	for gen in $$t/$$d/*.java ; do \
 	    b=`basename $$gen .java` ; \
-	    ( set -x ; mv $$gen $$d/$$b.gen ) ; \
-	    ( set -x ; rm -f $$d/../$$b.java ) ; \
-	    for f in @abs_srcdir@/`dirname $$d`/$$b.sed /dev/null ; do \
-		if test -r $$f ; then \
-		    ( set -x ; cp $$f $$d/$$b.sed ) ; \
-		    break ; \
-	        fi ; \
-	    done ; \
+	    mv $$gen $$t/$$b.gen ; \
+	    i=@abs_srcdir@/$$d/$$b.sed ; \
+	    o=$$t/$$b.sed ; \
+   	    if test -r $$i ; then \
+		cp $$i $$o.sed ; \
+	    else \
+		cp /dev/null $$o ; \
+	    fi ; \
 	done
-	@edits=true ; d=$*.tmp ; \
+	@echo ""
+	@echo Running repeated builds ...
+	@echo ""
+	@d=`dirname $*` ; t=$*.tmp ; set -xe ; \
+	edits=true ; \
 	while $$edits ; do \
 	    edits=false ; \
-	    echo "Applying fixes ..." ; \
-	    for gen in $$d/*.gen ; do \
+	    for gen in $$t/*.gen ; do \
 		b=`basename $$gen .gen` ; \
-		( set -x ; sed -f $$d/$$b.sed $$gen > $$d/$$b.java ) \
-		     || exit 1 ; \
-	    done ; \
-	    echo "Parsing compiler warnings ..." ; \
-	    rm -f $$d/*.antlr-fixes ; \
-	    ( set -x ; rm -rf $$d/classes ; mkdir -p $$d/classes ) ; \
-	    if test "x@HAVE_ECJ_TRUE@" = x ; then \
-		( set -x ; $(GIJ) 2>&1 \
-		    --classpath $(ECJ_JAR):$(CLASSPATH) \
-		    org.eclipse.jdt.internal.compiler.batch.Main \
-		    \
-		    -d $$d/classes \
-		    -warn:+semicolon \
-		    -sourcepath $(SOURCEPATH) \
-		    -classpath $(CLASSPATH) \
-		    $$d/*.java ) ; \
-	    else \
-		( set -x ; $(GCJCOMPILE) 2>&1 \
-		    -C \
-		    -d $$d/classes \
-		    $$d/*.java ) ; \
-	    fi | ( set -x ; cd $$d ; $(AWK) \
-		-f @abs_srcdir@/common/antlr-warnings.awk ) ; \
-	    echo "Merging `sort -n $$d/*.antlr-fixes 2>/dev/null | uniq | wc -l` fixes" ; \
-	    for fix in $$d/*.antlr-fixes ; do \
-		b=`basename $$fix .antlr-fixes` ; \
-		test -r "$$d/$$b.sed" || continue ; \
-		( set -x ; sort -n $$d/$$b.sed $$fix | uniq > $$d/$$b.tmp ) ; \
-		if ( set -x ; cmp -s $$d/$$b.tmp $$d/$$b.sed ) ; then \
-		    echo "***" ; \
-		    echo "*** $$d/$$b.sed already contains all fixes!" ; \
-		    echo "*** Assuming errors are real." ; \
-		    echo "***" ; \
-		    continue ; \
-		fi ; \
-		mv -f $$d/$$b.tmp $$d/$$b.sed ; \
-		edits=true ; \
+	        echo "Applying fixes for $$b ..." ; \
+		for fix in $$t/*.sed ; do \
+		    f=`basename $$fix .sed` ; \
+		    sed -f $$fix $$t/$$f.gen > $$t/$$d/$$f.java ; \
+		done ; \
+		echo "Parsing compiler warnings from $$b..." ; \
+		rm -f $$t/*.antlr-fixes ; \
+	        rm -rf $$t/classes ; mkdir -p $$t/classes ; \
+		if test "x@HAVE_ECJ_TRUE@" = y ; then \
+		    $(GIJ) 2>&1 \
+			--classpath $(ECJ_JAR):$(CLASSPATH) \
+			org.eclipse.jdt.internal.compiler.batch.Main \
+			\
+			-d $$t/classes \
+			-warn:+semicolon \
+			-sourcepath  $$t:$(SOURCEPATH) \
+			-classpath $(CLASSPATH) \
+			$$t/$$d/$$b.java || true ; \
+		else \
+		    $(GCJCOMPILE) 2>&1 \
+			-C \
+			-I $$t \
+			-d $$t/classes \
+			$$t/$$d/$$b.java || true ; \
+		fi | ( \
+		    cd $$t ; \
+		    $(AWK) -f @abs_srcdir@/common/antlr-warnings.awk \
+		) ; \
+		echo "Merging `sort -n $$t/*.antlr-fixes 2>/dev/null | uniq | wc -l` fixes" ; \
+		for fix in $$t/*.antlr-fixes ; do \
+		    b=`basename $$fix .antlr-fixes` ; \
+		    test -r "$$t/$$b.sed" || continue ; \
+ 		    sort -n $$t/$$b.sed $$fix | uniq > $$t/$$b.tmp ; \
+		    if ( set -x ; cmp -s $$t/$$b.tmp $$t/$$b.sed ) ; then \
+			echo "***" ; \
+			echo "*** $$t/$$b.sed already contains all fixes!" ; \
+			echo "*** Assuming errors are real." ; \
+			echo "***" ; \
+			continue ; \
+		    fi ; \
+		    mv -f $$t/$$b.tmp $$t/$$b.sed ; \
+ 		    edits=true ; \
+	        done ; \
 	    done ; \
 	done || true
-	@echo Installing generated files files ... ; \
-	( cd $*.tmp ; for f in *.java *.txt ; do \
-	    ( set -x ; cp $$f ../$$f ) ; \
-	done )
+	@echo ""
+	@echo Installing generated files files ...
+	@echo ""
+	@d=`dirname $*` ; t=$*.tmp ; set -xe ; \
+	for f in $$t/$$d/*.java $$t/$$d/*.txt ; do \
+	    b=`basename $$f` ; \
+	    cp $$f $$d/$$b ; \
+	done
 	rm -rf $*.antlred
 	touch $*.antlred
 \f
diff --git a/frysk-common/antlr-warnings.awk b/frysk-common/antlr-warnings.awk
index f77e3c0..8b40149 100644
--- a/frysk-common/antlr-warnings.awk
+++ b/frysk-common/antlr-warnings.awk
@@ -107,7 +107,7 @@ function sed_comment(code) {
     return "s," code ",// " code ","
 }
 
-prob ~ /Unnecessary semicolon/ {
+prob ~ /Unnecessary semicolon/ || prob ~ /An empty declaration is a deprecated feature/ {
     if (code ~ /};/) {
 	sed = "s,};,} // ;,"
     } else if (code ~ /;;$/) {


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-22 20:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-22 20:57 [SCM] master: Pre-check each antlr file separately; handle GCJ's stray semicolon error cagney

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).