aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-01-03When we attempt to create a built-in that involves a library type weDouglas Gregor
don't have access to (e.g., fprintf, which needs the library type FILE), fail with a warning and forget about the builtin entirely. Previously, we would actually provide an error, which breaks autoconf's super-lame checks for fprintf, longjmp, etc. Fixes PR8316. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122744 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-02Funciton -> FunctionPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122709 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-02Unkown -> UnknownPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122708 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-02Remove obsolete comments.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122686 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-02Add support for passing variables declared to use a xmm register to asmRafael Espindola
statements using the "x" constraint. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122679 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01Produce a better error message for invalid register names.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122670 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01Fix typo and add comment.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122669 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01More empty directory removal.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122668 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01Remove empty directories.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122665 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-31Remove stray emacs mode markers in all these files that was causing emacs toNick Lewycky
open them in fundamental-mode instead of c++-mode. Also twiddle whitespace for consistency in ToolChains.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122646 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-31MSVC doesn't require an accessible copy-constructor when binding a temporary ↵Francois Pichet
class object to a const-reference. Note: this is not a C++0x behavior change, it was already like that in MSVC 2003. This fixes a compile error when parsing MSVC header files with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122644 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-30Add support for declaring register contraints in variables. They are only usedRafael Espindola
in asm statements: register int foo asm("rdi"); asm("..." : ... "r" (foo) ... We also only accept these variables if the constraint in the asm statement is "r". This fixes most of PR3933. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122643 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-30Correct function name in comment.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-30Expose Objective-C type encodings of declarations to libclang users. This ↵David Chisnall
also adds a method in ASTContext which encodes FunctionDecls using the same encoding format that is used for Objective-C methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-30Simplify mem{cpy, move, set} creation with IRBuilder.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122634 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-29Fix PR8796.Rafael Espindola
The problem was that we were asserting the we never added an empty class to the same offset twice. This is not true for unions, where two members, empty or not, can have the some offset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122633 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-29set features for k8-sse3Roman Divacky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122629 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-28Added scalar casts test.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122599 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-28Canonicalize types before possible cast.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122592 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-27More __uuidof validation:Francois Pichet
1. Do not validate for uuid attribute if the type is template dependent. 2. Search every class declaration and definition for the uuid attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122578 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-26Add support for GNU runtime property set / get structure functions. Minor ↵David Chisnall
refactoring of Mac runtime (returns the same function for both, as the Mac runtimes currently only provide a single entry point for setting and getting struct properties, although this will presumably be fixed at some point). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-26Fix for PR8695.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122564 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-25The -fshort-wchar option causes wchar_t to become unsigned, in addition to beingChris Lattner
16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-25Remove all uses of PathV1::GetRootDirectory.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122552 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Add basic support for pointer arithmetic inTed Kremenek
SimpleSValBuilder. This clears up some false positives emitted by ArrayBoundCheckerV2 due to the lack of support for pointer arithmetic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122546 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Remove the EntoSA directories.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122543 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24don't use #pragma mark, it isn't portable.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122540 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24ifndef _MSC_VER out #pragma mark on MSVC. It still tries to parse the text evenMichael J. Spencer
though it doesn't know what it is, and complains about invalid tokens ;/. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Handle locations coming from macro instantiations properly in ↵Argyrios Kyrtzidis
SourceManager::isBeforeInTranslationUnit(). Fixes rdar://8790245 and http://llvm.org/PR8821. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122536 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Refactor how we collect attributes during parsing, and add slots for attributesJohn McCall
on array and function declarators. This is pretty far from complete, and I'll revisit it later if someone doesn't beat me to it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122535 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Fix a thinko in a helper routine for template argument deduction thatDouglas Gregor
caused an assertion when dealing with non-type template parameter packs. Add some tests for deduction and instantiation of non-type template parameter packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122534 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24Non-type template parameter packs cannot have default arguments.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122533 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-24When instantiating a non-type template parameter pack, be sure toDouglas Gregor
extract the appropriate argument from the argument pack (based on the current substitution index, of course). Simple instantiation of pack expansions involving non-type template parameter packs now works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122532 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Add an AST representation for non-type template parameterDouglas Gregor
packs, e.g., template<typename T, unsigned ...Dims> struct multi_array; along with semantic analysis support for finding unexpanded non-type template parameter packs in types, expressions, and so on. Template instantiation involving non-type template parameter packs probably doesn't work yet. That'll come soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122527 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Improve the diagnostic and recovery for missing colons after 'case'Douglas Gregor
and 'default' statements, including a Fix-It to add the colon: test/Parser/switch-recovery.cpp:13:12: error: expected ':' after 'case' case 17 // expected-error{{expected ':' after 'case'}} ^ : test/Parser/switch-recovery.cpp:16:12: error: expected ':' after 'default' default // expected-error{{expected ':' after 'default'}} ^ : git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122522 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Implement parsing of function parameter packs and non-type templateDouglas Gregor
parameter packs (C++0x [dcl.fct]p13), including disambiguation between unnamed function parameter packs and varargs (C++0x [dcl.fct]p14) for cases like void f(T...) where T may or may not contain unexpanded parameter packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122520 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Add -fobjc-default-synthesized-properties flagTed Kremenek
to allow us to explicitly control whether or not Objective-C properties are default synthesized. Currently this feature only works when using the -fobjc-non-fragile-abi2 flag (so there is no functionality change), but we can now turn off this feature without turning off all the features coupled with -fobjc-non-fragile-abi2. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122519 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Chris Lattner has strong opinions about directoryTed Kremenek
layout. :) Rename the 'EntoSA' directories to 'StaticAnalyzer'. Internally we will still use the 'ento' namespace for the analyzer engine (unless there are further sabre rattlings...). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122514 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Kill RecordType::getAddressSpace() and its fixme; that's just not howJohn McCall
address spaces work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122511 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Reimplement the comparison of a class template partialDouglas Gregor
specialization's template arguments against the primary template's template arguments using the obvious, correct method of checking the injected-class-name type (C++ [temp.class.spec]p9b3). The previous incarnation of this comparison attempted to use its own formulation of the injected-class-name, which is redudant and, with the introduction of variadic templates, became wrong (again). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122508 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23When forming the injected-class-name of a variadic template, theDouglas Gregor
template argument corresponding to a template parameter pack is an argument pack of a pack expansion of that template parameter pack. Implements C++0x [temp.dep.type]p2 (at least, as much of it as we can). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122498 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23When cast derived to base, only process MemRegionVal.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122494 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Rename headers: 'clang/GR' 'clang/EntoSA' andTed Kremenek
update Makefile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122493 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Rename static analyzer namespace 'GR' to 'ento'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Remove lib/Checker directory.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122475 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23It's amazing what you find when you actuallyTed Kremenek
set the RUN line correctly in a test file! Mark a bunch of tests for ArrayBoundCheckerV2 as FIXME's, as our current lack of pointer arithmetic handling causes these to be all false positives/negatives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Further tweak nonloc::ConcreteInt pretty printingTed Kremenek
to correctly print out negative values for signed integers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122470 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Add WIP prototype of a new buffer overflowTed Kremenek
checker based on using raw (symbolic) byte offsets from a base region. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Change MemRegion extent type to be the same type usedTed Kremenek
for array indices. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Add 'getConditionType()' and 'getArrayIndexType()'Ted Kremenek
to SValBuilder. These two query methods are useful for constructing SVals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122467 91177308-0d34-0410-b5e6-96231b3b80d8