mirror of
https://github.com/github/codeql.git
synced 2026-05-02 04:05:14 +02:00
C++: Force LF for .c,.cpp,.h,.hpp
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
#include "test.c++"
|
||||
#include "test.hpp"
|
||||
#include "test.c++"
|
||||
#include "test.hpp"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "test"
|
||||
#include "test.abc"
|
||||
#include "test.H"
|
||||
#include "test'.h"
|
||||
#include "test"
|
||||
#include "test.abc"
|
||||
#include "test.H"
|
||||
#include "test'.h"
|
||||
|
||||
@@ -1,160 +1,160 @@
|
||||
// bad: gratuitous default constructor
|
||||
class Bad
|
||||
{
|
||||
private:
|
||||
int key;
|
||||
int value;
|
||||
public:
|
||||
Bad();
|
||||
Bad(int);
|
||||
Bad(int, int);
|
||||
int cmp(const Bad& that);
|
||||
};
|
||||
|
||||
Bad::Bad() : key(-1) // non-compliant
|
||||
{
|
||||
}
|
||||
|
||||
Bad::Bad(int k) : key(k) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Bad::Bad(int k, int v) // compliant
|
||||
{
|
||||
key = k;
|
||||
value = v;
|
||||
}
|
||||
|
||||
int Bad::cmp(const Bad& that)
|
||||
{
|
||||
if(this->key == -1)
|
||||
return 1;
|
||||
if(that.key == -1)
|
||||
return -1;
|
||||
return this->key - that.key;
|
||||
}
|
||||
|
||||
// good: default constructor is necessary because we allocate an array of Good
|
||||
class Good
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
Good();
|
||||
Good(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
Good::Good() : cp(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Good::Good(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char Good::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
Good *gd = new Good[16];
|
||||
|
||||
// good: default constructor is necessary because we instantiate a template with AlsoGood
|
||||
class AlsoGood
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
AlsoGood();
|
||||
AlsoGood(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
AlsoGood::AlsoGood() // compliant [FALSE POSITIVE]
|
||||
{
|
||||
cp = 0;
|
||||
}
|
||||
|
||||
AlsoGood::AlsoGood(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char AlsoGood::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
template<class T> class Container {
|
||||
private:
|
||||
T *data;
|
||||
public:
|
||||
Container();
|
||||
};
|
||||
|
||||
template<class T> Container<T>::Container()
|
||||
{
|
||||
data = new T();
|
||||
}
|
||||
|
||||
Container<AlsoGood> *foo;
|
||||
|
||||
// good: default constructor is convenient since StillGood is a virtual base class
|
||||
class StillGood
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
StillGood();
|
||||
StillGood(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
StillGood::StillGood() : cp(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
StillGood::StillGood(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char StillGood::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
class Child : public virtual StillGood
|
||||
{
|
||||
};
|
||||
|
||||
double sqrt(double d);
|
||||
|
||||
// good: members have sensible default values
|
||||
class Coord
|
||||
{
|
||||
private:
|
||||
double x, y;
|
||||
public:
|
||||
Coord();
|
||||
Coord(double, double);
|
||||
double dist();
|
||||
};
|
||||
|
||||
Coord::Coord() : x(0), y(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Coord::Coord(double x, double y) : x(x), y(y)
|
||||
{
|
||||
}
|
||||
|
||||
double Coord::dist()
|
||||
{
|
||||
return sqrt(x*x+y*y);
|
||||
}
|
||||
// bad: gratuitous default constructor
|
||||
class Bad
|
||||
{
|
||||
private:
|
||||
int key;
|
||||
int value;
|
||||
public:
|
||||
Bad();
|
||||
Bad(int);
|
||||
Bad(int, int);
|
||||
int cmp(const Bad& that);
|
||||
};
|
||||
|
||||
Bad::Bad() : key(-1) // non-compliant
|
||||
{
|
||||
}
|
||||
|
||||
Bad::Bad(int k) : key(k) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Bad::Bad(int k, int v) // compliant
|
||||
{
|
||||
key = k;
|
||||
value = v;
|
||||
}
|
||||
|
||||
int Bad::cmp(const Bad& that)
|
||||
{
|
||||
if(this->key == -1)
|
||||
return 1;
|
||||
if(that.key == -1)
|
||||
return -1;
|
||||
return this->key - that.key;
|
||||
}
|
||||
|
||||
// good: default constructor is necessary because we allocate an array of Good
|
||||
class Good
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
Good();
|
||||
Good(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
Good::Good() : cp(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Good::Good(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char Good::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
Good *gd = new Good[16];
|
||||
|
||||
// good: default constructor is necessary because we instantiate a template with AlsoGood
|
||||
class AlsoGood
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
AlsoGood();
|
||||
AlsoGood(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
AlsoGood::AlsoGood() // compliant [FALSE POSITIVE]
|
||||
{
|
||||
cp = 0;
|
||||
}
|
||||
|
||||
AlsoGood::AlsoGood(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char AlsoGood::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
template<class T> class Container {
|
||||
private:
|
||||
T *data;
|
||||
public:
|
||||
Container();
|
||||
};
|
||||
|
||||
template<class T> Container<T>::Container()
|
||||
{
|
||||
data = new T();
|
||||
}
|
||||
|
||||
Container<AlsoGood> *foo;
|
||||
|
||||
// good: default constructor is convenient since StillGood is a virtual base class
|
||||
class StillGood
|
||||
{
|
||||
private:
|
||||
char *cp;
|
||||
public:
|
||||
StillGood();
|
||||
StillGood(char *const cpp);
|
||||
char getChar();
|
||||
};
|
||||
|
||||
StillGood::StillGood() : cp(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
StillGood::StillGood(char *const cpp) : cp(cpp)
|
||||
{
|
||||
}
|
||||
|
||||
char StillGood::getChar()
|
||||
{
|
||||
if(cp == 0)
|
||||
return '\0';
|
||||
return *cp;
|
||||
}
|
||||
|
||||
class Child : public virtual StillGood
|
||||
{
|
||||
};
|
||||
|
||||
double sqrt(double d);
|
||||
|
||||
// good: members have sensible default values
|
||||
class Coord
|
||||
{
|
||||
private:
|
||||
double x, y;
|
||||
public:
|
||||
Coord();
|
||||
Coord(double, double);
|
||||
double dist();
|
||||
};
|
||||
|
||||
Coord::Coord() : x(0), y(0) // compliant
|
||||
{
|
||||
}
|
||||
|
||||
Coord::Coord(double x, double y) : x(x), y(y)
|
||||
{
|
||||
}
|
||||
|
||||
double Coord::dist()
|
||||
{
|
||||
return sqrt(x*x+y*y);
|
||||
}
|
||||
|
||||
@@ -1,108 +1,108 @@
|
||||
struct HasDtor
|
||||
{
|
||||
~HasDtor();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_NoDtor
|
||||
{
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_VirtualDtor
|
||||
{
|
||||
virtual ~Base_NonVirtual_VirtualDtor();
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_NonVirtualDtor
|
||||
{
|
||||
~Base_NonVirtual_NonVirtualDtor();
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_ImplicitDtor
|
||||
{
|
||||
HasDtor m_hasDtor;
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_NoDtor : public Base_NonVirtual_NoDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_VirtualDtor : public Base_NonVirtual_VirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_NonVirtualDtor : public Base_NonVirtual_NonVirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_ImplicitDtor : public Base_NonVirtual_ImplicitDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Base_Virtual_NoDtor
|
||||
{
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_VirtualDtor
|
||||
{
|
||||
virtual ~Base_Virtual_VirtualDtor();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_NonVirtualDtor
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtor();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_ImplicitDtor
|
||||
{
|
||||
HasDtor m_hasDtor;
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_NonVirtualDtorWithDefinition
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtorWithDefinition();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
Base_Virtual_NonVirtualDtorWithDefinition::~Base_Virtual_NonVirtualDtorWithDefinition()
|
||||
{
|
||||
}
|
||||
|
||||
struct Base_Virtual_NonVirtualDtorWithInlineDefinition
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtorWithInlineDefinition()
|
||||
{
|
||||
}
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NoDtor : public Base_Virtual_NoDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_VirtualDtor : public Base_Virtual_VirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtor : public Base_Virtual_NonVirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_ImplicitDtor : public Base_Virtual_ImplicitDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtorWithDefinition: public Base_Virtual_NonVirtualDtorWithDefinition
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtorWithInlineDefinition: public Base_Virtual_NonVirtualDtorWithInlineDefinition
|
||||
{
|
||||
};
|
||||
struct HasDtor
|
||||
{
|
||||
~HasDtor();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_NoDtor
|
||||
{
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_VirtualDtor
|
||||
{
|
||||
virtual ~Base_NonVirtual_VirtualDtor();
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_NonVirtualDtor
|
||||
{
|
||||
~Base_NonVirtual_NonVirtualDtor();
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_NonVirtual_ImplicitDtor
|
||||
{
|
||||
HasDtor m_hasDtor;
|
||||
void NonVirtualFunction();
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_NoDtor : public Base_NonVirtual_NoDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_VirtualDtor : public Base_NonVirtual_VirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_NonVirtualDtor : public Base_NonVirtual_NonVirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_NonVirtual_ImplicitDtor : public Base_NonVirtual_ImplicitDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Base_Virtual_NoDtor
|
||||
{
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_VirtualDtor
|
||||
{
|
||||
virtual ~Base_Virtual_VirtualDtor();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_NonVirtualDtor
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtor();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_ImplicitDtor
|
||||
{
|
||||
HasDtor m_hasDtor;
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Base_Virtual_NonVirtualDtorWithDefinition
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtorWithDefinition();
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
Base_Virtual_NonVirtualDtorWithDefinition::~Base_Virtual_NonVirtualDtorWithDefinition()
|
||||
{
|
||||
}
|
||||
|
||||
struct Base_Virtual_NonVirtualDtorWithInlineDefinition
|
||||
{
|
||||
~Base_Virtual_NonVirtualDtorWithInlineDefinition()
|
||||
{
|
||||
}
|
||||
virtual void VirtualFunction();
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NoDtor : public Base_Virtual_NoDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_VirtualDtor : public Base_Virtual_VirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtor : public Base_Virtual_NonVirtualDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_ImplicitDtor : public Base_Virtual_ImplicitDtor
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtorWithDefinition: public Base_Virtual_NonVirtualDtorWithDefinition
|
||||
{
|
||||
};
|
||||
|
||||
struct Derived_Virtual_NonVirtualDtorWithInlineDefinition: public Base_Virtual_NonVirtualDtorWithInlineDefinition
|
||||
{
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user