Merge pull request #188 from ddunbar/64bit-tracing-apis

[Basic] Adjust tracing APIs to accept 64-bit values.
diff --git a/include/llbuild/Basic/Tracing.h b/include/llbuild/Basic/Tracing.h
index f344d3b..922fc1f 100644
--- a/include/llbuild/Basic/Tracing.h
+++ b/include/llbuild/Basic/Tracing.h
@@ -62,13 +62,13 @@
 /// An RAII type to define an individual tracing point.
 struct TracingPoint {
   const uint32_t kind;
-  const uint32_t arg1;
-  const uint32_t arg2;
-  const uint32_t arg3;
-  const uint32_t arg4;
+  const uint64_t arg1;
+  const uint64_t arg2;
+  const uint64_t arg3;
+  const uint64_t arg4;
 
-  TracingPoint(TraceEventKind kind, uint32_t arg1 = 0, uint32_t arg2 = 0,
-                uint32_t arg3 = 0, uint32_t arg4 = 0)
+  TracingPoint(TraceEventKind kind, uint64_t arg1 = 0, uint64_t arg2 = 0,
+                uint64_t arg3 = 0, uint64_t arg4 = 0)
     : kind(uint32_t(kind)), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4)
   {
   }
@@ -81,13 +81,13 @@
 /// interval completion event.
 struct TracingInterval {
   const uint32_t kind;
-  uint32_t arg1;
-  uint32_t arg2;
-  uint32_t arg3;
-  uint32_t arg4;
+  uint64_t arg1;
+  uint64_t arg2;
+  uint64_t arg3;
+  uint64_t arg4;
 
-  TracingInterval(TraceEventKind kind, uint32_t arg1 = 0, uint32_t arg2 = 0,
-                  uint32_t arg3 = 0, uint32_t arg4 = 0)
+  TracingInterval(TraceEventKind kind, uint64_t arg1 = 0, uint64_t arg2 = 0,
+                  uint64_t arg3 = 0, uint64_t arg4 = 0)
       : kind(uint32_t(kind)), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4)
   {
   }
@@ -97,10 +97,10 @@
   // MARK: Utility Wrappers
   
   TracingInterval(EngineTaskCallbackKind arg1)
-    : TracingInterval(TraceEventKind::EngineTaskCallback, uint32_t(arg1)) {}
+    : TracingInterval(TraceEventKind::EngineTaskCallback, uint64_t(arg1)) {}
 
   TracingInterval(EngineQueueItemKind arg1)
-    : TracingInterval(TraceEventKind::EngineQueueItemEvent, uint32_t(arg1)) {}
+    : TracingInterval(TraceEventKind::EngineQueueItemEvent, uint64_t(arg1)) {}
 };
 
 /// An RAII type to define a string.
@@ -109,12 +109,12 @@
 
   /// The integer code for the string, which can be provided to a trace point or
   /// interval.
-  const uint32_t value;
+  const uint64_t value;
 
   TracingString(TraceEventKind kind, llvm::StringRef str)
       : kind(uint32_t(kind)), value(0) {}
 
-  operator uint32_t() const { return value; }
+  operator uint64_t() const { return value; }
 };
   
 }
diff --git a/llbuild.xcodeproj/project.pbxproj b/llbuild.xcodeproj/project.pbxproj
index cae7421..f1e92b1 100644
--- a/llbuild.xcodeproj/project.pbxproj
+++ b/llbuild.xcodeproj/project.pbxproj
@@ -761,6 +761,8 @@
 		E17C29F21B5AC18C00C12DA9 /* install-user-sphinx.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-user-sphinx.sh"; sourceTree = "<group>"; };
 		E17C29F31B5AC2A700C12DA9 /* build-sphinx-docs.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "build-sphinx-docs.sh"; sourceTree = "<group>"; };
 		E18043391A00129400662FE7 /* install-user-lit.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "install-user-lit.sh"; sourceTree = "<group>"; };
+		E181D1441F7D90AC0015286C /* Stat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stat.h; sourceTree = "<group>"; };
+		E181D1451F7D90AC0015286C /* Tracing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tracing.h; sourceTree = "<group>"; };
 		E182BE111ABA2B8D001840AD /* Compiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Compiler.h; sourceTree = "<group>"; };
 		E192E92E1E30014E00122F17 /* BuildValueTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuildValueTest.cpp; sourceTree = "<group>"; };
 		E19C3FD51B98C1A70035E1AA /* tests */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tests; sourceTree = "<group>"; };
@@ -1429,6 +1431,8 @@
 				9D2589301E3820E3006C76F4 /* PlatformUtility.h */,
 				E147DEFC1BA81D0E0032D08E /* SerialQueue.h */,
 				E17440C11CE192E30070A30C /* ShellUtility.h */,
+				E181D1441F7D90AC0015286C /* Stat.h */,
+				E181D1451F7D90AC0015286C /* Tracing.h */,
 				E1A2245119F997D40059043E /* Version.h */,
 			);
 			name = Headers;