From af3a21efa4e946f1e0d4af02174b936d58168549 Mon Sep 17 00:00:00 2001 From: Jason Lokerson Date: Tue, 26 Apr 2016 08:20:21 -0700 Subject: [PATCH 1/2] Fix VS2013 filesystem shim header problems Add a missing overload, fix missing return statement in filesystem shim header for VS2013 --- src/autowiring/C++11/filesystem.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/autowiring/C++11/filesystem.h b/src/autowiring/C++11/filesystem.h index e8243c744..07f4fcd46 100644 --- a/src/autowiring/C++11/filesystem.h +++ b/src/autowiring/C++11/filesystem.h @@ -27,6 +27,9 @@ namespace std { path(const string_type& _Str) : awfsnamespace::wpath(_Str) {} + path(const awfsnamespace::wpath& _Right) : + awfsnamespace::wpath(_Right) + {} path(const path& _Right) : awfsnamespace::wpath(_Right) {} @@ -38,7 +41,7 @@ namespace std { {} basic_path& operator=(basic_path&& _Right) { *(awfsnamespace::wpath*)this = std::move(_Right); } - basic_path& operator=(const string_type& _Str) { *(awfsnamespace::wpath*)this = _Str; } + basic_path& operator=(const string_type& _Str) { return *(awfsnamespace::wpath*)this = _Str; } basic_path& operator=(const wchar_t* _Ptr) { *(awfsnamespace::wpath*)this = _Ptr; } path extension(void) const { From 2239518074799609fd49325e619d7d6373beecfa Mon Sep 17 00:00:00 2001 From: Jason Lokerson Date: Tue, 26 Apr 2016 12:32:01 -0700 Subject: [PATCH 2/2] Add return keyword to the other places where it is missing --- src/autowiring/C++11/filesystem.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/autowiring/C++11/filesystem.h b/src/autowiring/C++11/filesystem.h index 07f4fcd46..0452c0368 100644 --- a/src/autowiring/C++11/filesystem.h +++ b/src/autowiring/C++11/filesystem.h @@ -40,9 +40,9 @@ namespace std { awfsnamespace::wpath(_Ptr) {} - basic_path& operator=(basic_path&& _Right) { *(awfsnamespace::wpath*)this = std::move(_Right); } + basic_path& operator=(basic_path&& _Right) { return *(awfsnamespace::wpath*)this = std::move(_Right); } basic_path& operator=(const string_type& _Str) { return *(awfsnamespace::wpath*)this = _Str; } - basic_path& operator=(const wchar_t* _Ptr) { *(awfsnamespace::wpath*)this = _Ptr; } + basic_path& operator=(const wchar_t* _Ptr) { return *(awfsnamespace::wpath*)this = _Ptr; } path extension(void) const { return{ awfsnamespace::wpath::extension() };