You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/03/24 17:16:02 UTC
[lucy-commits] [5/5] git commit: refs/heads/master - Charmonizer function to disable
strict aliasing optimization
Charmonizer function to disable strict aliasing optimization
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/fae078a9
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/fae078a9
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/fae078a9
Branch: refs/heads/master
Commit: fae078a9866b601993b4b92d8989c97f8df0dcaa
Parents: 4413eaa
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun Mar 24 15:51:05 2013 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun Mar 24 17:13:47 2013 +0100
----------------------------------------------------------------------
charmonizer/src/Charmonizer/Core/Compiler.c | 7 +++++++
charmonizer/src/Charmonizer/Core/Compiler.h | 5 +++++
2 files changed, 12 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/fae078a9/charmonizer/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/Compiler.c b/charmonizer/src/Charmonizer/Core/Compiler.c
index a5de6a9..151d89a 100644
--- a/charmonizer/src/Charmonizer/Core/Compiler.c
+++ b/charmonizer/src/Charmonizer/Core/Compiler.c
@@ -376,6 +376,13 @@ chaz_CC_set_optimization_level(const char *level) {
free(flag);
}
+void
+chaz_CC_disable_strict_aliasing() {
+ if (!chaz_CC.intval__MSC_VER) {
+ chaz_CC_add_extra_cflags("-fno-strict-aliasing");
+ }
+}
+
const char*
chaz_CC_get_cc(void) {
return chaz_CC.cc_command;
http://git-wip-us.apache.org/repos/asf/lucy/blob/fae078a9/charmonizer/src/Charmonizer/Core/Compiler.h
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/Compiler.h b/charmonizer/src/Charmonizer/Core/Compiler.h
index 6fc4a5e..b95136f 100644
--- a/charmonizer/src/Charmonizer/Core/Compiler.h
+++ b/charmonizer/src/Charmonizer/Core/Compiler.h
@@ -89,6 +89,11 @@ chaz_CC_add_include_dir(const char *dir);
void
chaz_CC_set_optimization_level(const char *level);
+/* Disable strict aliasing.
+ */
+void
+chaz_CC_disable_strict_aliasing();
+
/* Accessor for the compiler executable's string representation.
*/
const char*