erichkeane wrote: > Hi @sdkrystian - this appears to break in a circumstance where a custom > iterator class defines the postfix operator: > > ``` > FAILED: host_x64/obj/src/lib/zbitl/tests/zbitl-unittests.mem-config-test.cc.o > ../../prebuilt/third_party/clang/custom/bin/clang++ -MD -MF > host_x64/obj/src/lib/zbitl/tests/zbitl-unittests.mem-config-test.cc.o.d > -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS > -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES > -DRAPIDJSON_HAS_STDSTRING -DRAPIDJSON_HAS_CXX11_RANGE_FOR > -DRAPIDJSON_HAS_CXX11_RVALUE_REFS -DRAPIDJSON_HAS_CXX11_TYPETRAITS > -DRAPIDJSON_HAS_CXX11_N... > In file included from ../../src/lib/zbitl/tests/mem-config-test.cc:6: > ../../src/lib/zbitl/include/lib/zbitl/items/mem-config.h:61:7: error: > expression is not assignable > 61 | ++this; > | ^ ~~~~ > 1 error generated. > ``` > > I went ahead and attached a reproducer. Could you please revert this change > and investigate? > > [clang-crashreports.tar.gz](https://github.com/llvm/llvm-project/files/15337912/clang-crashreports.tar.gz)
If the iterator is trying to call its own increment operator, that probably should be `++*this`. At the moment it is trying to do something that I'd be shocked if it isn't UB, which is incrementing 'this' itself, which is a pointer. https://github.com/llvm/llvm-project/pull/92283 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits