aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-03-25 06:26:58 +0000
committerBill Wendling <isanbard@gmail.com>2011-03-25 06:26:58 +0000
commit4abba168319704f6addd28506e90d1dd17f2016d (patch)
treee0c4b4f9f6502efa04d983a93c071b74f37bb92d
parent8c6b10ade4e4766ac951e6a757674048537a74da (diff)
downloadllvm-4abba168319704f6addd28506e90d1dd17f2016d.zip
llvm-4abba168319704f6addd28506e90d1dd17f2016d.tar.gz
llvm-4abba168319704f6addd28506e90d1dd17f2016d.tar.bz2
--- Merging r127239 into '.':
U test/Makefile U Makefile.rules --- Merging r127240 into '.': U utils/llvm-lit/Makefile --- Merging r127726 into '.': U lib/Support/raw_ostream.cpp --- Merging r127730 into '.': U test/CodeGen/X86/dyn-stackalloc.ll llvm-svn: 128259
-rw-r--r--llvm/Makefile.rules18
-rw-r--r--llvm/lib/Support/raw_ostream.cpp8
-rw-r--r--llvm/test/CodeGen/X86/dyn-stackalloc.ll9
-rw-r--r--llvm/test/Makefile34
-rw-r--r--llvm/utils/llvm-lit/Makefile9
5 files changed, 55 insertions, 23 deletions
diff --git a/llvm/Makefile.rules b/llvm/Makefile.rules
index 00b3eb3..5fc77a5 100644
--- a/llvm/Makefile.rules
+++ b/llvm/Makefile.rules
@@ -719,6 +719,24 @@ BaseNameSources := $(sort $(basename $(Sources)))
ObjectsO := $(BaseNameSources:%=$(ObjDir)/%.o)
ObjectsBC := $(BaseNameSources:%=$(ObjDir)/%.bc)
+#----------------------------------------------------------
+# For Mingw MSYS bash and Python/w32:
+#
+# $(ECHOPATH) prints DOSish pathstring.
+# ex) $(ECHOPATH) /include/sys/types.h
+# --> C:/mingw/include/sys/types.h
+# built-in "echo" does not transform path to DOSish path.
+#
+# FIXME: It would not be needed when MSYS's python
+# were provided.
+#----------------------------------------------------------
+
+ifeq (-mingw32,$(findstring -mingw32,$(BUILD_TRIPLE)))
+ ECHOPATH := $(Verb)python -u -c "import sys;print ' '.join(sys.argv[1:])"
+else
+ ECHOPATH := $(Verb)$(ECHO)
+endif
+
###############################################################################
# DIRECTORIES: Handle recursive descent of directory structure
###############################################################################
diff --git a/llvm/lib/Support/raw_ostream.cpp b/llvm/lib/Support/raw_ostream.cpp
index d9fb406..5a71fa3 100644
--- a/llvm/lib/Support/raw_ostream.cpp
+++ b/llvm/lib/Support/raw_ostream.cpp
@@ -496,6 +496,14 @@ raw_fd_ostream::~raw_fd_ostream() {
}
}
+#ifdef __MINGW32__
+ // On mingw, global dtors should not call exit().
+ // report_fatal_error() invokes exit(). We know report_fatal_error()
+ // might not write messages to stderr when any errors were detected
+ // on FD == 2.
+ if (FD == 2) return;
+#endif
+
// If there are any pending errors, report them now. Clients wishing
// to avoid report_fatal_error calls should check for errors with
// has_error() and clear the error flag with clear_error() before
diff --git a/llvm/test/CodeGen/X86/dyn-stackalloc.ll b/llvm/test/CodeGen/X86/dyn-stackalloc.ll
index e577611..7b0fe18 100644
--- a/llvm/test/CodeGen/X86/dyn-stackalloc.ll
+++ b/llvm/test/CodeGen/X86/dyn-stackalloc.ll
@@ -1,6 +1,9 @@
-; RUN: llc < %s -mtriple=i686-linux | not egrep {\\\$4294967289|-7}
-; RUN: llc < %s -mtriple=i686-linux | egrep {\\\$4294967280|-16}
-; RUN: llc < %s -mtriple=x86_64-linux | grep {\\-16}
+; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefix=X32
+; X32-NOT: {{$429496728|-7}}
+; X32: {{$4294967280|-16}}
+; X32-NOT: {{$429496728|-7}}
+; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefix=X64
+; X64: -16
define void @t() nounwind {
A:
diff --git a/llvm/test/Makefile b/llvm/test/Makefile
index b37bbfc..0d84186 100644
--- a/llvm/test/Makefile
+++ b/llvm/test/Makefile
@@ -173,22 +173,24 @@ site.exp: FORCE
lit.site.cfg: site.exp
@echo "Making LLVM 'lit.site.cfg' file..."
- @sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \
- -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \
- -e "s#@LLVM_TOOLS_DIR@#$(ToolDir)#g" \
- -e "s#@LLVMGCCDIR@#$(LLVMGCCDIR)#g" \
- -e "s#@ENABLE_SHARED@#$(ENABLE_SHARED)#g" \
- $(PROJ_SRC_DIR)/lit.site.cfg.in > $@
+ @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp
+ @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp
+ @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp
+ @$(ECHOPATH) s=@LLVMGCCDIR@=$(LLVMGCCDIR)=g >> lit.tmp
+ @$(ECHOPATH) s=@PYTHON_EXECUTABLE@=python=g >> lit.tmp
+ @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp
+ @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@
+ @-rm -f lit.tmp
Unit/lit.site.cfg: $(PROJ_OBJ_DIR)/Unit/.dir FORCE
@echo "Making LLVM unittest 'lit.site.cfg' file..."
- @sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \
- -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \
- -e "s#@LLVM_TOOLS_DIR@#$(ToolDir)#g" \
- -e "s#@LLVMGCCDIR@#$(LLVMGCCDIR)#g" \
- -e "s#@LLVM_BUILD_MODE@#$(BuildMode)#g" \
- -e "s#@ENABLE_SHARED@#$(ENABLE_SHARED)#g" \
- -e "s#@SHLIBDIR@#$(SharedLibDir)#g" \
- -e "s#@SHLIBPATH_VAR@#$(SHLIBPATH_VAR)#g" \
- $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@
-
+ @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > unit.tmp
+ @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> unit.tmp
+ @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> unit.tmp
+ @$(ECHOPATH) s=@LLVMGCCDIR@=$(LLVMGCCDIR)=g >> unit.tmp
+ @$(ECHOPATH) s=@LLVM_BUILD_MODE@=$(BuildMode)=g >> unit.tmp
+ @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> unit.tmp
+ @$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g >> unit.tmp
+ @$(ECHOPATH) s=@SHLIBPATH_VAR@=$(SHLIBPATH_VAR)=g >> unit.tmp
+ @sed -f unit.tmp $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@
+ @-rm -f unit.tmp
diff --git a/llvm/utils/llvm-lit/Makefile b/llvm/utils/llvm-lit/Makefile
index 702591f..77021bb 100644
--- a/llvm/utils/llvm-lit/Makefile
+++ b/llvm/utils/llvm-lit/Makefile
@@ -13,9 +13,10 @@ include $(LEVEL)/Makefile.common
all:: $(ToolDir)/llvm-lit
-$(ToolDir)/llvm-lit: llvm-lit.in $(ToolDir)/.dir
+$(ToolDir)/llvm-lit: llvm-lit.in Makefile $(ToolDir)/.dir
$(Echo) "Creating 'llvm-lit' script..."
- $(Verb)sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \
- -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \
- $< > $@
+ $(Verb)$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp
+ $(Verb)$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp
+ $(Verb)sed -f lit.tmp $< > $@
$(Verb)chmod +x $@
+ $(Verb)rm -f lit.tmp