TCustomAttribute descendants cannot be used
## Summary
TCustomAttribute descendants
```pascal
WeakAttribute = class(TCustomAttribute);
UnsafeAttribute = class(TCustomAttribute);
RefAttribute = class(TCustomAttribute);
VolatileAttribute = class(TCustomAttribute);
```
cannot be used in code because compiler complains reports an error:
```
Error: Wrong number of parameters specified for call to "Create"
objpas.inc(1306,34) Error: Found declaration: constructor Create;
```
## System Information
- **Operating system:** Windows
- **Processor architecture:** x86-64
- **Compiler version:** trunk
- **Device:** Computer
## Steps to reproduce
```pascal
type
TC1 = class
private
[unsafe] FObj1: TObject;
end;
```
## What is the current bug behavior?
Compile error.
## What is the expected (correct) behavior?
No compile error.
## Possible fixes
Either remove private constructor from TCustomAttribute or create public parameter-less constructor for descendants that do not need special constructors.
Eg.
```pascal
TSimpleCustomAttribute = class(TCustomAttribute)
public
constructor Create;
end;
WeakAttribute = class(TSimpleCustomAttribute);
UnsafeAttribute = class(TSimpleCustomAttribute);
RefAttribute = class(TSimpleCustomAttribute);
VolatileAttribute = class(TSimpleCustomAttribute);
```
issue