summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Still use BadArg bugtype in the checker. This saves us implement ↵Zhongxing Xu2009-09-021-17/+8
| | | | | | | | | | | | | | registerInitialVisitors in the BugReport. When all internal bug checking logic are moved to checkers, BuiltinBug will not reference GRExprEngine, and FlushReports() will be not necessary, since all bugs are emitted into the equivalent classes immediately. For now just add a ctor with no arguments. llvm-svn: 80770
* Replace uses of ImmutableSet in SymbolReaper with DenseSet. This wasTed Kremenek2009-09-021-4/+4
| | | | | | | | | | | motivated from Shark profiles that shows that 'markLive' was very heavy when using --analyzer-store=region. On my benchmark file, this reduces the analysis time for --analyzer-store=region from 19.5s to 13.5s and for --analyzer-store=basic from 5.3s to 3.5s. For the benchmark file, this is a reduction of about 30% analysis time for both analysis modes (a huge win). llvm-svn: 80765
* Implement: <rdar://problem/6337100> CWE-338: Use of cryptographically weak prngTed Kremenek2009-09-021-8/+105
| | | | | | Patch by Geoff Keating! llvm-svn: 80752
* When adding a friend class declaration to the lookup tables, use the access ↵John McCall2009-09-021-0/+5
| | | | | | | | | | specifier of any previous declaration in case we replace it in a class's declaration table. Fixes bug 4858. This sort of thing makes me reconsider putting friend declarations in declaration lists. llvm-svn: 80750
* Fix a little crasher in friend decls. Thanks again to Eli for finding this.John McCall2009-09-021-3/+4
| | | | llvm-svn: 80748
* Add mangling for covariant thunks.Mike Stump2009-09-022-6/+52
| | | | llvm-svn: 80747
* Ensure that the tag decls of friend decls aren't added to the friending class'sJohn McCall2009-09-023-9/+10
| | | | | | | decl list, and remove some workarounds that were due to this. Thanks to Eli for pointing this out and providing the test case. llvm-svn: 80745
* Shorten name.Mike Stump2009-09-022-9/+8
| | | | llvm-svn: 80744
* Add mangling for thunks.Mike Stump2009-09-022-22/+74
| | | | llvm-svn: 80743
* It is illegal to derefrercne to an interface inFariborz Jahanian2009-09-021-2/+9
| | | | | | objc's non-fragile ABI. llvm-svn: 80739
* More overriding base work and some cleanups. WIP.Mike Stump2009-09-011-18/+19
| | | | llvm-svn: 80737
* After a conversation with Doug. I added a fix me toFariborz Jahanian2009-09-011-0/+13
| | | | | | where we build the constructor's initializer list. llvm-svn: 80735
* Split out overriding. WIP.Mike Stump2009-09-011-6/+13
| | | | llvm-svn: 80732
* Handle member expressions that return references correctly.Anders Carlsson2009-09-011-0/+1
| | | | llvm-svn: 80723
* Assert that we don't have any virtual bases. We can emit dtors for ↵Anders Carlsson2009-09-011-2/+2
| | | | | | polymorphics classes just fune. llvm-svn: 80722
* In CXXBaseOrMemberInitializer, don't confuse CtorTocall withDouglas Gregor2009-09-012-5/+6
| | | | | | AnonUnionMember. Fixes PR4826. llvm-svn: 80721
* Use the correct cast kinds for bit casts and function to pointer decay. ↵Anders Carlsson2009-09-012-10/+21
| | | | | | Fixes PR4827. llvm-svn: 80720
* Add a CK_FunctionToPointerDecay cast kind.Anders Carlsson2009-09-013-2/+6
| | | | llvm-svn: 80719
* We can generate constructors/destructors with base classes and non-trivial ↵Anders Carlsson2009-09-011-26/+2
| | | | | | fields just fine now. llvm-svn: 80701
* Implement proper substitution for OverloadedFunctionDecls, but substituting ↵Douglas Gregor2009-09-012-11/+19
| | | | | | each of the functions in the overload set llvm-svn: 80692
* Add DeclContext::Equals to compare declaration contexts based on their ↵Douglas Gregor2009-09-011-2/+1
| | | | | | primary context. Use this instead of pointer comparisons llvm-svn: 80690
* Fixed a property getter ir-gen crash.Fariborz Jahanian2009-09-012-2/+4
| | | | llvm-svn: 80681
* Fix a crasher involving template instantiation of non-dependentDouglas Gregor2009-09-012-9/+7
| | | | | | | expressions making use of an overloaded operator. Thanks for the test case, Anders! llvm-svn: 80679
* Add driver support for -emit-ast and AST compilation steps.Daniel Dunbar2009-09-013-11/+35
| | | | | | - <rdar://problem/7185031> Add 'clang' option '-emit-ast' llvm-svn: 80678
* Don't assume that a base is always a RecordType, it can also be a ↵Anders Carlsson2009-09-012-7/+17
| | | | | | TemplateSpecializationType. Also, make sure to get the instantiated union member. llvm-svn: 80662
* Add pretty stack traces when instantiating functions and static data members.Anders Carlsson2009-09-011-0/+13
| | | | llvm-svn: 80661
* Handle member initializers that point to fields in anonymous structs.Anders Carlsson2009-09-011-2/+7
| | | | llvm-svn: 80659
* Don't assert when instantiating member references to fields in anonymous ↵Anders Carlsson2009-09-013-2/+45
| | | | | | structs. llvm-svn: 80657
* PR4836, part 2: CodeGen for __builtin_isnan.Eli Friedman2009-09-011-0/+5
| | | | llvm-svn: 80655
* Preliminary AST representation and semantic analysis forDouglas Gregor2009-09-019-25/+129
| | | | | | | | | explicitly-specified template argument lists in member reference expressions, e.g., x->f<int>() llvm-svn: 80646
* Sentence-case bug category.Ted Kremenek2009-09-012-2/+2
| | | | llvm-svn: 80644
* Remember to write the qualifier of a MemberExpr to the PCH file when we get ↵Douglas Gregor2009-08-311-0/+1
| | | | | | to C++ PCH llvm-svn: 80643
* Eliminate CXXAdornedMemberExpr entirely. Instead, optionally allocateDouglas Gregor2009-08-318-102/+65
| | | | | | | | space within the MemberExpr for the nested-name-specifier and its source range. We'll do the same thing with explicitly-specified template arguments, assuming I don't flip-flop again. llvm-svn: 80642
* Fix bug 4784 and allow friend declarations to properly extendJohn McCall2009-08-315-12/+37
| | | | | | existing declaration chains. llvm-svn: 80636
* Rename DIBlock as DILexicalBlock.Devang Patel2009-08-311-1/+1
| | | | llvm-svn: 80634
* Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we willDouglas Gregor2009-08-319-30/+43
| | | | | | | also be adding explicit template arguments as an additional "adornment". No functionality change. llvm-svn: 80628
* Add parsing for references to member function templates with explicitDouglas Gregor2009-08-314-2/+54
| | | | | | | | template argument lists, e.g., x.f<int>(). Semantic analysis will be a separate commit. llvm-svn: 80624
* PR4836, part 1: add Sema support for __builtin_isnan and friends; they Eli Friedman2009-08-312-0/+36
| | | | | | | are apparently used by Solaris libc despite the fact that clang claims to be compatible with gcc 4.2, which doesn't support them. llvm-svn: 80610
* Implement template instantiation for member operator access.Douglas Gregor2009-08-311-9/+7
| | | | llvm-svn: 80609
* Support explicit C++ member operator syntax, from James Porter!Douglas Gregor2009-08-313-2/+81
| | | | llvm-svn: 80608
* Re-implemented generation of objc_memmove_collectableFariborz Jahanian2009-08-315-21/+33
| | | | | | API for copying GC'able aggregates (Next runtime only). llvm-svn: 80607
* Fix a -Asserts warning.Daniel Dunbar2009-08-311-0/+2
| | | | llvm-svn: 80606
* Updated GNU runtime non-fragile ABI.David Chisnall2009-08-313-43/+94
| | | | | | | Added -fconstant-string-class= option. Added __has_feature() test for non-fragile ABI. llvm-svn: 80591
* More missing member goodness.Anders Carlsson2009-08-301-3/+6
| | | | llvm-svn: 80491
* Improve missing error messages as suggested by Doug.Anders Carlsson2009-08-301-3/+3
| | | | llvm-svn: 80489
* Use DiagnoseMissingMember for UsingDecls.Anders Carlsson2009-08-301-1/+1
| | | | llvm-svn: 80470
* Improve diagnostics for missing members. This renames the ↵Anders Carlsson2009-08-306-10/+42
| | | | | | err_typecheck_no_member to err_typecheck_no_member_deprecated. The idea is that err_typecheck_no_member_deprecated should be phased out and any call sites that reference it should call DiagnoseMissingMember instead. llvm-svn: 80469
* Unbreak tests. I'll look into why this is necessary later.Eli Friedman2009-08-301-0/+1
| | | | llvm-svn: 80468
* Fix the start source location for type-specs like long, short, etc.Argyrios Kyrtzidis2009-08-291-1/+1
| | | | llvm-svn: 80448
* Make instantiating initializers for classes with a dependent base type Eli Friedman2009-08-292-52/+67
| | | | | | | | | work correctly. The change in lib/AST/DeclCXX.cpp is mostly a large reindentation; I couldn't figure out a good way to avoid it. llvm-svn: 80446
OpenPOWER on IntegriCloud