https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103827

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I see, I misread Jonathan's answer.  If const is relevant only on definition,
what about this one:

#include <cstdio>
struct foo
{
  int a;
  void bar() const;
  ~foo()
  {
    if (a != 42)
      printf ("optimize me away");
  }
};
__attribute__ ((noinline))
void test(const struct foo a)
{
        a.bar();
}
int main()
{
        test({42});
        return 0;
}

Here we assume that call to bar may modify the object (since const is
irrelevant) but it is declared const inside test definition, which may be
relevant?

Reply via email to