summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Alternate format string checking: issue a warning for invalid conversion ↵Ted Kremenek2010-01-292-21/+45
| | | | | | specifiers. llvm-svn: 94792
* Add an CXXBindReferenceExpr (not used just yet).Anders Carlsson2010-01-296-0/+46
| | | | llvm-svn: 94791
* Yet another attempt to make the Linux buildbots happy. Apparently there are ↵Ted Kremenek2010-01-291-4/+7
| | | | | | differences on how nested namespaces are handled... llvm-svn: 94790
* Fixes rewriter bug rewriting byref related API where a structFariborz Jahanian2010-01-291-2/+1
| | | | | | definition comes after where it is needed. Fixes radar 7589385. llvm-svn: 94788
* Alternate format string checking: check for excess data arguments.Ted Kremenek2010-01-291-0/+11
| | | | llvm-svn: 94787
* Alternate format string checking: check if the number of format specifiers ↵Ted Kremenek2010-01-291-0/+12
| | | | | | exceeds the number of arguments. llvm-svn: 94785
* Move definition of FormatStringHandler::~FormatStringHandler() within ↵Ted Kremenek2010-01-291-1/+1
| | | | | | namespace directives. Hopefully this will make the Linux buildbots happy. llvm-svn: 94784
* Alternate format string checking: warn of '%n' as being potentially insecure.Ted Kremenek2010-01-291-1/+11
| | | | llvm-svn: 94782
* Add precision/field width checking to AlternateCheckPrintfString().Ted Kremenek2010-01-292-7/+74
| | | | llvm-svn: 94774
* Fix off-by-one error in ParseFormatSpecifier() when reporting the location ↵Ted Kremenek2010-01-281-3/+2
| | | | | | of a null character. llvm-svn: 94762
* Start fleshing out Sema::AlternateCheckPrintfString():Ted Kremenek2010-01-282-2/+99
| | | | | | | | | | - Add an anonymous class 'CheckPrintfHandler' which will do the checking of specific format specifiers - Add checking for using the '@' conversion specifier outside an ObjC string literal - Add checking for null characters within the string llvm-svn: 94761
* s/CGDebugInfo::getContext/CGDebugInfo::getContextDescriptor/g to avoid ↵Devang Patel2010-01-282-7/+8
| | | | | | confusion. llvm-svn: 94760
* Fix indentation.Devang Patel2010-01-281-30/+30
| | | | llvm-svn: 94758
* Static methods do not need "this" pointer argument.Devang Patel2010-01-281-0/+5
| | | | llvm-svn: 94756
* Emit base classes info first, as expected by the debugger.Devang Patel2010-01-281-3/+3
| | | | llvm-svn: 94755
* Fix an incorrect union layout assert. Fixes PR6164.Anders Carlsson2010-01-281-1/+6
| | | | llvm-svn: 94754
* s/FunctionNames/DebugInfoNames/gDevang Patel2010-01-282-4/+4
| | | | llvm-svn: 94753
* Emit vtable info.Devang Patel2010-01-282-1/+82
| | | | llvm-svn: 94751
* Access control for surrogate function calls. Required a moderately gross hackJohn McCall2010-01-282-3/+8
| | | | | | to get the access bits set properly in conversion sets. llvm-svn: 94744
* Introduce serialization and deserialization of diagnostic informationDouglas Gregor2010-01-284-2/+257
| | | | | | | | | | | | | | | | | so that CIndex can report diagnostics through the normal mechanisms even when executing Clang in a separate process. This applies both when performing code completion and when using ASTs as an intermediary for clang_createTranslationUnitFromSourceFile(). The serialized format is not perfect at the moment, because it does not encapsulate macro-instantiation information. Instead, it maps all source locations back to the instantiation location. However, it does maintain source-range and fix-it information. To get perfect fidelity from the serialized format would require serializing a large chunk of the source manager; at present, it isn't clear if this code will live long enough for that to matter. llvm-svn: 94740
* Add position of conversion specifier character to 'ConversionSpecifier'.Ted Kremenek2010-01-281-26/+31
| | | | llvm-svn: 94739
* Rename namespace clang::printf to clang::analyze_printf to avoid problems ↵Ted Kremenek2010-01-281-4/+4
| | | | | | where the reference to 'printf' is ambiguous. llvm-svn: 94733
* Access control for overloaded call operators. Not for surrogates yet,John McCall2010-01-281-0/+5
| | | | | | | | mostly because we're going to want a better diagnostic for conversions. Also this API needs to go back to sanity. llvm-svn: 94730
* Access checking for overloaded operators.John McCall2010-01-283-5/+32
| | | | llvm-svn: 94725
* Fixes a rewrite bug rewriting nested ivars reference.Fariborz Jahanian2010-01-282-6/+11
| | | | | | (Radar 7583971). llvm-svn: 94724
* Add placeholder function in Sema for new format string checking logic.Ted Kremenek2010-01-282-1/+25
| | | | | | | | This function will use the format string parsing logic in libAnalysis, and once it is shown to be better than the current implementation it will replace AlternateCheckPrintfString() entirely. llvm-svn: 94721
* Fix 80 col violation.Ted Kremenek2010-01-281-1/+3
| | | | llvm-svn: 94717
* Allow HandleFormatSpecifier() to indicate that no more processing of the ↵Ted Kremenek2010-01-281-1/+2
| | | | | | format string is desired. llvm-svn: 94715
* Add '@' conversion specifier.Ted Kremenek2010-01-281-4/+5
| | | | llvm-svn: 94713
* While emitting debugging infor for a C++ class, identify the holder of ↵Devang Patel2010-01-281-1/+11
| | | | | | class's vtable, if any. llvm-svn: 94712
* Include "this" pointer argument while emitting debug info for a C++ method.Devang Patel2010-01-282-1/+41
| | | | llvm-svn: 94710
* Remove invalid conversion specifiers from format string checking.Ted Kremenek2010-01-282-10/+0
| | | | llvm-svn: 94707
* Add a few more conversion specifiers to ParseFormatSpecifier (these appear ↵Ted Kremenek2010-01-281-20/+27
| | | | | | in SemaChecking). llvm-svn: 94704
* Add skeleton for a more structured way to analyzing pring formatTed Kremenek2010-01-272-0/+240
| | | | | | | | | | | | | | | | | | | | | | strings than what we currently have in Sema. This is both an experiment and a WIP. The idea is simple: parse the format string incrementally, constructing a well-structure representation of each format specifier. Each format specifier is then handed back one-by-one to a client via a callback. Malformed format strings are also handled with callbacks. The idea is to separate the parsing of the format string from the emission of diagnostics. Currently what we have in Sema for handling format strings is a mongrel of both that is hard to follow and difficult to modify (I can apply this label since I'm the original author of that code). This is in libAnalysis as it is reasonable generic and can potentially be used both by libSema and libChecker. Comments welcome. llvm-svn: 94702
* Remove ModuleProviders from clang after r94686 removed them from LLVM.Jeffrey Yasskin2010-01-271-8/+4
| | | | llvm-svn: 94688
* ARM/APCS: Fix alignment of long double.Daniel Dunbar2010-01-271-1/+1
| | | | llvm-svn: 94685
* Move more naming conventions logic out of the retain/release checker to ↵Ted Kremenek2010-01-272-87/+77
| | | | | | CocoaConventions.h. llvm-svn: 94682
* Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and,Ken Dyck2010-01-276-37/+43
| | | | | | | now that the "InBytes" part of the name is implied by the return type, rename it to getDeclAlign(). llvm-svn: 94681
* Use raw_ostreams in Preprocessor::ExpandBuiltinMacro. Still not nice but ↵Benjamin Kramer2010-01-271-19/+17
| | | | | | less fragile than the old code. llvm-svn: 94679
* Add missing call to Optional<...>.getValue() that was pointed out by Chandler.Ted Kremenek2010-01-271-1/+1
| | | | llvm-svn: 94678
* Use getTypeAlignInChars() for alignment in VisitSizeOfAlignOfExpr().Ken Dyck2010-01-271-1/+1
| | | | llvm-svn: 94677
* Unique ObjC strings (GNU Runtime); fix for PR6142. Note: Doing this in the ↵David Chisnall2010-01-271-2/+10
| | | | | | runtime-specific code is a bit ugly. It would be a good idea to hoist all of the string / protocol uniqueing code up into CGObjCRuntime or CodeGenModule and only handle emitting the original versions in the runtime-specific code. llvm-svn: 94676
* fix a bug in the _MM_TRANSPOSE4_PS definition, patch by Brian Sumner fromChris Lattner2010-01-271-1/+1
| | | | | | PR6138 llvm-svn: 94669
* Remove unnecessary ASTContext* argument from isRefType().Ted Kremenek2010-01-271-5/+5
| | | | llvm-svn: 94665
* Update CMake build.Ted Kremenek2010-01-271-0/+1
| | | | llvm-svn: 94663
* Start pulling out pieces of the monolithic retain/release checker intoTed Kremenek2010-01-272-125/+134
| | | | | | | | | reusable and modular API pieces. Start by pulling the logic for deriving the Cocoa naming convention into a separate API, header, and source file. llvm-svn: 94662
* Fix a major oversight in the comparison of standard conversionDouglas Gregor2010-01-274-39/+81
| | | | | | | | | | | | | | sequences, where we would occasionally determine (incorrectly) that one standard conversion sequence was a proper subset of another when, in fact, they contained completely incomparable conversions. This change records the types in each step within a standard conversion sequence, so that we can check the specific comparison types to determine when one sequence is a proper subset of the other. Fixes this testcase (thanks, Anders!), which was distilled from PR6095 (also thanks to Anders). llvm-svn: 94660
* Implement access-check delays for out-of-line member definitionsJohn McCall2010-01-273-28/+136
| | | | | | using the same framework we use for deprecation warnings. llvm-svn: 94659
* Add support for 3dnow and 3dnowa, and define the target macros accordingly. ↵Anders Carlsson2010-01-271-1/+23
| | | | | | (This is needed in order to build Qt). llvm-svn: 94658
* Structs and classes with non-trivial destructors or copy constructors should ↵Anders Carlsson2010-01-271-2/+10
| | | | | | be passed indirectly in the 32-bit ABI. Fixes PR6094. llvm-svn: 94656
OpenPOWER on IntegriCloud