[macruby-changes] [3687] MacRuby/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 3 14:54:51 PST 2010


Revision: 3687
          http://trac.macosforge.org/projects/ruby/changeset/3687
Author:   lsansonetti at apple.com
Date:     2010-03-03 14:54:51 -0800 (Wed, 03 Mar 2010)
Log Message:
-----------
work with newer LLVM

Modified Paths:
--------------
    MacRuby/trunk/compiler.cpp
    MacRuby/trunk/rakelib/builder/options.rb
    MacRuby/trunk/vm.cpp

Modified: MacRuby/trunk/compiler.cpp
===================================================================
--- MacRuby/trunk/compiler.cpp	2010-03-03 22:37:48 UTC (rev 3686)
+++ MacRuby/trunk/compiler.cpp	2010-03-03 22:54:51 UTC (rev 3687)
@@ -188,10 +188,14 @@
     level = 0;
 #endif
 
+#if LLVM_TOT
+    dbg_mdkind = context.getMDKindID("dbg");
+#else
     dbg_mdkind = context.getMetadata().getMDKind("dbg");
     if (dbg_mdkind == 0) {
 	dbg_mdkind = context.getMetadata().registerMDKind("dbg");
     }
+#endif
     assert(dbg_mdkind != 0);
 }
 
@@ -735,7 +739,11 @@
     if (fname != NULL) {
 	DILocation loc = debug_info->CreateLocation(current_line, 0,
 		debug_compile_unit, DILocation(NULL));
+#if LLVM_TOT
+	insn->setMetadata(dbg_mdkind, loc.getNode());
+#else
 	context.getMetadata().addMD(dbg_mdkind, loc.getNode(), insn);
+#endif
     }
 }
 

Modified: MacRuby/trunk/rakelib/builder/options.rb
===================================================================
--- MacRuby/trunk/rakelib/builder/options.rb	2010-03-03 22:37:48 UTC (rev 3686)
+++ MacRuby/trunk/rakelib/builder/options.rb	2010-03-03 22:54:51 UTC (rev 3687)
@@ -105,7 +105,7 @@
 CFLAGS = "-I. -I./include -I./onig -I/usr/include/libxml2 #{ARCHFLAGS} -fno-common -pipe -O3 -g -Wall -fexceptions"
 CFLAGS << " -Wno-parentheses -Wno-deprecated-declarations -Werror" if NO_WARN_BUILD
 OBJC_CFLAGS = CFLAGS + " -fobjc-gc-only"
-CXXFLAGS = `#{LLVM_CONFIG} --cxxflags #{LLVM_MODULES}`.sub(/-DNDEBUG/, '').strip
+CXXFLAGS = `#{LLVM_CONFIG} --cxxflags #{LLVM_MODULES}`.sub(/-DNDEBUG/, '').sub(/-fno-exceptions/, '').strip
 CXXFLAGS << " -I. -I./include -g -Wall #{ARCHFLAGS}"
 CXXFLAGS << " -Wno-parentheses -Wno-deprecated-declarations -Werror" if NO_WARN_BUILD
 CXXFLAGS << " -DLLVM_TOT" if ENV['LLVM_TOT']

Modified: MacRuby/trunk/vm.cpp
===================================================================
--- MacRuby/trunk/vm.cpp	2010-03-03 22:37:48 UTC (rev 3686)
+++ MacRuby/trunk/vm.cpp	2010-03-03 22:54:51 UTC (rev 3687)
@@ -184,7 +184,6 @@
 	}
 #endif
 
-
 	uint8_t *startFunctionBody(const Function *F, 
 		uintptr_t &ActualSize) {
 	    return mm->startFunctionBody(F, ActualSize);
@@ -237,6 +236,16 @@
 
 	    std::string path;
 	    for (std::vector<EmittedFunctionDetails::LineStart>::const_iterator iter = Details.LineStarts.begin(); iter != Details.LineStarts.end(); ++iter) {
+#if LLVM_TOT
+		DILocation dil = Details.MF->getDILocation(iter->Loc);
+		if (path.size() == 0) {
+		    DIScope scope = dil.getScope();
+		    path.append(scope.getDirectory());
+		    path.append("/");
+		    path.append(scope.getFilename());
+		}
+		RoxorFunction::Line line(iter->Address, dil.getLineNumber());
+#else
 		DebugLocTuple dlt = Details.MF->getDebugLocTuple(iter->Loc);
 		if (path.size() == 0) {
 		    DICompileUnit unit(dlt.Scope);
@@ -244,8 +253,8 @@
 		    path.append("/");
 		    path.append(unit.getFilename());
 		}
-
 		RoxorFunction::Line line(iter->Address, dlt.Line);
+#endif
 		function->lines.push_back(line);
 	    }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100303/a3412136/attachment-0001.html>


More information about the macruby-changes mailing list