[llvm-commits] [dragonegg] r159678 - in /dragonegg/trunk: include/x86/dragonegg/Target.h src/x86/Target.cpp
Duncan Sands
baldrick at free.fr
Tue Jul 3 12:34:32 PDT 2012
Author: baldrick
Date: Tue Jul 3 14:34:32 2012
New Revision: 159678
URL: http://llvm.org/viewvc/llvm-project?rev=159678&view=rev
Log:
Add support for using dragonegg+x32 with versions of gcc < 4.7 that have had x32
support backported to them. That means not doing a GCC version test, but instead
testing whether TARGET_X32 is defined or not. Checking this in the header file
is fragile since TARGET_X32 will only be defined if the right other header was
included first. Avoid such issues by moving the check to Target.cpp. Patch by
Michael Liao.
Modified:
dragonegg/trunk/include/x86/dragonegg/Target.h
dragonegg/trunk/src/x86/Target.cpp
Modified: dragonegg/trunk/include/x86/dragonegg/Target.h
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/include/x86/dragonegg/Target.h?rev=159678&r1=159677&r2=159678&view=diff
==============================================================================
--- dragonegg/trunk/include/x86/dragonegg/Target.h (original)
+++ dragonegg/trunk/include/x86/dragonegg/Target.h Tue Jul 3 14:34:32 2012
@@ -374,10 +374,10 @@
#define LLVM_OVERRIDE_TARGET_ARCH() \
(TARGET_64BIT ? "x86_64" : "i386")
-#if (GCC_MINOR > 6)
+extern const char *llvm_x86_override_target_environment();
+
#define LLVM_OVERRIDE_TARGET_ENVIRONMENT() \
- (TARGET_X32 ? "gnux32" : "")
-#endif
+ llvm_x86_override_target_environment()
#define LLVM_ASM_EXTENSIONS(ESCAPED_CHAR, ASM, RESULT) \
else if ((ESCAPED_CHAR) == 'v') { \
Modified: dragonegg/trunk/src/x86/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/Target.cpp?rev=159678&r1=159677&r2=159678&view=diff
==============================================================================
--- dragonegg/trunk/src/x86/Target.cpp (original)
+++ dragonegg/trunk/src/x86/Target.cpp Tue Jul 3 14:34:32 2012
@@ -1824,3 +1824,11 @@
else
return !isSingleElementStructOrArray(type, false, true);
}
+
+const char *llvm_x86_override_target_environment() {
+#ifdef TARGET_X32
+ return TARGET_X32 ? "gnux32" : "";
+#else
+ return "";
+#endif
+}
More information about the llvm-commits
mailing list