From 588916a66405880aa9ff55cefa7df92abe0af6fc Mon Sep 17 00:00:00 2001 From: Hrishi Shinde Date: Thu, 16 Apr 2026 17:40:35 -0500 Subject: [PATCH 1/2] GH-49719: [C++] Rename vendored date header guards Prefix all header guards in the vendored date library with ARROW_VENDORED_ to avoid collisions when a project also uses the real date library. Update update.sh to apply the same rewrite automatically on future re-vendoring. --- cpp/src/arrow/vendored/datetime/date.h | 6 +++--- cpp/src/arrow/vendored/datetime/ios.h | 6 +++--- cpp/src/arrow/vendored/datetime/tz.h | 6 +++--- cpp/src/arrow/vendored/datetime/tz_private.h | 6 +++--- cpp/src/arrow/vendored/datetime/update.sh | 6 ++++++ 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/cpp/src/arrow/vendored/datetime/date.h b/cpp/src/arrow/vendored/datetime/date.h index 1b06182a6da..5e0ff852462 100644 --- a/cpp/src/arrow/vendored/datetime/date.h +++ b/cpp/src/arrow/vendored/datetime/date.h @@ -1,5 +1,5 @@ -#ifndef DATE_H -#define DATE_H +#ifndef ARROW_VENDORED_DATE_H +#define ARROW_VENDORED_DATE_H // The MIT License (MIT) // @@ -8242,4 +8242,4 @@ operator<<(std::basic_ostream& os, # pragma GCC diagnostic pop #endif -#endif // DATE_H +#endif // ARROW_VENDORED_DATE_H diff --git a/cpp/src/arrow/vendored/datetime/ios.h b/cpp/src/arrow/vendored/datetime/ios.h index d018e799a83..ee341fd7784 100644 --- a/cpp/src/arrow/vendored/datetime/ios.h +++ b/cpp/src/arrow/vendored/datetime/ios.h @@ -24,8 +24,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#ifndef ios_hpp -#define ios_hpp +#ifndef ARROW_VENDORED_ios_hpp +#define ARROW_VENDORED_ios_hpp #if __APPLE__ # include @@ -47,4 +47,4 @@ #else // !__APPLE__ # define TARGET_OS_IPHONE 0 #endif // !__APPLE__ -#endif // ios_hpp +#endif // ARROW_VENDORED_ios_hpp diff --git a/cpp/src/arrow/vendored/datetime/tz.h b/cpp/src/arrow/vendored/datetime/tz.h index 61ab3df106d..151a67fe904 100644 --- a/cpp/src/arrow/vendored/datetime/tz.h +++ b/cpp/src/arrow/vendored/datetime/tz.h @@ -1,5 +1,5 @@ -#ifndef TZ_H -#define TZ_H +#ifndef ARROW_VENDORED_TZ_H +#define ARROW_VENDORED_TZ_H // The MIT License (MIT) // @@ -2805,4 +2805,4 @@ to_gps_time(const tai_time& t) } // namespace arrow_vendored::date -#endif // TZ_H +#endif // ARROW_VENDORED_TZ_H diff --git a/cpp/src/arrow/vendored/datetime/tz_private.h b/cpp/src/arrow/vendored/datetime/tz_private.h index 1d7f8589711..39059a1a4ae 100644 --- a/cpp/src/arrow/vendored/datetime/tz_private.h +++ b/cpp/src/arrow/vendored/datetime/tz_private.h @@ -1,5 +1,5 @@ -#ifndef TZ_PRIVATE_H -#define TZ_PRIVATE_H +#ifndef ARROW_VENDORED_TZ_PRIVATE_H +#define ARROW_VENDORED_TZ_PRIVATE_H // The MIT License (MIT) // @@ -312,4 +312,4 @@ struct transition #include "tz.h" #endif -#endif // TZ_PRIVATE_H +#endif // ARROW_VENDORED_TZ_PRIVATE_H diff --git a/cpp/src/arrow/vendored/datetime/update.sh b/cpp/src/arrow/vendored/datetime/update.sh index b4580c04260..b65ae4901d7 100755 --- a/cpp/src/arrow/vendored/datetime/update.sh +++ b/cpp/src/arrow/vendored/datetime/update.sh @@ -46,6 +46,12 @@ sed -i.bak -E \ -e 's/namespace date/namespace arrow_vendored::date/g' \ -e 's,include "date/,include ",g' \ *.{cpp,h,mm} +sed -i.bak -E \ + -e 's/(#ifndef |#define |#endif.*\/\/ )(DATE_H)/\1ARROW_VENDORED_\2/g' \ + -e 's/(#ifndef |#define |#endif.*\/\/ )(ios_hpp)/\1ARROW_VENDORED_\2/g' \ + -e 's/(#ifndef |#define |#endif.*\/\/ )(TZ_H)/\1ARROW_VENDORED_\2/g' \ + -e 's/(#ifndef |#define |#endif.*\/\/ )(TZ_PRIVATE_H)/\1ARROW_VENDORED_\2/g' \ + *.h sed -i.bak -E \ -e "s/changeset [0-9a-f]+/changeset ${commit_id}/g" \ README.md From 645181c4b5a4574dae6a9618706f9376b588e685 Mon Sep 17 00:00:00 2001 From: Hrishi Shinde Date: Thu, 16 Apr 2026 20:53:05 -0500 Subject: [PATCH 2/2] stricter regex and unify sed commands --- cpp/src/arrow/vendored/datetime/update.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cpp/src/arrow/vendored/datetime/update.sh b/cpp/src/arrow/vendored/datetime/update.sh index b65ae4901d7..7ee60fc7af3 100755 --- a/cpp/src/arrow/vendored/datetime/update.sh +++ b/cpp/src/arrow/vendored/datetime/update.sh @@ -47,10 +47,7 @@ sed -i.bak -E \ -e 's,include "date/,include ",g' \ *.{cpp,h,mm} sed -i.bak -E \ - -e 's/(#ifndef |#define |#endif.*\/\/ )(DATE_H)/\1ARROW_VENDORED_\2/g' \ - -e 's/(#ifndef |#define |#endif.*\/\/ )(ios_hpp)/\1ARROW_VENDORED_\2/g' \ - -e 's/(#ifndef |#define |#endif.*\/\/ )(TZ_H)/\1ARROW_VENDORED_\2/g' \ - -e 's/(#ifndef |#define |#endif.*\/\/ )(TZ_PRIVATE_H)/\1ARROW_VENDORED_\2/g' \ + -e 's/(#ifndef |#define |#endif *\/\/ )(DATE_H|ios_hpp|TZ_H|TZ_PRIVATE_H)/\1ARROW_VENDORED_\2/g' \ *.h sed -i.bak -E \ -e "s/changeset [0-9a-f]+/changeset ${commit_id}/g" \