[llvm-commits] [llvm-gcc-4.2] r54831 - in /llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc: Makefile.in c-parser.c

Bill Wendling isanbard at gmail.com
Fri Aug 15 16:57:23 PDT 2008


Author: void
Date: Fri Aug 15 18:57:23 2008
New Revision: 54831

URL: http://llvm.org/viewvc/llvm-project?rev=54831&view=rev
Log:
- On Darwin platforms, copy over the libstdc++.dylib during compilation of a
  cross compiler.
- Port patch from rdar://6123451 which fixes an x86_64 bug.

Modified:
    llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/Makefile.in
    llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/c-parser.c

Modified: llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/Makefile.in?rev=54831&r1=54830&r2=54831&view=diff

==============================================================================
--- llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/Makefile.in (original)
+++ llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/Makefile.in Fri Aug 15 18:57:23 2008
@@ -4051,6 +4051,28 @@
 # Install the driver program as $(target_noncanonical)-gcc,
 # $(target_noncanonical)-gcc-$(version)
 # and also as either gcc (if native) or $(gcc_tooldir)/bin/gcc.
+
+# LLVM LOCAL begin copy libstdc++.dylib on Darwin
+ifneq (,$(findstring darwin,$(target)))
+install-driver: installdirs xgcc$(exeext)
+	-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+	-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+	-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
+	-cp -p /usr/lib/libstdc++.6.dylib $(DESTDIR)$(libsubdir)/libstdc++.dylib
+	-( cd $(DESTDIR)$(bindir) && \
+	   $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
+	-if [ -f gcc-cross$(exeext) ] ; then \
+	  if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
+	    rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
+	    $(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
+	  else true; fi; \
+	else \
+	  rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
+	  ( cd $(DESTDIR)$(bindir) && \
+	    $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \
+	    mv -f $(target_noncanonical)-gcc-tmp$(exeext) $(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
+	fi
+else
 install-driver: installdirs xgcc$(exeext)
 	-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
 	-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
@@ -4068,6 +4090,8 @@
 	    $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \
 	    mv -f $(target_noncanonical)-gcc-tmp$(exeext) $(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
 	fi
+endif
+# LLVM LOCAL end copy libstdc++.dylib on Darwin
 
 # Install the info files.
 # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir

Modified: llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/c-parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/c-parser.c?rev=54831&r1=54830&r2=54831&view=diff

==============================================================================
--- llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/c-parser.c (original)
+++ llvm-gcc-4.2/tags/Apple/llvmgcc42-2061-02/gcc/c-parser.c Fri Aug 15 18:57:23 2008
@@ -2393,6 +2393,7 @@
       ret.spec = TREE_TYPE (expr.value);
       /* APPLE LOCAL begin radar 4204796 (in 4.2 n) */
       if (c_dialect_objc() 
+	  && ret.spec != error_mark_node
 	  && lookup_attribute ("objc_volatilized", TYPE_ATTRIBUTES (ret.spec)))
 	ret.spec = build_qualified_type
 	  (ret.spec, (TYPE_QUALS (ret.spec) & ~TYPE_QUAL_VOLATILE));





More information about the llvm-commits mailing list