From f37a324baa7f3893111827f03959fc036da1ed23 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 11 Sep 2013 10:45:21 +0000 Subject: Path: Add an in-place version of path::native. This reflects the common use case of nativizing a prepared path. The existing version invokes undefined behavior if input = output, add an assert to catch that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190510 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Path.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/llvm/Support/Path.h b/include/llvm/Support/Path.h index f9a65e5..b2afe1b 100644 --- a/include/llvm/Support/Path.h +++ b/include/llvm/Support/Path.h @@ -173,6 +173,13 @@ void append(SmallVectorImpl &path, /// @param result Holds the result of the transformation. void native(const Twine &path, SmallVectorImpl &result); +/// Convert path to the native form in place. This is used to give paths to +/// users and operating system calls in the platform's normal way. For example, +/// on Windows all '/' are converted to '\'. +/// +/// @param path A path that is transformed to native format. +void native(SmallVectorImpl &path); + /// @} /// @name Lexical Observers /// @{ -- cgit v1.1