From 8b5ee823c2393d15c74e2dda0c46f8a2c6f40dc8 Mon Sep 17 00:00:00 2001
From: Daniel Dunbar
Date: Sat, 25 Jul 2009 05:26:53 +0000
Subject: [PATCH] Ok, "most clients should be unaffected" was a lie. Add notes
on upgrading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77050 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ReleaseNotes-2.6.html | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/docs/ReleaseNotes-2.6.html b/docs/ReleaseNotes-2.6.html
index b6b6724e989..add659cc880 100644
--- a/docs/ReleaseNotes-2.6.html
+++ b/docs/ReleaseNotes-2.6.html
@@ -460,11 +460,34 @@ API changes are:
SCEVHandle no longer exists, because reference counting is no
longer done for SCEV* objects, instead const SCEV* should be
used.
+
Many APIs, notably llvm::Value, now use the StringRef
and Twine classes instead of passing const char*
or std::string, as described in
the Programmer's Manual. Most
-clients should be uneffected by this transition.
+clients should be unaffected by this transition, unless they are used to Value::getName() returning a string. Here are some tips on updating to 2.6:
+
+ - getNameStr() is still available, and matches the old
+ behavior. Replacing getName() calls with this is an safe option,
+ although more efficient alternatives are now possible.
+
+ - If you were just relying on getName() being able to be sent to
+ a std::ostream, consider migrating
+ to llvm::raw_ostream.
+
+ - If you were using getName().c_str() to get a const
+ char* pointer to the name, you can use getName().data().
+ Note that this string (as before), may not be the entire name if the
+ name containts embedded null characters.
+
+ - If you were using operator plus on the result of getName() and
+ treating the result as an std::string, you can either
+ uses Twine::str to get the result as an std::string, or
+ could move to a Twine based design.
+
+
+
+
llvm-dis now fails if output file exists, instead of dumping to stdout.
FIXME: describe any other tool changes due to the raw_fd_ostream change. FIXME:
This is not an API change, maybe there should be a tool changes section?