| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
In certain combinations of templated classes and friend functions, the body
of friend functions does not get propagated along with function signature.
Exclude friend functions for hashing to avoid this case.
llvm-svn: 322350
|
| |
|
|
|
|
|
| |
Turn off hashing for class methods, but leave it on for other functions. This
should get the buildbot to green for the time being.
llvm-svn: 321396
|
| |
|
|
|
|
|
| |
Extend the hashing to functions, which allows detection of function definition
mismatches across modules. This is a re-commit of r320230.
llvm-svn: 321395
|
| |
|
|
|
|
|
| |
Canonicalizing the Decl before processing it as part of the hash should reduce
issues with non-canonical types showing up as mismatches.
llvm-svn: 321319
|
| |
|
|
| |
llvm-svn: 320239
|
| |
|
|
|
|
|
| |
Extend the hashing to functions, which allows detection of function definition
mismatches across modules.
llvm-svn: 320230
|
| |
|
|
| |
llvm-svn: 314581
|
| |
|
|
| |
llvm-svn: 311519
|
| |
|
|
| |
llvm-svn: 311286
|
| |
|
|
|
|
|
|
|
|
| |
When using nested classes, if the inner class is not templated, but the outer
class is templated, the inner class will not be templated, but may have some
traits as if it were. This is particularly evident if the inner class
refers to the outer class in some fashion. Treat any class that is in the
context of a templated class as also a templated class.
llvm-svn: 310158
|
| |
|
|
|
|
|
| |
Reapply r307720 to allow processing of constructors and destructors. Reuse
the diagnostics for CXXMethodDecl for them.
llvm-svn: 308077
|
| |
|
|
|
|
|
|
| |
FunctionDecl already hashes most of the information in the function's type.
Add hashing of the return type, and skip hashing the function's type to avoid
redundancy and extra work when computing the hash.
llvm-svn: 307986
|
| |
|
|
| |
llvm-svn: 307743
|
| |
|
|
|
|
|
| |
Hash CXXConstructorDecl and CXXDestructorDecl. Extend the diagnostics from
CXXMethodDecl to include constructors and destructors.
llvm-svn: 307720
|
| |
|
|
| |
llvm-svn: 307458
|
| |
|
|
|
|
| |
Test inline namespaces and handle them in the ODR hash again.
llvm-svn: 306926
|
| |
|
|
| |
llvm-svn: 306904
|
| |
|
|
|
|
|
| |
Follow typedef chains to find the root type when processing types, and also
keep track of qualifiers.
llvm-svn: 306753
|
| |
|
|
|
|
|
| |
These VarDecl's are static data members of classes. Since the initializers are
also hashed, this also provides checking for default arguments to methods.
llvm-svn: 305543
|
| |
|
|
| |
llvm-svn: 305440
|
| |
|
|
| |
llvm-svn: 305362
|
| |
|
|
| |
llvm-svn: 305361
|
| |
|
|
| |
llvm-svn: 305360
|
| |
|
|
| |
llvm-svn: 305328
|
| |
|
|
| |
llvm-svn: 305130
|
| |
|
|
|
|
|
| |
Recommit r304592 that was reverted in r304618. r305104 should have fixed the
issue.
llvm-svn: 305110
|
| |
|
|
|
|
|
| |
Speculatively try to fix the underlying issue from r304592, of underlying types
being confused when inline namespaces are used.
llvm-svn: 305104
|
| |
|
|
|
|
|
| |
r304592 - [ODRHash] Add support for TemplateArgument types.
Possibly causing one of the errors in modules build bot.
llvm-svn: 304618
|
| |
|
|
| |
llvm-svn: 304592
|
| |
|
|
| |
llvm-svn: 304261
|
| |
|
|
|
|
|
| |
r303450
[ODRHash] Support TemplateName and TemplateArgument
llvm-svn: 303459
|
| |
|
|
| |
llvm-svn: 303450
|
| |
|
|
| |
llvm-svn: 303233
|
| |
|
|
|
|
| |
Added support for TagType, TypeWithKeyword, and all children types.
llvm-svn: 303231
|
| |
|
|
|
|
|
| |
When a type in a class is from a typedef, only check the canonical type. Skip
checking the intermediate underlying types. This is in response to PR 32965
llvm-svn: 302505
|
| |
|
|
|
|
| |
types.
llvm-svn: 301989
|
| |
|
|
|
|
| |
It caused PR32640.
llvm-svn: 300074
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
r299989 fixes the underlying issue by waiting long enough to late parsed
arguments to be processed before doing an calculating the hash.
r298742
[ODRHash] Add error messages for mismatched parameters in methods.
r298754
[ODRHash] Add support for array and decayed types.
llvm-svn: 300001
|
| |
|
|
|
|
|
|
| |
methods."
I failed to revert this in r298816.
llvm-svn: 298824
|
| |
|
|
|
|
| |
They broke llvm modules builds and our internal modules infrastructure.
llvm-svn: 298816
|
| |
|
|
| |
llvm-svn: 298754
|
| |
|
|
| |
llvm-svn: 298742
|
| |
|
|
| |
llvm-svn: 297246
|
| |
|
|
|
|
|
|
| |
Now print diagnostics for static, virtual, inline, volatile, and const
differences in methods. Also use DeclarationName instead of IdentifierInfo
for additional robustness in diagnostic printing.
llvm-svn: 296932
|
| |
|
|
| |
llvm-svn: 296521
|
| |
|
|
| |
llvm-svn: 296221
|
| |
|
|
|
|
| |
https://reviews.llvm.org/rL296170
llvm-svn: 296198
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D21675
llvm-svn: 296170
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D21675
llvm-svn: 296078
|
| |
|
|
|
|
|
|
|
|
| |
Fields will now have their types added to the hash, allowing for detection of
mismatched field types. This detection allows the existing ODR checking to
produce the correct message.
Differential Revision: https://reviews.llvm.org/D21675
llvm-svn: 295931
|