- Jan 06, 2009
-
-
Ted Kremenek authored
Return UnknownVal in RegionStoreManager::getSizeInElements() for unsupported regions. This silences a warning when compiling Release-Asserts builds. llvm-svn: 61818
-
Fariborz Jahanian authored
to track down, easy to fix. This is on going. llvm-svn: 61817
-
rdar://problem/5956221Steve Naroff authored
Fix <rdar://problem/5956221> clang ObjC rewriter: Microsoft-specific __fastcall keyword unrecognized. This fix is C++ specific. llvm-svn: 61816
-
Chris Lattner authored
- Simplify ParseDeclCXX to use early exit on error instead of nesting. - Change ParseDeclCXX to using the 'skip on error' form of ExpectAndConsume. - If we don't see the ; in a using directive, still call the action, for hopefully better error recovery. llvm-svn: 61801
-
Chris Lattner authored
llvm-svn: 61800
-
Chris Lattner authored
llvm-svn: 61799
-
Douglas Gregor authored
llvm-svn: 61798
-
Chris Lattner authored
MaybeParseTypeSpecifier -> ParseOptionalTypeSpecifier. llvm-svn: 61796
-
Chris Lattner authored
llvm-svn: 61795
-
Douglas Gregor authored
information for declarations that were referenced via a qualified-id, e.g., N::C::value. We keep track of the location of the start of the nested-name-specifier. Note that the difference between QualifiedDeclRefExpr and DeclRefExpr does have an effect on the semantics of function calls in two ways: 1) The use of a qualified-id instead of an unqualified-id suppresses argument-dependent lookup 2) If the name refers to a virtual function, the qualified-id version will call the function determined statically while the unqualified-id version will call the function determined dynamically (by looking up the appropriate function in the vtable). Neither of these features is implemented yet, but we do print out qualified names for QualifiedDeclRefExprs as part of the AST printing. llvm-svn: 61789
-
Chris Lattner authored
shorter and more accurate. The type name might not be qualified. llvm-svn: 61788
-
Ted Kremenek authored
- 'Buffer' is now private and must be accessed via 'getBuffer()'. This paves the way for lazily mapping in source files on demand. - Added 'getSize()' (which gets the size of the content without necessarily accessing the MemBuffer) and 'getSizeBytesMapped()'. - Modifed SourceManager to use these new methods. This reduces the number of places that actually access the MemBuffer object for a file to those that actually look at the character data. These changes result in no performance change for -fsyntax-only on Cocoa.h. llvm-svn: 61782
-
Chris Lattner authored
avoid the version of Preprocessor::getSpelling that returns an std::string. llvm-svn: 61769
-
- Jan 05, 2009
-
-
Daniel Dunbar authored
Improve ext vector test case. llvm-svn: 61766
-
Daniel Dunbar authored
llvm-svn: 61764
-
Daniel Dunbar authored
llvm-svn: 61763
-
Daniel Dunbar authored
- I'm not sure this is appropriate, but it seems reasonable to be able to call getFloatingRank on anything which isFloatingType(). llvm-svn: 61758
-
Sebastian Redl authored
llvm-svn: 61747
-
Sebastian Redl authored
Make C++ classes track the POD property (C++ [class]p4) Track the existence of a copy assignment operator. Implicitly declare the copy assignment operator if none is provided. Implement most of the parsing job for the G++ type traits extension. Fully implement the low-hanging fruit of the type traits: __is_pod: Whether a type is a POD. __is_class: Whether a type is a (non-union) class. __is_union: Whether a type is a union. __is_enum: Whether a type is an enum. __is_polymorphic: Whether a type is polymorphic (C++ [class.virtual]p1). llvm-svn: 61746
-
Douglas Gregor authored
DeclContexts whose members are visible from enclosing DeclContexts up to (and including) the innermost enclosing non-transparent DeclContexts. Transparent DeclContexts unify the mechanism to be used for various language features, including C enumerations, anonymous unions, C++0x inline namespaces, and C++ linkage specifications. Please refer to the documentation in the Clang internals manual for more information. Only enumerations and linkage specifications currently use transparent DeclContexts. Still to do: use transparent DeclContexts to implement anonymous unions and GCC's anonymous structs extension, and, later, the C++0x features. We also need to tighten up the DeclContext/ScopedDecl link to ensure that every ScopedDecl is in a single DeclContext, which will ensure that we can then enforce ownership and reduce the memory footprint of DeclContext. llvm-svn: 61735
-
Chris Lattner authored
their length. llvm-svn: 61734
-
Douglas Gregor authored
llvm-svn: 61700
-
Chris Lattner authored
isn't worth the complexity and the code already does a ton of lookahead. llvm-svn: 61671
-
Chris Lattner authored
llvm-svn: 61668
-
Chris Lattner authored
early exit for C and avoid template lookup for C. llvm-svn: 61667
-
Chris Lattner authored
not in backtracking mode. This was just using the wrong predicate. llvm-svn: 61666
-
Chris Lattner authored
only be called when they might be needed now, so make them assert that their current token is :: or identifier. llvm-svn: 61662
-
Anders Carlsson authored
llvm-svn: 61661
-
Chris Lattner authored
verified to be simple type specifiers, so there is no need for it to call TryAnnotateTypeOrScopeToken. Make MaybeParseCXXScopeSpecifier reject ::new and ::delete with a hard error now that it may never be transitively called in a context where these are legal. This allows me to start disentangling things more. llvm-svn: 61659
-
Chris Lattner authored
applicable cases in ParseDeclarationSpecifiers. llvm-svn: 61657
-
Chris Lattner authored
that isn't doing what is desired. It was annotating the current token not the 'next' token. This code should be fixed. llvm-svn: 61656
-
Chris Lattner authored
llvm-svn: 61654
-
Chris Lattner authored
can interact with. llvm-svn: 61652
-
Chris Lattner authored
down into the two cases that it can possibly affect. This avoids calls to it that obviously can't do anything. llvm-svn: 61651
-
Chris Lattner authored
sure to pass it down. This makes the code a bit gross, I will clean it up in subsequent commits. llvm-svn: 61650
-
- Jan 04, 2009
-
-
Chris Lattner authored
ParseCastExpression into the switch. This gets it out of the hot path through ParseCastExpression for all the non-identifier and non-:: tokens. llvm-svn: 61643
-
Chris Lattner authored
llvm-svn: 61642
-
Chris Lattner authored
llvm-svn: 61641
-
Chris Lattner authored
llvm-svn: 61638
-
Chris Lattner authored
llvm-svn: 61637
-