- Nov 23, 2008
-
-
Chris Lattner authored
with implicit quotes around them. This has a bunch of follow-on effects and requires tweaking to a whole lot of code. This causes a regression in two tests (xfailed) by causing it to emit things like: Line 10: duplicate interface declaration for category 'MyClass1' ('Category1') instead of: Line 10: duplicate interface declaration for category 'MyClass1(Category1)' I will fix this in a follow-up commit. As part of this, I had to start switching stuff to use ->getDeclName() instead of Decl::getName() for consistency. This is good, but I was planning to do this as an independent patch. There will be several follow-on patches to clean up some of the mess, but this patch is already too big. llvm-svn: 59917
-
- Nov 21, 2008
-
-
Chris Lattner authored
llvm-svn: 59831
-
- Nov 20, 2008
-
-
Chris Lattner authored
llvm-svn: 59712
-
- Nov 19, 2008
-
-
Chris Lattner authored
llvm-svn: 59609
-
Chris Lattner authored
llvm-svn: 59589
-
Chris Lattner authored
__builtin_prefetch code to only emit one diagnostic per builtin_prefetch. While this has nothing to do with the rest of the patch, the code seemed like overkill when I was updating it. llvm-svn: 59588
-
- Nov 17, 2008
-
-
Douglas Gregor authored
C++ constructors, destructors, and conversion functions now have a FETokenInfo field that IdentifierResolver can access, so that these special names are handled just like ordinary identifiers. A few other Sema routines now use DeclarationNames instead of IdentifierInfo*'s. To validate this design, this code also implements parsing and semantic analysis for id-expressions that name conversion functions, e.g., return operator bool(); The new parser action ActOnConversionFunctionExpr takes the result of parsing "operator type-id" and turning it into an expression, using the IdentifierResolver with the DeclarationName of the conversion function. ActOnDeclarator pushes those conversion function names into scope so that the IdentifierResolver can find them, of course. llvm-svn: 59462
-
- Oct 29, 2008
-
-
Douglas Gregor authored
of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. llvm-svn: 58353
-
- Oct 28, 2008
-
-
Douglas Gregor authored
llvm-svn: 58331
-
- Oct 27, 2008
-
-
Douglas Gregor authored
- CastExpr is the root of all casts - ImplicitCastExpr is (still) used for all explicit casts - ExplicitCastExpr is now the root of all *explicit* casts - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++ - CXXFunctionalCastExpr inherits from ExplicitCastExpr - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all of the C++ named cast expression types (static_cast, dynamic_cast, etc.) - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, CXXReinterpretCastExpr, and CXXConstCastExpr to Also, fixed returned-stack-addr.cpp, which broke once when we fixed reinterpret_cast to diagnose double->int* conversions and again when we eliminated implicit conversions to reference types. The fix is in both testcase and SemaChecking.cpp. Most of this patch is simply support for the renaming. There's very little actual change in semantics. llvm-svn: 58264
-
- Oct 02, 2008
-
-
Daniel Dunbar authored
versions of sprintf and friends. - Added FIXME that this mechanism should be generalized. llvm-svn: 56962
-
- Sep 17, 2008
-
-
Steve Naroff authored
Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts. Added some more test cases... llvm-svn: 56254
-
- Sep 10, 2008
-
-
Steve Naroff authored
llvm-svn: 56064
-
- Sep 06, 2008
-
-
Steve Naroff authored
llvm-svn: 55862
-
- Sep 03, 2008
-
-
Daniel Dunbar authored
- Currently CodeGen always returns a conservative value for this (-1 or 0 depending on the context). llvm-svn: 55735
-
- Aug 19, 2008
-
-
Argyrios Kyrtzidis authored
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr): Expr -> CastExpr -> ExplicitCastExpr -> ImplicitCastExpr llvm-svn: 54955
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
-
Daniel Dunbar authored
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
-
- Aug 10, 2008
-
-
Chris Lattner authored
llvm-svn: 54607
-
- Aug 07, 2008
-
-
rdar://problem/6125909Ted Kremenek authored
Unify logic in return-of-stack-check (Sema) for casts and implicit casts. llvm-svn: 54439
-
- Jul 27, 2008
-
-
Chris Lattner authored
ASTContext::getCanonicalType instead (PR2189) llvm-svn: 54105
-
- Jul 26, 2008
-
-
Ted Kremenek authored
llvm-svn: 54067
-
- Jul 22, 2008
-
-
Daniel Dunbar authored
This closes <rdar://problem/6080720>, support for __builtin_constant_p has been filed separately. llvm-svn: 53885
-
- Jul 09, 2008
-
-
Ted Kremenek authored
llvm-svn: 53332
-
- Jun 30, 2008
-
-
Chris Lattner authored
1) add a new ASTContext::getFloatTypeSemantics method. 2) Use it from SemaExpr.cpp, CodeGenTypes.cpp and other places. 3) Change the TargetInfo.h get*Format methods to return their fltSemantics byref instead of by pointer. 4) Change CodeGenFunction::EmitBuiltinExpr to allow builtins which sometimes expand specially and othertimes fall back to libm. 5) Add support for __builtin_nan("") to codegen, cases that don't pass in an empty string are currently lowered to libm calls. 6) Fix codegen of __builtin_infl. llvm-svn: 52914
-
- Jun 28, 2008
-
-
Argyrios Kyrtzidis authored
Replace CurFunctionDecl and CurMethodDecl with methods getCurFunctionDecl() and getCurMethodDecl() that return the appropriate Decl through CurContext. llvm-svn: 52852
-
- Jun 16, 2008
-
-
Ted Kremenek authored
Patch by Nikita Zhuk! llvm-svn: 52336
-
- May 20, 2008
-
-
Eli Friedman authored
Sema. No codegen yet. llvm-svn: 51307
-
- May 16, 2008
-
-
Eli Friedman authored
llvm-svn: 51196
-
Eli Friedman authored
llvm-svn: 51195
-
Ted Kremenek authored
in Sema::CheckFunctionCall: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080512/005706.html The bug was that the logic from the helper methods used by CheckFunctionCall were being inverted (a subtle bug). This would cause the parser to discard any valid AST nodes involving several builtins (see patch). This removes the last regression failure I'm seeing in the test suite: Analysis-Apple/NoReturn. llvm-svn: 51168
-
- May 14, 2008
-
-
Eli Friedman authored
expressing the full flexibility of the LLVM shufflevector instruction. The expected immediate usage is in *mmintrin.h, so that they don't depend on the mess of gcc-inherited (and not completely implemented) shuffle builtins. llvm-svn: 51113
-
- Mar 16, 2008
-
-
Chris Lattner authored
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
-
- Mar 03, 2008
-
-
Ted Kremenek authored
llvm-svn: 47843
-
- Feb 13, 2008
-
-
Anders Carlsson authored
llvm-svn: 47041
-
Chris Lattner authored
llvm-svn: 47040
-
- Feb 11, 2008
-
-
Anders Carlsson authored
Get rid of bogus warnings when the second argument in va_start is either an implicit cast expr or a paren expr. llvm-svn: 46950
-
- Jan 17, 2008
-
-
Ted Kremenek authored
llvm-svn: 46134
-
Ted Kremenek authored
Refactored the use of this method into both the Sema module and Analysis module, which were using their own static functions that did the same thing. llvm-svn: 46129
-
- Jan 07, 2008
-
-
Ted Kremenek authored
some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. llvm-svn: 45715
-