r339017 - [AST] Move the enum in ObjCMethodDeclBitfields

2018-08-06 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Aug 6 07:33:45 2018 New Revision: 339017 URL: http://llvm.org/viewvc/llvm-project?rev=339017&view=rev Log: [AST] Move the enum in ObjCMethodDeclBitfields Move the enum { ObjCMethodFamilyBitWidth = 4 } to the top of the class. For some dark reason having the enum betw

r339024 - [AST] Add individual size info for Types in -print-stats

2018-08-06 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Aug 6 08:17:32 2018 New Revision: 339024 URL: http://llvm.org/viewvc/llvm-project?rev=339024&view=rev Log: [AST] Add individual size info for Types in -print-stats This mirrors what is done for Decls and Stmts in the -print-stats output, ie instead of printing "57426

r339030 - [AST] Remove unnecessary indirections in DeclarationNameTable

2018-08-06 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Aug 6 09:47:31 2018 New Revision: 339030 URL: http://llvm.org/viewvc/llvm-project?rev=339030&view=rev Log: [AST] Remove unnecessary indirections in DeclarationNameTable DeclarationNameTable currently hold 3 "void *" to FoldingSet, FoldingSet and FoldingSet. CXXSpeci

r339132 - [AST][NFC] Use unsigned in the bit-fields of PrintingPolicy

2018-08-07 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Aug 7 05:23:41 2018 New Revision: 339132 URL: http://llvm.org/viewvc/llvm-project?rev=339132&view=rev Log: [AST][NFC] Use unsigned in the bit-fields of PrintingPolicy Avoid the mix between bools and unsigned since MSVC pack this poorly. Modified: cfe/trunk/incl

r339134 - [AST][NFC] Use unsigned in the bit-fields of IdentifierInfo

2018-08-07 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Aug 7 05:40:41 2018 New Revision: 339134 URL: http://llvm.org/viewvc/llvm-project?rev=339134&view=rev Log: [AST][NFC] Use unsigned in the bit-fields of IdentifierInfo Avoid mixing bool and unsigned in the bit-fields of IdentifierInfo since MSVC packs this poorly. Als

r339423 - Fix a wrong type bug in ParsedAttr::TypeTagForDatatypeData

2018-08-10 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Aug 10 04:20:20 2018 New Revision: 339423 URL: http://llvm.org/viewvc/llvm-project?rev=339423&view=rev Log: Fix a wrong type bug in ParsedAttr::TypeTagForDatatypeData This patch fixes a wrong type bug inside ParsedAttr::TypeTagForDatatypeData. The details to the best

r339582 - [AST] Update/correct the static_asserts for the bit-fields in Type

2018-08-13 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Aug 13 09:40:57 2018 New Revision: 339582 URL: http://llvm.org/viewvc/llvm-project?rev=339582&view=rev Log: [AST] Update/correct the static_asserts for the bit-fields in Type The current static_assert only checks that ObjCObjectTypeBitfields fits into an unsigned. How

r339787 - [AST] Pack the bits of TemplateSpecializationType into Type

2018-08-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Wed Aug 15 09:21:17 2018 New Revision: 339787 URL: http://llvm.org/viewvc/llvm-project?rev=339787&view=rev Log: [AST] Pack the bits of TemplateSpecializationType into Type Type has enough space for two members of TemplateSpecializationType. Mechanical patch. Reviewed By:

r339789 - [AST] Pack the unsigned of PackExpansionType into Type

2018-08-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Wed Aug 15 09:28:58 2018 New Revision: 339789 URL: http://llvm.org/viewvc/llvm-project?rev=339789&view=rev Log: [AST] Pack the unsigned of PackExpansionType into Type The bit-fields of `Type` have enough space for the `unsigned NumExpansions` of `PackExpansionType` Revie

r339860 - [AST] Pack the unsigned of DependentTemplateSpecializationType into Type

2018-08-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Aug 16 03:28:18 2018 New Revision: 339860 URL: http://llvm.org/viewvc/llvm-project?rev=339860&view=rev Log: [AST] Pack the unsigned of DependentTemplateSpecializationType into Type The bit-fields of `Type` have enough space for the member `unsigned NumArgs` of `Depend

