summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* remove the updated notes.Zhongxing Xu2009-03-271-55/+0
| | | | llvm-svn: 67813
* Fix searching for gcc, we only want executable files.Mike Stump2009-03-272-5/+7
| | | | llvm-svn: 67806
* Put back __OBJC2__ definition.Fariborz Jahanian2009-03-261-4/+0
| | | | llvm-svn: 67802
* Simplify CXXScopeSpec a lot. No more weird SmallVector-like hacks hereDouglas Gregor2009-03-267-77/+14
| | | | llvm-svn: 67800
* Revamp our representation of C++ nested-name-specifiers. We now have aDouglas Gregor2009-03-2613-212/+296
| | | | | | | | | | | uniqued representation that should both save some memory and make it far easier to properly build canonical types for types involving dependent nested-name-specifiers, e.g., "typename T::Nested::type". This approach will greatly simplify the representation of CXXScopeSpec. That'll be next. llvm-svn: 67799
* AddAnders Carlsson2009-03-262-17/+23
| | | | | | | | | const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, AccessSpecifier AS); so we can easily add access specifiers to diagnostics. llvm-svn: 67795
* - Add class PathDiagosticLocationPair.Ted Kremenek2009-03-262-24/+24
| | | | | | - Have PathDiagnosticControlFlowPiece use a vector of PathDiagnosticLocationPairs to represent transitions. llvm-svn: 67786
* Implement PathDiagnosticLocation::asRange() and ↵Ted Kremenek2009-03-261-0/+15
| | | | | | PathDiagnosticLocation::asStmt(). llvm-svn: 67777
* Add comment.Ted Kremenek2009-03-261-0/+2
| | | | llvm-svn: 67776
* Restructure code to silence bogus GCC warning.Ted Kremenek2009-03-261-1/+3
| | | | llvm-svn: 67775
* - Implement PathDiagnosticLocation::asLocation.Ted Kremenek2009-03-261-0/+15
| | | | | | | - Switch PathDiagnosticEventPiece and PathDiagnosticMacroPiece to use PathDiagnosticLocation. llvm-svn: 67774
* Remove dead code.Mike Stump2009-03-261-1/+1
| | | | llvm-svn: 67769
* PathDiagnostics (analyzer):Ted Kremenek2009-03-261-18/+6
| | | | | | | | | | | - Added a new class, 'PathDiagnosticLocation', that is a variant for SourceLocation, SourceRange, or Stmt*. This will be used soon by PathDiagnosticPieces to describe locations for targets of branches, locations of events, etc. - Did some prep. refactoring of PathDiagnosticPieces to prepare them for adopting the new PathDiagnosticLocation llvm-svn: 67767
* - Minor change to dump of ivar layout map.Fariborz Jahanian2009-03-262-1/+8
| | | | | | | | - Temporarily undef'ed __OBJC2__ in nonfragile objc abi mode as it was forcing ivar synthesis in a certain project which clang does not yet support. llvm-svn: 67766
* Driver: Add darwin::Link tool.Daniel Dunbar2009-03-264-13/+506
| | | | | | | - <rdar://problem/6717381> [driver] implement ld argument translation in new driver llvm-svn: 67760
* Driver: Fix a number of option definition mismatches (flags instead ofDaniel Dunbar2009-03-261-2/+2
| | | | | | | | separate, or vice versa). Also, fix initialization of LinkingOutput variable. llvm-svn: 67757
* Driver: Print the correct target when printing the version.Daniel Dunbar2009-03-261-6/+6
| | | | llvm-svn: 67756
* Fix <rdar://problem/6697053> instance variable is protected.Steve Naroff2009-03-261-1/+2
| | | | | | Treat @package the same as @public. The documentation for @package says it is analogous to private_extern for variables/functions. Fully implementing this requires some kind of linker support (so access is denied to code outside the classes executable image). I don't believe GCC fully implements this semantic. Will discuss with Fariborz offline. llvm-svn: 67755
* Driver: Move GetReleaseVersion to static Driver::GetReleaseVersion method.Daniel Dunbar2009-03-262-33/+42
| | | | llvm-svn: 67754
* Driver: Add ArgList::AddAllArgsTranslated; for forwarding options toDaniel Dunbar2009-03-261-0/+13
| | | | | | | tools with the name of the option replace, and arguments rendered separately. llvm-svn: 67753
* Move "regions" analyzer design document to 'docs'.Ted Kremenek2009-03-261-53/+0
| | | | llvm-svn: 67752
* Simplify some code. No functionality change.Zhongxing Xu2009-03-261-16/+4
| | | | llvm-svn: 67748
* Check in some design documents to centralize ideas around region store and the Zhongxing Xu2009-03-261-0/+53
| | | | | | analysis engine. llvm-svn: 67747
* Sanity-check argument to indirect goto.Eli Friedman2009-03-261-3/+7
| | | | llvm-svn: 67746
* hopefully fix VC++ build error.Chris Lattner2009-03-261-0/+1
| | | | llvm-svn: 67741
* most of this is plumbing to get CompileOptions down into Chris Lattner2009-03-263-31/+25
| | | | | | | CodeGenModule. Once there, add a new NoCommon option to it and implement -fno-common. llvm-svn: 67735
* analyzer infrastructure: make a bunch of changes to symbolic expressions thatTed Kremenek2009-03-2614-349/+390
| | | | | | | | | | | | | | | | Zhongxing and I discussed by email. Main changes: - Removed SymIntConstraintVal and SymIntConstraint - Added SymExpr as a parent class to SymbolData, SymSymExpr, SymIntExpr - Added nonloc::SymExprVal to wrap SymExpr - SymbolRef is now just a typedef of 'const SymbolData*' - Bunch of minor code cleanups in how some methods were invoked (no functionality change) This changes are part of a long-term plan to have full symbolic expression trees. This will be useful for lazily evaluating complicated expressions. llvm-svn: 67731
* Set the access specifier for templates inside classes.Anders Carlsson2009-03-261-0/+3
| | | | llvm-svn: 67726
* Factor the member access specifier setting code into its own function. No ↵Anders Carlsson2009-03-263-27/+49
| | | | | | intended functionality change. llvm-svn: 67725
* Handle parsing of templates in member declarations. Pass the AccessSpecifier ↵Anders Carlsson2009-03-265-8/+17
| | | | | | | | all the way down to ActOnClassTemplate. Doug, Sebastian: Plz review! :) llvm-svn: 67723
* Check that the access specifier of a member redeclaration is the same as the ↵Anders Carlsson2009-03-261-3/+26
| | | | | | original declaration. llvm-svn: 67722
* Fix for PR3869: actually enforce that the argument of an indirect goto Eli Friedman2009-03-261-2/+4
| | | | | | is of type void*. I'll try to add the appropriate checking later. llvm-svn: 67721
* The injected-class-name of class templates and class templateDouglas Gregor2009-03-263-2/+29
| | | | | | | | | | | | | | | | | | specializations can be treated as a template. Finally, we can parse and process the first implementation of Fibonacci I wrote! Note that this code does not handle all of the cases where injected-class-names can be treated as templates. In particular, there's an ambiguity case that we should be able to handle (but can't), e.g., template <class T> struct Base { }; template <class T> struct Derived : Base<int>, Base<char> { typename Derived::Base b; // error: ambiguous typename Derived::Base<double> d; // OK }; llvm-svn: 67720
* Tighten the setAccess assert. We now allow AS_none if the decl contex is not ↵Anders Carlsson2009-03-252-1/+11
| | | | | | | | a C++ record decl. Also, fix fallout from the change. llvm-svn: 67717
* Implement template instantiation for static data members of classDouglas Gregor2009-03-253-64/+129
| | | | | | | | | | | | | | | | | | templates, including in-class initializers. For example: template<typename T, T Divisor> class X { public: static const T value = 10 / Divisor; }; instantiated with, e.g., X<int, 5>::value to get the value '2'. llvm-svn: 67715
* More for for objc2's ivar layout map (currentlyFariborz Jahanian2009-03-251-3/+22
| | | | | | is not in use). llvm-svn: 67713
* Pass access specifiers through to member classes and member enums.Douglas Gregor2009-03-255-10/+16
| | | | llvm-svn: 67710
* Fix notes regarding the instantiation of member classes (and test 'em).Douglas Gregor2009-03-251-2/+1
| | | | llvm-svn: 67708
* Instantiation for member classes of class templates. Note that onlyDouglas Gregor2009-03-256-78/+178
| | | | | | | | | | | the declarations of member classes are instantiated when the owning class template is instantiated. The definitions of such member classes are instantiated when a complete type is required. This change also introduces the injected-class-name into a class template specialization. llvm-svn: 67707
* fix PR3880, fixing a comma swallowing bug handling macros that only takeChris Lattner2009-03-251-0/+6
| | | | | | ... arguments. llvm-svn: 67706
* remove some dead code. ArgTokens can never be empty, because it is always Chris Lattner2009-03-251-9/+0
| | | | | | | | | | | | terminated with an EOF token. The condition it is trying to check for is handled by this code above. // Empty arguments are standard in C99 and supported as an extension in // other modes. if (ArgTokens.empty() && !Features.C99) Diag(Tok, diag::ext_empty_fnmacro_arg); llvm-svn: 67705
* Remove -f__block as codegen for __block variables should be solid.Mike Stump2009-03-251-22/+0
| | | | llvm-svn: 67697
* Fixup codegen for block literals that bleed copy/dispose informationMike Stump2009-03-252-6/+12
| | | | | | from previous block literals. llvm-svn: 67696
* Predicate to detect when a RecordDecl is really the injected-class-nameDouglas Gregor2009-03-252-0/+7
| | | | llvm-svn: 67687
* Stub out some declaration kinds that cannot ever be instantiatedDouglas Gregor2009-03-251-0/+14
| | | | llvm-svn: 67686
* Fix parsing of template classes prefixed by nested-name-specifiersDouglas Gregor2009-03-251-2/+14
| | | | llvm-svn: 67685
* Minor refactoring to eliminate an extra switch during template instantiationDouglas Gregor2009-03-251-3/+9
| | | | llvm-svn: 67684
* Driver: Implement Darwin_X86 tool chain level argument translation.Daniel Dunbar2009-03-252-5/+109
| | | | | | | | | | | | | | | | | | | | - This is really gross, but its the easiest way to match gcc. Once we are confident in the driver, we can try and push these translations down into tools. - No test cases for this yet, it's hard to see the effects of these translations before the gcc tool argument translation is pulled over. - Interaction with "unused argument" warning hasn't been worked out yet. - <rdar://problem/6717359> [driver] implement toolchain specific argument translation. "It's horrible in here." llvm-svn: 67683
* Driver: Handle -Xarch_, including warning for nasty -Xarch_ use casesDaniel Dunbar2009-03-251-2/+41
| | | | | | | we aren't going to support. For example: clang -Xarch_i386 -S -Xarch_i386 -o -Xarch_i386 myi386asm.s ... llvm-svn: 67680
* Driver: Replace Option::ForwardToGCC by Option::DriverOption (whichDaniel Dunbar2009-03-252-7/+2
| | | | | | matches the flag in Options.def). llvm-svn: 67679
OpenPOWER on IntegriCloud