This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug sanitizer/78208] New: Compile-time hog with -fsanitize=null with operator overloading


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

            Bug ID: 78208
           Summary: Compile-time hog with -fsanitize=null with operator
                    overloading
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
  Target Milestone: ---

// { dg-do compile }
// { dg-options "-fsanitize=null" }

class S
{
  virtual void foo () = 0;
};

struct T {
  T &operator << (const char *s);
};

T t;

void
S::foo ()
{
  t << "a" << "b" << "c" << "d" << "e" << "f" << "g" << "h" << "i"
    << "j" << "k" << "l" << "m" << "n" << "o" << "p" << "q" << "r"
    << "s" << "t" << "u" << "v" << "w" << "z";
}

generates insane amount of expressions in quadratic fashion.  I think we
shouldn't instrument CALL_EXPR_OPERATOR_SYNTAX.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]