r339861 - [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Aug 16 03:33:36 2018 New Revision: 339861 URL: http://llvm.org/viewvc/llvm-project?rev=339861&view=rev Log: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type The bit-fields of Type have enough space for the member unsigned NumArgs of SubstTemplateType

r339862 - [AST] Store the OwnedTagDecl as a trailing object in ElaboratedType.

2018-08-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Aug 16 03:48:16 2018 New Revision: 339862 URL: http://llvm.org/viewvc/llvm-project?rev=339862&view=rev Log: [AST] Store the OwnedTagDecl as a trailing object in ElaboratedType. The TagDecl *OwnedTagDecl in ElaboratedType is quite commonly null (at least when parsing a

r338887 - [AST][NFC] Small doc update for DeclContext

2018-08-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Aug 3 06:31:20 2018 New Revision: 338887 URL: http://llvm.org/viewvc/llvm-project?rev=338887&view=rev Log: [AST][NFC] Small doc update for DeclContext Factored out from https://reviews.llvm.org/D49729 following @erichkeane comments. * Add missing classes in the list

r338885 - Test commit

2018-08-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Aug 3 06:13:05 2018 New Revision: 338885 URL: http://llvm.org/viewvc/llvm-project?rev=338885&view=rev Log: Test commit Modified: cfe/trunk/lib/AST/DeclBase.cpp Modified: cfe/trunk/lib/AST/DeclBase.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/D

r338888 - [AST][NFC] Add missing doc for ObjCMethodDecl and ObjCContainerDecl

2018-08-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Aug 3 06:47:12 2018 New Revision: 33 URL: http://llvm.org/viewvc/llvm-project?rev=33&view=rev Log: [AST][NFC] Add missing doc for ObjCMethodDecl and ObjCContainerDecl Add a comment in ObjCMethodDecl and ObjCContainerDecl stating that we store some bits in Obj

r338966 - [AST][NFC] Remove unneeded forward declarations in Type.h

2018-08-05 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Aug 5 02:48:59 2018 New Revision: 338966 URL: http://llvm.org/viewvc/llvm-project?rev=338966&view=rev Log: [AST][NFC] Remove unneeded forward declarations in Type.h These forward declarations for various classes in the Type hierarchy are not needed since they are all

Re: r338630 - [AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into DeclContext

2018-08-06 Thread Bruno Ricci via cfe-commits
Hello, This is the only occurence of such an enum in a SomethingDeclBitfields introduced by this patch so it probably is the only instance of this bug. I will quickly commit a patch moving the enum above as you suggest. In the future I am not sure this enum will stay since as explained in the com

r345459 - [AST] Widen the bit-fields of Stmt to 8 bytes.

2018-10-27 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Oct 27 11:43:27 2018 New Revision: 345459 URL: http://llvm.org/viewvc/llvm-project?rev=345459&view=rev Log: [AST] Widen the bit-fields of Stmt to 8 bytes. Although some classes are using the tail padding of Stmt, most of them are not. In particular the expression clas

r345460 - [AST] Refactor PredefinedExpr

2018-10-27 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Oct 27 12:21:19 2018 New Revision: 345460 URL: http://llvm.org/viewvc/llvm-project?rev=345460&view=rev Log: [AST] Refactor PredefinedExpr Make the following changes to PredefinedExpr: 1. Move PredefinedExpr below StringLiteral so that it can use its definition. 2. Re

[clang-tools-extra] r345460 - [AST] Refactor PredefinedExpr

2018-10-27 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Oct 27 12:21:19 2018 New Revision: 345460 URL: http://llvm.org/viewvc/llvm-project?rev=345460&view=rev Log: [AST] Refactor PredefinedExpr Make the following changes to PredefinedExpr: 1. Move PredefinedExpr below StringLiteral so that it can use its definition. 2. Re

r345464 - [AST] Only store the needed data in IfStmt

2018-10-27 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Oct 27 14:12:20 2018 New Revision: 345464 URL: http://llvm.org/viewvc/llvm-project?rev=345464&view=rev Log: [AST] Only store the needed data in IfStmt Only store the needed data in IfStmt. This cuts the size of IfStmt by up to 3 pointers + 1 SourceLocation. The order

r345472 - [AST] Don't store data for GNU range case statement if not needed

2018-10-28 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Oct 28 05:30:53 2018 New Revision: 345472 URL: http://llvm.org/viewvc/llvm-project?rev=345472&view=rev Log: [AST] Don't store data for GNU range case statement if not needed Don't store the data for case statements of the form LHS ... RHS if not needed. This cuts the

r345477 - [AST] Fix an use-of-uninitialized bug introduced in CaseStmt

2018-10-28 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Oct 28 07:14:06 2018 New Revision: 345477 URL: http://llvm.org/viewvc/llvm-project?rev=345477&view=rev Log: [AST] Fix an use-of-uninitialized bug introduced in CaseStmt SwitchCaseBits.CaseStmtIsGNURange needs to be initialized first. Modified: cfe/trunk/include/

r345506 - [AST] Check that GNU range case statements are correctly imported.

2018-10-29 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Oct 29 08:04:19 2018 New Revision: 345506 URL: http://llvm.org/viewvc/llvm-project?rev=345506&view=rev Log: [AST] Check that GNU range case statements are correctly imported. The test for case statements did not cover GNU range case statements. Differential Revision:

r345510 - [AST] Only store the needed data in SwitchStmt

2018-10-29 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Oct 29 09:12:37 2018 New Revision: 345510 URL: http://llvm.org/viewvc/llvm-project?rev=345510&view=rev Log: [AST] Only store the needed data in SwitchStmt Don't store the data for the init statement and condition variable if not needed. This cuts the size of SwitchStm

r345597 - [AST] Only store the needed data in WhileStmt

2018-10-30 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Oct 30 06:42:41 2018 New Revision: 345597 URL: http://llvm.org/viewvc/llvm-project?rev=345597&view=rev Log: [AST] Only store the needed data in WhileStmt Don't store the data for the condition variable if not needed. This cuts the size of WhileStmt by up to a pointer.

r345605 - [AST] Only store data for the NRVO candidate in ReturnStmt if needed

2018-10-30 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Oct 30 07:40:49 2018 New Revision: 345605 URL: http://llvm.org/viewvc/llvm-project?rev=345605&view=rev Log: [AST] Only store data for the NRVO candidate in ReturnStmt if needed Only store the NRVO candidate if needed in ReturnStmt. A good chuck of all of the ReturnStm

r352047 - [Sema] Don't crash when recovering from a misspelled pseudo destructor call to an incomplete type.

2019-01-24 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Jan 24 05:52:47 2019 New Revision: 352047 URL: http://llvm.org/viewvc/llvm-project?rev=352047&view=rev Log: [Sema] Don't crash when recovering from a misspelled pseudo destructor call to an incomplete type. When attempting to correct a misspelled pseudo destructor ca

r352275 - [AST][NFC] Various cleanups to GenericSelectionExpr

2019-01-26 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Jan 26 05:58:15 2019 New Revision: 352275 URL: http://llvm.org/viewvc/llvm-project?rev=352275&view=rev Log: [AST][NFC] Various cleanups to GenericSelectionExpr Various cleanups to GenericSelectionExpr factored out of D57104. In particular: 1. Move the friend declarat

r352276 - [AST] Pack GenericSelectionExpr

2019-01-26 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Jan 26 06:15:10 2019 New Revision: 352276 URL: http://llvm.org/viewvc/llvm-project?rev=352276&view=rev Log: [AST] Pack GenericSelectionExpr Store the controlling expression, the association expressions and the corresponding TypeSourceInfos as trailing objects. Additi

r352369 - [AST] Introduce GenericSelectionExpr::Association

2019-01-28 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Jan 28 06:18:11 2019 New Revision: 352369 URL: http://llvm.org/viewvc/llvm-project?rev=352369&view=rev Log: [AST] Introduce GenericSelectionExpr::Association Introduce a new class GenericSelectionExpr::Association which bundle together an association expression and it

r352403 - Revert "[AST] Introduce GenericSelectionExpr::Association"

2019-01-28 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Jan 28 10:40:26 2019 New Revision: 352403 URL: http://llvm.org/viewvc/llvm-project?rev=352403&view=rev Log: Revert "[AST] Introduce GenericSelectionExpr::Association" This breaks GCC 4.8.4. Reported by email by Hans Wennborg. Modified: cfe/trunk/include/clang/AS

r352486 - Re-commit "[AST] Introduce GenericSelectionExpr::Association"

2019-01-29 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Jan 29 04:57:11 2019 New Revision: 352486 URL: http://llvm.org/viewvc/llvm-project?rev=352486&view=rev Log: Re-commit "[AST] Introduce GenericSelectionExpr::Association" This time with a fix to make gcc 4.8 happy. Modified: cfe/trunk/include/clang/AST/Expr.h

r346770 - [AST][NFC] Pack DeclRefExpr

2018-11-13 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 13 09:56:44 2018 New Revision: 346770 URL: http://llvm.org/viewvc/llvm-project?rev=346770&view=rev Log: [AST][NFC] Pack DeclRefExpr Move the SourceLocation to the bit-fields of Stmt + clang-format. This saves one pointer per DeclRefExpr but otherwise NFC. Modifi

r346781 - [AST][NFC] Style fixes for UnaryOperator

2018-11-13 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 13 11:27:39 2018 New Revision: 346781 URL: http://llvm.org/viewvc/llvm-project?rev=346781&view=rev Log: [AST][NFC] Style fixes for UnaryOperator In preparation for the patch which will move some data to the bit-fields of Stmt. In particular, rename the private var

r346793 - [AST][NFC] Order the bit-field classes of Stmt like in StmtNodes.td

2018-11-13 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 13 12:23:11 2018 New Revision: 346793 URL: http://llvm.org/viewvc/llvm-project?rev=346793&view=rev Log: [AST][NFC] Order the bit-field classes of Stmt like in StmtNodes.td Reorder the bit-field classes and the members of the anonymous union so that they both match

r346801 - [AST] Revert r346793 and r346781

2018-11-13 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 13 13:33:22 2018 New Revision: 346801 URL: http://llvm.org/viewvc/llvm-project?rev=346801&view=rev Log: [AST] Revert r346793 and r346781 This somehow breaks the msan bots. Revert while I figure it out. Modified: cfe/trunk/include/clang/AST/Expr.h cfe/tru

r346864 - [AST][NFC] Order the bit-field classes of Stmt like in StmtNodes.td

2018-11-14 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Wed Nov 14 06:19:34 2018 New Revision: 346864 URL: http://llvm.org/viewvc/llvm-project?rev=346864&view=rev Log: [AST][NFC] Order the bit-field classes of Stmt like in StmtNodes.td Reorder the bit-field classes and the members of the anonymous union so that they both match

r346951 - [AST] Pack UnaryOperator

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 05:30:38 2018 New Revision: 346951 URL: http://llvm.org/viewvc/llvm-project?rev=346951&view=rev Log: [AST] Pack UnaryOperator Use the newly available space in the bit-fields of Stmt to store some data from UnaryOperator. This saves 8 bytes per UnaryOperator. D

r346952 - [AST][NFC] Move the friend decls to the top of MemberExpr

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 05:49:32 2018 New Revision: 346952 URL: http://llvm.org/viewvc/llvm-project?rev=346952&view=rev Log: [AST][NFC] Move the friend decls to the top of MemberExpr The norm is to have them at the top, and having them at the bottom is painful for the reader. Modifi

r346953 - [AST] Pack MemberExpr

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 05:56:22 2018 New Revision: 346953 URL: http://llvm.org/viewvc/llvm-project?rev=346953&view=rev Log: [AST] Pack MemberExpr Use the newly available space in the bit-fields of Stmt to store some data from MemberExpr. This saves one pointer per MemberExpr. Differ

r346954 - [AST] Pack BinaryOperator

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 06:12:51 2018 New Revision: 346954 URL: http://llvm.org/viewvc/llvm-project?rev=346954&view=rev Log: [AST] Pack BinaryOperator Use the newly available space in the bit-fields of Stmt. This saves 8 bytes per BinaryOperator. Differential Revision: https://review

r346957 - [AST][NFC] Re-add comment in BinaryOperator which was removed by r346954

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 06:30:18 2018 New Revision: 346957 URL: http://llvm.org/viewvc/llvm-project?rev=346957&view=rev Log: [AST][NFC] Re-add comment in BinaryOperator which was removed by r346954 Modified: cfe/trunk/include/clang/AST/Stmt.h Modified: cfe/trunk/include/clang/AS

r346967 - [AST][NFC] Various NFCs in StringLiteral

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 08:42:14 2018 New Revision: 346967 URL: http://llvm.org/viewvc/llvm-project?rev=346967&view=rev Log: [AST][NFC] Various NFCs in StringLiteral Factored out of D54166 ([AST] Store the string data in StringLiteral in a trailing array of chars): * For-range loops

r346969 - [AST] Store the string data in StringLiteral in a trailing array of chars

2018-11-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Nov 15 09:31:16 2018 New Revision: 346969 URL: http://llvm.org/viewvc/llvm-project?rev=346969&view=rev Log: [AST] Store the string data in StringLiteral in a trailing array of chars Use the newly available space in the bit-fields of Stmt and store the string data in a

r347062 - [AST][NFC] Pack CXXBoolLiteralExpr

2018-11-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Nov 16 08:54:17 2018 New Revision: 347062 URL: http://llvm.org/viewvc/llvm-project?rev=347062&view=rev Log: [AST][NFC] Pack CXXBoolLiteralExpr Use the newly available space in Stmt. This saves 8 bytes per CXXBoolLiteralExpr. Modified: cfe/trunk/include/clang/AST

r347063 - [AST][NFC] Pack CXXNullPtrLiteralExpr

2018-11-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Nov 16 08:56:49 2018 New Revision: 347063 URL: http://llvm.org/viewvc/llvm-project?rev=347063&view=rev Log: [AST][NFC] Pack CXXNullPtrLiteralExpr Use the newly available space in the bit-fields of Stmt. This saves one pointer per CXXNullPtrLiteralExpr. Modified:

r347064 - [AST][NFC] Pack CXXThisExpr

2018-11-16 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Nov 16 09:38:35 2018 New Revision: 347064 URL: http://llvm.org/viewvc/llvm-project?rev=347064&view=rev Log: [AST][NFC] Pack CXXThisExpr Use the newly available space in the bit-fields of Stmt. This saves 8 bytes per CXXThisExpr. Modified: cfe/trunk/include/clang

r347136 - [AST][NFC] Pack CXXThrowExpr

2018-11-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Nov 17 04:53:56 2018 New Revision: 347136 URL: http://llvm.org/viewvc/llvm-project?rev=347136&view=rev Log: [AST][NFC] Pack CXXThrowExpr Use the newly available space in the bit-fields of Stmt. This saves 8 bytes per CXXThrowExpr. Modified: cfe/trunk/include/cla

r347137 - [AST][NFC] Pack CXXDefaultArgExpr

2018-11-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Nov 17 04:56:30 2018 New Revision: 347137 URL: http://llvm.org/viewvc/llvm-project?rev=347137&view=rev Log: [AST][NFC] Pack CXXDefaultArgExpr Use the newly available space in the bit-fields of Stmt. This saves one pointer per CXXDefaultArgExpr. Modified: cfe/tru

r347138 - [AST][NFC] Pack CXXDefaultInitExpr

2018-11-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Nov 17 05:02:47 2018 New Revision: 347138 URL: http://llvm.org/viewvc/llvm-project?rev=347138&view=rev Log: [AST][NFC] Pack CXXDefaultInitExpr Use the newly available space in the bit-fields of Stmt. This saves one pointer per CXXDefaultInitExpr. Modified: cfe/t

r347317 - [AST][NFC] Pack ArraySubscriptExpr

2018-11-20 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 20 08:03:33 2018 New Revision: 347317 URL: http://llvm.org/viewvc/llvm-project?rev=347317&view=rev Log: [AST][NFC] Pack ArraySubscriptExpr Use the newly available space in the bit-fields of Stmt. This saves one pointer per ArraySubscriptExpr. Modified: cfe/t

r347319 - [AST][NFC] Factor out some repeated code in ArraySubscriptExpr.

2018-11-20 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 20 08:09:45 2018 New Revision: 347319 URL: http://llvm.org/viewvc/llvm-project?rev=347319&view=rev Log: [AST][NFC] Factor out some repeated code in ArraySubscriptExpr. Factor out the test for whether the LHS is the base of the array subscript expression into a pri

r347320 - [AST] Store the expressions in ParenListExpr in a trailing array

2018-11-20 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Nov 20 08:20:40 2018 New Revision: 347320 URL: http://llvm.org/viewvc/llvm-project?rev=347320&view=rev Log: [AST] Store the expressions in ParenListExpr in a trailing array Use the newly available space in the bit-fields of Stmt and store the expressions in a trailing

r348128 - [AST][NFC] Pack CXXDeleteExpr

2018-12-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Dec 3 04:32:32 2018 New Revision: 348128 URL: http://llvm.org/viewvc/llvm-project?rev=348128&view=rev Log: [AST][NFC] Pack CXXDeleteExpr Use the newly available space in the bit-fields of Stmt. This saves 8 bytes per CXXDeleteExpr. NFC. Modified: cfe/trunk/incl

r348131 - [AST] Fix an uninitialized bug in the bits of FunctionDecl

2018-12-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Dec 3 05:04:10 2018 New Revision: 348131 URL: http://llvm.org/viewvc/llvm-project?rev=348131&view=rev Log: [AST] Fix an uninitialized bug in the bits of FunctionDecl FunctionDeclBits.IsCopyDeductionCandidate was not initialized. This caused a warning with valgrind.

r348134 - [Sema] Avoid CallExpr::setNumArgs in Sema::BuildCallToObjectOfClassType

2018-12-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Dec 3 05:23:56 2018 New Revision: 348134 URL: http://llvm.org/viewvc/llvm-project?rev=348134&view=rev Log: [Sema] Avoid CallExpr::setNumArgs in Sema::BuildCallToObjectOfClassType CallExpr::setNumArgs is the only thing that prevents storing the arguments of a call exp

r348145 - [AST][Sema] Remove CallExpr::setNumArgs

2018-12-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Dec 3 06:54:03 2018 New Revision: 348145 URL: http://llvm.org/viewvc/llvm-project?rev=348145&view=rev Log: [AST][Sema] Remove CallExpr::setNumArgs CallExpr::setNumArgs is the only thing that prevents storing the arguments in a trailing array. There is only 3 places i

r348150 - [Serialization][NFC] Remove pointless "+ 0" in ASTReader

2018-12-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Dec 3 08:17:45 2018 New Revision: 348150 URL: http://llvm.org/viewvc/llvm-project?rev=348150&view=rev Log: [Serialization][NFC] Remove pointless "+ 0" in ASTReader Remove the pointless "+ 0" which I added for some reason when modifying these statement/expression clas

Re: r348131 - [AST] Fix an uninitialized bug in the bits of FunctionDecl

2018-12-04 Thread Bruno Ricci via cfe-commits
c 3, 2018 at 5:06 AM Bruno Ricci via cfe-commits > mailto:cfe-commits@lists.llvm.org>> wrote: > > Author: brunoricci > Date: Mon Dec  3 05:04:10 2018 > New Revision: 348131 > > URL: http://llvm.org/viewvc/llvm-project?rev=348131&view=rev > L

r348276 - [AST][NFC] Make ArrayTypeTraitExpr non polymorphic

2018-12-04 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Dec 4 08:01:24 2018 New Revision: 348276 URL: http://llvm.org/viewvc/llvm-project?rev=348276&view=rev Log: [AST][NFC] Make ArrayTypeTraitExpr non polymorphic ArrayTypeTraitExpr is the only expression class which is polymorphic. As far as I can tell this is completely

r348278 - [AST] Assert that no statement/expression class is polymorphic

2018-12-04 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Dec 4 08:04:19 2018 New Revision: 348278 URL: http://llvm.org/viewvc/llvm-project?rev=348278&view=rev Log: [AST] Assert that no statement/expression class is polymorphic Add a static_assert checking that no statement/expression class is polymorphic. People should use

r348281 - [AST] Assert that no type class is polymorphic

2018-12-04 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Dec 4 08:36:28 2018 New Revision: 348281 URL: http://llvm.org/viewvc/llvm-project?rev=348281&view=rev Log: [AST] Assert that no type class is polymorphic Add a static_assert checking that no type class is polymorphic. People should use LLVM style RTTI instead. Diffe

Re: r348131 - [AST] Fix an uninitialized bug in the bits of FunctionDecl

2018-12-04 Thread Bruno Ricci via cfe-commits
gt; > Cheers, > > Bruno > > On 03/12/2018 22:01, David Blaikie wrote: > > Why the change from using setter functions to direct assignment? > > > > On Mon, Dec 3, 2018 at 5:06 AM Bruno Ricci via cfe-commits > mailto:cfe-commits@lists.l

r348384 - [Basic] Cleanups in IdentifierInfo following the removal of PTH

2018-12-05 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Wed Dec 5 09:16:55 2018 New Revision: 348384 URL: http://llvm.org/viewvc/llvm-project?rev=348384&view=rev Log: [Basic] Cleanups in IdentifierInfo following the removal of PTH The Entry pointer in IdentifierInfo was only null for IdentifierInfo created from a PTH. Now tha

Re: r348276 - [AST][NFC] Make ArrayTypeTraitExpr non polymorphic

2018-12-11 Thread Bruno Ricci via cfe-commits
> I've only seen this when I compile clang-tidy with gcc 5.4.0, assertions > on, with optimizations. Simply turning on debug info when compiling > clang-tidy makes the crash go away so it's quite fragile. > > Regards, > Mikael > > On 12/4/18 5:01 PM, Bruno Ricci

r356925 - [Sema][NFCI] Don't allocate storage for the various CorrectionCandidateCallback unless we are going to do some typo correction

2019-03-25 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Mar 25 10:08:51 2019 New Revision: 356925 URL: http://llvm.org/viewvc/llvm-project?rev=356925&view=rev Log: [Sema][NFCI] Don't allocate storage for the various CorrectionCandidateCallback unless we are going to do some typo correction The various CorrectionCandidateC

r356957 - [Sema] Don't check for array bounds when the types in the base expression are dependent

2019-03-25 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Mar 25 14:37:10 2019 New Revision: 356957 URL: http://llvm.org/viewvc/llvm-project?rev=356957&view=rev Log: [Sema] Don't check for array bounds when the types in the base expression are dependent Bail-out of CheckArrayAccess when the types of the base expression befo

r358283 - [AST] Forbid copy/move of statements/types

2019-04-12 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Apr 12 06:26:55 2019 New Revision: 358283 URL: http://llvm.org/viewvc/llvm-project?rev=358283&view=rev Log: [AST] Forbid copy/move of statements/types Statements, expressions and types are not supposed to be copied/moved, and trying to do so is only going to result in

Re: [clangd] Print template arguments helper

2019-04-12 Thread Bruno Ricci via cfe-commits
Hi, It seems that one of r358272, r358273 or r358274 is causing some asan failure on my machine. Not sure why it is not spotted by the bots. Failure log attached. Bruno FAIL: Extra Tools Unit Tests :: clangd/./ClangdTests/ASTUtilsTests/ASTUtils.PrintTemplateArgs/1 (878 of 1313)

r358288 - [AST][NFC] Add const children() accessors to all AST nodes

2019-04-12 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Apr 12 08:36:02 2019 New Revision: 358288 URL: http://llvm.org/viewvc/llvm-project?rev=358288&view=rev Log: [AST][NFC] Add const children() accessors to all AST nodes Systematically add the const-qualified version of children() to all statement/expression nodes. Previ

r358674 - [Serialization] Stable serialization order for OpenCLTypeExtMap and OpenCLDeclExtMap

2019-04-18 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Apr 18 08:13:27 2019 New Revision: 358674 URL: http://llvm.org/viewvc/llvm-project?rev=358674&view=rev Log: [Serialization] Stable serialization order for OpenCLTypeExtMap and OpenCLDeclExtMap Sort the elements of Sema::OpenCLTypeExtMap and Sema::OpenCLDeclExtMap by

r358678 - [Sema][NFC] Mark DR705 (Suppressing argument-dependent lookup via parentheses) as done

2019-04-18 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Apr 18 08:34:03 2019 New Revision: 358678 URL: http://llvm.org/viewvc/llvm-project?rev=358678&view=rev Log: [Sema][NFC] Mark DR705 (Suppressing argument-dependent lookup via parentheses) as done It was supported since at least clang 3 so just mark it as done. Modif

r358679 - [Sema][NFC] Mark DR1563 as done (List-initialization and overloaded function disambiguation)

2019-04-18 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Apr 18 08:45:08 2019 New Revision: 358679 URL: http://llvm.org/viewvc/llvm-project?rev=358679&view=rev Log: [Sema][NFC] Mark DR1563 as done (List-initialization and overloaded function disambiguation) It has been supported since at least clang 3.1 so just mark it as

r358849 - [Sema][MSVC] Fix bogus microsoft-pure-definition warning on member function of class template

2019-04-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Apr 21 06:12:10 2019 New Revision: 358849 URL: http://llvm.org/viewvc/llvm-project?rev=358849&view=rev Log: [Sema][MSVC] Fix bogus microsoft-pure-definition warning on member function of class template Clang emits a warning when using a pure specifier =0 in a functio

r358881 - [Sema][NFC] Add more tests for the behavior of argument-dependent name lookup

2019-04-22 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Apr 22 04:40:31 2019 New Revision: 358881 URL: http://llvm.org/viewvc/llvm-project?rev=358881&view=rev Log: [Sema][NFC] Add more tests for the behavior of argument-dependent name lookup The goal here is to exercise each rule in [basic.lookup.argdep] at least once. The

r358882 - [Sema] ADL: Associated namespaces for class types and enumeration types (CWG 1691)

2019-04-22 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Mon Apr 22 05:19:00 2019 New Revision: 358882 URL: http://llvm.org/viewvc/llvm-project?rev=358882&view=rev Log: [Sema] ADL: Associated namespaces for class types and enumeration types (CWG 1691) CWG 1691 changed the definition of the namespaces associated with a class ty

r342729 - [AST] Various optimizations + refactoring in DeclarationName(Table)

2018-09-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Sep 21 05:53:22 2018 New Revision: 342729 URL: http://llvm.org/viewvc/llvm-project?rev=342729&view=rev Log: [AST] Various optimizations + refactoring in DeclarationName(Table) Introduce the following optimizations in DeclarationName(Table): 1. Store common kinds inl

r342731 - [AST][NFC] Remove a superfluous enum in ObjCMethodDeclBitfields added in r338641

2018-09-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Sep 21 06:11:39 2018 New Revision: 342731 URL: http://llvm.org/viewvc/llvm-project?rev=342731&view=rev Log: [AST][NFC] Remove a superfluous enum in ObjCMethodDeclBitfields added in r338641 I originally added this enum to avoid including Basic/IdentifierTable.h in AST/

r342735 - [AST][NFC] DeclarationName.h : add missing parentheses to silence warnings

2018-09-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Sep 21 07:03:32 2018 New Revision: 342735 URL: http://llvm.org/viewvc/llvm-project?rev=342735&view=rev Log: [AST][NFC] DeclarationName.h : add missing parentheses to silence warnings Some bots are complaining about missing parentheses in assertions added in r342729: [

r342973 - [AST] Squeeze some bits in LinkageComputer::QueryType

2018-09-25 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Sep 25 06:43:25 2018 New Revision: 342973 URL: http://llvm.org/viewvc/llvm-project?rev=342973&view=rev Log: [AST] Squeeze some bits in LinkageComputer::QueryType Replace the pair std::pair where the unsigned represents an LVComputationKind by a PointerIntPair. This sa

r343579 - [AST] Pack the bit-fields of FunctionProtoType into Type.

2018-10-02 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Tue Oct 2 04:46:38 2018 New Revision: 343579 URL: http://llvm.org/viewvc/llvm-project?rev=343579&view=rev Log: [AST] Pack the bit-fields of FunctionProtoType into Type. Move the bit-fields of FunctionProtoType into FunctionTypeBitfields. This cuts the size of FunctionPro

r353003 - [ASTDump] Add a flag indicating whether a CXXThisExpr is implicit

2019-02-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 3 10:20:27 2019 New Revision: 353003 URL: http://llvm.org/viewvc/llvm-project?rev=353003&view=rev Log: [ASTDump] Add a flag indicating whether a CXXThisExpr is implicit There is currently no way to distinguish implicit from explicit CXXThisExpr in the AST dump ou

r353006 - [AST] Update the comments of the various Expr::Ignore* + Related cleanups

2019-02-03 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 3 11:50:56 2019 New Revision: 353006 URL: http://llvm.org/viewvc/llvm-project?rev=353006&view=rev Log: [AST] Update the comments of the various Expr::Ignore* + Related cleanups The description of what the various Expr::Ignore* do has drifted from the actual imple

r354035 - [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs"

2019-02-14 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Feb 14 07:43:17 2019 New Revision: 354035 URL: http://llvm.org/viewvc/llvm-project?rev=354035&view=rev Log: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs" D54902 removed CallExpr::setNumArgs in preparation of tail-allocating the argume

r354151 - [Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for the C++17 tests

2019-02-15 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Feb 15 10:12:58 2019 New Revision: 354151 URL: http://llvm.org/viewvc/llvm-project?rev=354151&view=rev Log: [Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for the C++17 tests Add some tests for unsequenced operations with members and refer

r354215 - [AST] Factor out the logic of the various Expr::Ignore*

2019-02-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 17 05:32:39 2019 New Revision: 354215 URL: http://llvm.org/viewvc/llvm-project?rev=354215&view=rev Log: [AST] Factor out the logic of the various Expr::Ignore* Now that the implementation of all of the Expr::Ignore* is in Expr.cpp we can try to remove some duplica

r354216 - Revert "[AST] Factor out the logic of the various Expr::Ignore*"

2019-02-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 17 05:47:29 2019 New Revision: 354216 URL: http://llvm.org/viewvc/llvm-project?rev=354216&view=rev Log: Revert "[AST] Factor out the logic of the various Expr::Ignore*" This breaks some clang-tidy checks. For some reason they were not included in check-clang ? M

[clang-tools-extra] r354228 - [clang-tidy][NFCI] DanglingHandleCheck: Remove a superflous IgnoreParenImpCasts

2019-02-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 17 10:21:54 2019 New Revision: 354228 URL: http://llvm.org/viewvc/llvm-project?rev=354228&view=rev Log: [clang-tidy][NFCI] DanglingHandleCheck: Remove a superflous IgnoreParenImpCasts ExprWithCleanups is currently not skipped by IgnoreParenImpCasts, but is skipped

r354232 - Recommit "[AST] Factor out the logic of the various Expr::Ignore*"

2019-02-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 17 10:50:51 2019 New Revision: 354232 URL: http://llvm.org/viewvc/llvm-project?rev=354232&view=rev Log: Recommit "[AST] Factor out the logic of the various Expr::Ignore*" (Originally commited in r354215 and reverted in r354216 because of a missed failing clang-ti

r354233 - [NFC] Add a llvm_unreachable to silence a warning in SubstObjCTypeArgsVisitor

2019-02-17 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sun Feb 17 11:18:38 2019 New Revision: 354233 URL: http://llvm.org/viewvc/llvm-project?rev=354233&view=rev Log: [NFC] Add a llvm_unreachable to silence a warning in SubstObjCTypeArgsVisitor All cases in the switch are covered. NFC. Modified: cfe/trunk/lib/AST/Type.c

r354727 - [Sema][NFC] SequenceChecker: More tests in preparation for D57660

2019-02-23 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Feb 23 08:25:00 2019 New Revision: 354727 URL: http://llvm.org/viewvc/llvm-project?rev=354727&view=rev Log: [Sema][NFC] SequenceChecker: More tests in preparation for D57660 Modified: cfe/trunk/test/SemaCXX/warn-unsequenced.cpp Modified: cfe/trunk/test/SemaCXX/w

r354728 - [NFC] Fix Wdocumentation warning in OMPToClause

2019-02-23 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Sat Feb 23 08:40:30 2019 New Revision: 354728 URL: http://llvm.org/viewvc/llvm-project?rev=354728&view=rev Log: [NFC] Fix Wdocumentation warning in OMPToClause Modified: cfe/trunk/include/clang/AST/OpenMPClause.h Modified: cfe/trunk/include/clang/AST/OpenMPClause.h

Re: r348276 - [AST][NFC] Make ArrayTypeTraitExpr non polymorphic

2018-12-12 Thread Bruno Ricci via cfe-commits
On 12/12/2018 07:27, Mikael Holmén wrote: > Hi, > > On 12/11/18 5:49 PM, Bruno Ricci wrote: >> Hi Mikael, >> >> I can indeed reproduce this with gcc 5.5.0 when doing a Release >> build with assertions. I cannot reproduce this with gcc 6.5.0 >> (also with a Release build with assertions), nor can

Re: r348276 - [AST][NFC] Make ArrayTypeTraitExpr non polymorphic

2018-12-12 Thread Bruno Ricci via cfe-commits
On 12/12/2018 13:25, Mikael Holmén wrote: > > > On 12/12/18 2:17 PM, Bruno Ricci wrote: >> >> >> On 12/12/2018 07:27, Mikael Holmén wrote: >>> Hi, >>> >>> On 12/11/18 5:49 PM, Bruno Ricci wrote: Hi Mikael, I can indeed reproduce this with gcc 5.5.0 when doing a Release build

r349811 - [Sema] Don't try to account for the size of an incomplete type in CheckArrayAccess

2018-12-20 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Thu Dec 20 12:05:11 2018 New Revision: 349811 URL: http://llvm.org/viewvc/llvm-project?rev=349811&view=rev Log: [Sema] Don't try to account for the size of an incomplete type in CheckArrayAccess When checking that the array access is not out-of-bounds in CheckArrayAccess

r349901 - [AST][NFC] Pass the AST context to one of the ctor of DeclRefExpr.

2018-12-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Dec 21 06:10:18 2018 New Revision: 349901 URL: http://llvm.org/viewvc/llvm-project?rev=349901&view=rev Log: [AST][NFC] Pass the AST context to one of the ctor of DeclRefExpr. All of the other constructors already take a reference to the AST context. This avoids callin

r349904 - [Sema][NFC] Remove some unnecessary calls to getASTContext.

2018-12-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Dec 21 06:35:24 2018 New Revision: 349904 URL: http://llvm.org/viewvc/llvm-project?rev=349904&view=rev Log: [Sema][NFC] Remove some unnecessary calls to getASTContext. The AST context is already easily available. NFC. Modified: cfe/trunk/lib/Sema/SemaChecking.cp

r349910 - [AST] Store the callee and argument expressions of CallExpr in a trailing array.

2018-12-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Dec 21 07:20:32 2018 New Revision: 349910 URL: http://llvm.org/viewvc/llvm-project?rev=349910&view=rev Log: [AST] Store the callee and argument expressions of CallExpr in a trailing array. Since CallExpr::setNumArgs has been removed, it is now possible to store the ca

r349924 - [AST][NFC] Pack CXXOperatorCallExpr

2018-12-21 Thread Bruno Ricci via cfe-commits
Author: brunoricci Date: Fri Dec 21 08:51:57 2018 New Revision: 349924 URL: http://llvm.org/viewvc/llvm-project?rev=349924&view=rev Log: [AST][NFC] Pack CXXOperatorCallExpr Use the space available in the bit-fields of Stmt. This saves 8 bytes per CXXOperatorCallExpr. NFC. Modified: cfe/trun

  1   2   >