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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |trippels at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Runtime example, e.g.:

#include <new>
long foo(char *c1, char *c2) {
  long *p1 = new (c1) long;
  *p1 = 100;
  long long *p2 = new (c2) long long;
  *p2 = 200;
  long *p3 = new (c2) long;
  *p3 = 200;
  return *p1;
}
int main() {
  char c[128];
  if (foo(c, c) == 100)
    __builtin_abort();
}

gcc hits the abort with -O2, all other compilers (clang, icc, visual c++) not.

Reply via email to