On Fri, Apr 25, 2025 at 12:55 PM Jonathan Wakely <jwak...@redhat.com> wrote:

> This ensures that wstring-inst.o and similar files will be rebuilt when
> string-inst.cc changes.
>
> libstdc++-v3/ChangeLog:
>
>         * src/c++11/Makefile.am: Add prerequisites for targets that
>         depend on string-inst.cc.
>         * src/c++11/Makefile.in: Regenerate.
> ---
>
> We could make a lot of other changes like this, but for now I'm only
> bothered by the one that affected me recently. We could also make .o
> files depend on the headers they use, but that's a lot more work.
>
> I've been using this in my local tree for a couple of weeks without
> issues.
>
LGTM.

>
>  libstdc++-v3/src/c++11/Makefile.am | 8 ++++++++
>  libstdc++-v3/src/c++11/Makefile.in | 8 ++++++++
>  2 files changed, 16 insertions(+)
>
> diff --git a/libstdc++-v3/src/c++11/Makefile.am
> b/libstdc++-v3/src/c++11/Makefile.am
> index b39115832e2..26d6fa0e01a 100644
> --- a/libstdc++-v3/src/c++11/Makefile.am
> +++ b/libstdc++-v3/src/c++11/Makefile.am
> @@ -168,7 +168,15 @@ localename.lo: localename.cc
>  localename.o: localename.cc
>         $(CXXCOMPILE) -fchar8_t -c $<
>
> +wstring-inst.lo: wstring-inst.cc string-inst.cc
> +wstring-inst.o: wstring-inst.cc string-inst.cc
> +
>  if ENABLE_DUAL_ABI
> +cow-string-inst.lo: cow-string-inst.cc string-inst.cc
> +cow-string-inst.o: cow-string-inst.cc string-inst.cc
> +cow-wstring-inst.lo: cow-wstring-inst.cc string-inst.cc
> +cow-wstring-inst.o: cow-wstring-inst.cc string-inst.cc
> +
>  # Rewrite the type info for __ios_failure.
>  rewrite_ios_failure_typeinfo = sed -e
> '/^_*_ZTISt13__ios_failure:/,/_ZTVN10__cxxabiv120__si_class_type_infoE/s/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/'
>
> diff --git a/libstdc++-v3/src/c++11/Makefile.in
> b/libstdc++-v3/src/c++11/Makefile.in
> index 770e948a98a..dafdb260ec1 100644
> --- a/libstdc++-v3/src/c++11/Makefile.in
> +++ b/libstdc++-v3/src/c++11/Makefile.in
> @@ -896,6 +896,14 @@ localename.lo: localename.cc
>  localename.o: localename.cc
>         $(CXXCOMPILE) -fchar8_t -c $<
>
> +wstring-inst.lo: wstring-inst.cc string-inst.cc
> +wstring-inst.o: wstring-inst.cc string-inst.cc
> +
> +@enable_dual_abi_t...@cow-string-inst.lo: cow-string-inst.cc
> string-inst.cc
> +@ENABLE_DUAL_ABI_TRUE@cow-string-inst.o: cow-string-inst.cc
> string-inst.cc
> +@enable_dual_abi_t...@cow-wstring-inst.lo: cow-wstring-inst.cc
> string-inst.cc
> +@ENABLE_DUAL_ABI_TRUE@cow-wstring-inst.o: cow-wstring-inst.cc
> string-inst.cc
> +
>  @ENABLE_DUAL_ABI_TRUE@cxx11-ios_failure-lt.s: cxx11-ios_failure.cc
>  @ENABLE_DUAL_ABI_TRUE@ $(LTCXXCOMPILE) -gno-as-loc-support -S $< -o
> tmp-cxx11-ios_failure-lt.s
>  @ENABLE_DUAL_ABI_TRUE@ -test -f tmp-cxx11-ios_failure-lt.o && mv -f
> tmp-cxx11-ios_failure-lt.o tmp-cxx11-ios_failure-lt.s
> --
> 2.49.0
>
>

Reply via email to