llvm-project/clang/lib/AST
George Burgess IV b40cd567c3 Fix a bug in __builtin_object_size cast removal
Apparently there are many cast kinds that may cause implicit pointer
arithmetic to happen. In light of this, the cast ignoring logic
introduced in r246877 has been changed to only ignore a small set of
cast kinds, and a test for this behavior has been added.

Thanks to Richard for catching this before it became a bug report. :)

llvm-svn: 246890
2015-09-04 22:36:18 +00:00
..
APValue.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 06:28:36 +00:00
ASTConsumer.cpp Introduce a PCHContainerOperations interface (NFC). 2015-06-20 18:53:08 +00:00
ASTContext.cpp [WebAssembly] Initial WebAssembly support in clang 2015-09-03 22:51:53 +00:00
ASTDiagnostic.cpp Remove and forbid raw_svector_ostream::flush() calls. 2015-08-13 18:12:56 +00:00
ASTDumper.cpp Implement variance for Objective-C type parameters. 2015-07-07 03:58:54 +00:00
ASTImporter.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
ASTTypeTraits.cpp Fix bug in DynTypedMatcher::constructVariadic() that would cause false negatives. 2014-10-06 13:14:30 +00:00
AttrImpl.cpp Devirtualize Attr and all subclasses. 2015-03-19 16:06:49 +00:00
CMakeLists.txt MS ABI: Don't use the Itanium scheme for numbering lambdas 2014-08-22 04:22:50 +00:00
CXXABI.h [MS ABI] Correctly mangle classes without names for linkage purposes 2015-08-31 18:48:39 +00:00
CXXInheritance.cpp unique_ptrify CXXBasePaths::DeclsFound & remove the then-unnecessary user-defined dtor 2015-08-18 23:56:00 +00:00
Comment.cpp Use llvm::makeArrayRef instead of explicitly calling ArrayRef constructor and mentioning the type. This works now that we have a conversion from ArrayRef<T*> to ArrayRef<const T*>. 2014-08-30 16:55:39 +00:00
CommentBriefParser.cpp
CommentCommandTraits.cpp Fix for PR21254 - Assertion in comment parser 2014-10-15 16:18:20 +00:00
CommentLexer.cpp Comment parsing: fix an assertion failure on a verbatim block terminated with "**/" 2015-04-15 23:45:43 +00:00
CommentParser.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
CommentSema.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Decl.cpp [MS ABI] Correctly mangle classes without names for linkage purposes 2015-08-31 18:48:39 +00:00
DeclBase.cpp Changes missed from r245810 2015-08-23 11:09:40 +00:00
DeclCXX.cpp [AST] Turn the callbacks of lookupInBases and forallBases into a function_ref 2015-07-25 15:07:25 +00:00
DeclFriend.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclGroup.cpp Replace custom alignment enforcement with LLVM_ALIGNAS. 2015-04-02 12:25:07 +00:00
DeclObjC.cpp DeclObjC: Move computing the type of self into a separate function (NFC). 2015-07-08 22:15:59 +00:00
DeclOpenMP.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclPrinter.cpp Implement variance for Objective-C type parameters. 2015-07-07 03:58:54 +00:00
DeclTemplate.cpp Convert a few classes over to use the new TrailingObjects helper. 2015-08-06 20:26:32 +00:00
DeclarationName.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Expr.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
ExprCXX.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
ExprClassification.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
ExprConstant.cpp Fix a bug in __builtin_object_size cast removal 2015-09-04 22:36:18 +00:00
ExternalASTSource.cpp function_ref-ize ExternalASTSource::FindExternalLexicalDecl and remove its 2015-08-05 22:41:45 +00:00
InheritViz.cpp InheritViz: Hide implementation details 2015-03-09 15:03:20 +00:00
ItaniumCXXABI.cpp [MS ABI] Correctly mangle classes without names for linkage purposes 2015-08-31 18:48:39 +00:00
ItaniumMangle.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
Makefile
Mangle.cpp Remove and forbid raw_svector_ostream::flush() calls. 2015-08-13 18:12:56 +00:00
MicrosoftCXXABI.cpp [MS ABI] Cleanup get*ForUnnamedTagDecl 2015-09-01 01:53:07 +00:00
MicrosoftMangle.cpp [MS ABI] Number unnamed TagDecls which aren't externally visible 2015-09-02 15:50:38 +00:00
NSAPI.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
NestedNameSpecifier.cpp [UB] Fix the two ways that we would try to memcpy from a null buffer in 2015-08-04 03:52:56 +00:00
ParentMap.cpp Switch users of the 'for (StmtRange range = stmt->children(); range; ++range)‘ pattern to range for loops. 2015-07-02 21:03:14 +00:00
RawCommentList.cpp Allow any comment to be a trailing comment when -fparse-all-comments is on. 2015-07-15 19:13:39 +00:00
RecordLayout.cpp CXXInfo memory should be released after calling the destructor 2014-05-24 07:19:25 +00:00
RecordLayoutBuilder.cpp [RecordLayoutBuilder] Remove duplicated diagnostic argument. NFC. 2015-08-21 12:51:01 +00:00
SelectorLocationsKind.cpp
Stmt.cpp [OpenMP] Make the filetered clause iterator a real iterator and type safe. 2015-08-30 15:12:28 +00:00
StmtIterator.cpp StmtIterator: Put stmt and decl group pointer into a union. 2015-07-03 15:12:36 +00:00
StmtPrinter.cpp [OPENMP 4.1] Parsing/sema analysis for extended format of 'if' clause. 2015-09-03 07:23:48 +00:00
StmtProfile.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
StmtViz.cpp
TemplateBase.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
TemplateName.cpp [AST] ArrayRefize template argument packs. No functionality change intended. 2015-08-05 09:40:22 +00:00
Type.cpp Corrected 3 typos. NFC 2015-08-26 22:13:30 +00:00
TypeLoc.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
TypePrinter.cpp Implement the Objective-C __kindof type qualifier. 2015-07-07 03:58:42 +00:00
VTTBuilder.cpp Update for LLVM API change to make Small(Ptr)Set::insert return pair<iterator, bool> as per the C++ standard's associative container concept. 2014-11-19 07:49:47 +00:00
VTableBuilder.cpp [VTableBuilder] Use range-based for loops. No functional change intended 2015-07-25 17:10:49 +00:00