- Apr 02, 2009
-
-
Ted Kremenek authored
long-term strategy, but this should work for now. llvm-svn: 68297
-
Ted Kremenek authored
can use a PathLocation after any reference Stmts are reclaimed, flattenLocation() converts those references to statements to source ranges. llvm-svn: 68292
-
Chris Lattner authored
of the range is now the ';' location. For something like this: $ cat t2.c #define bool int void f(int x, int y) { bool b = !x && y; } We used to produce: $ clang-cc t2.c -ast-dump typedef char *__builtin_va_list; void f(int x, int y) (CompoundStmt 0x2201f10 <t2.c:3:22, line:5:1> (DeclStmt 0x2201ef0 <line:2:14> <---- 0x2201a20 "int b = (BinaryOperator 0x2201ed0 <line:4:10, col:16> 'int' '&&' (UnaryOperator 0x2201e90 <col:10, col:11> 'int' prefix '!' (DeclRefExpr 0x2201c90 <col:11> 'int' ParmVar='x' 0x2201a50)) (DeclRefExpr 0x2201eb0 <col:16> 'int' ParmVar='y' 0x2201e10))") Now we produce: $ clang-cc t2.c -ast-dump typedef char *__builtin_va_list; void f(int x, int y) (CompoundStmt 0x2201f10 <t2.c:3:22, line:5:1> (DeclStmt 0x2201ef0 <line:2:14, line:4:17> <------ 0x2201a20 "int b = (BinaryOperator 0x2201ed0 <col:10, col:16> 'int' '&&' (UnaryOperator 0x2201e90 <col:10, col:11> 'int' prefix '!' (DeclRefExpr 0x2201c90 <col:11> 'int' ParmVar='x' 0x2201a50)) (DeclRefExpr 0x2201eb0 <col:16> 'int' ParmVar='y' 0x2201e10))") llvm-svn: 68288
-
Ted Kremenek authored
llvm-svn: 68283
-
Ted Kremenek authored
llvm-svn: 68282
-
Ted Kremenek authored
llvm-svn: 68281
-
Anders Carlsson authored
llvm-svn: 68280
-
Douglas Gregor authored
llvm-svn: 68278
-
Ted Kremenek authored
llvm-svn: 68275
-
Ted Kremenek authored
llvm-svn: 68274
-
Ted Kremenek authored
llvm-svn: 68273
-
Mike Stump authored
Eventually, would be nice to be able to run these modifications even when we don't want the warning or errors for the actual diagnostic. llvm-svn: 68272
-
Douglas Gregor authored
llvm-svn: 68268
-
Mike Stump authored
better name) is the option that SmallTalk can use to intercept all overflows, including unsigned. I added some testcases so we don't break anything. Also included is another patch from David for += and friends. llvm-svn: 68267
-
Ted Kremenek authored
llvm-svn: 68264
-
Douglas Gregor authored
llvm-svn: 68261
-
Daniel Dunbar authored
calling gcc in generic configurations. llvm-svn: 68260
-
Fariborz Jahanian authored
class which was exposed by implementation of objc2's nonfragile abi code gen. llvm-svn: 68259
-
Douglas Gregor authored
Plus, reword a extension warnings to avoid talking about "ISO C" when the extension might also be available in C++ or C++0x. llvm-svn: 68257
-
- Apr 01, 2009
-
-
Douglas Gregor authored
failures that involve malformed types, e.g., "typename X::foo" where "foo" isn't a type, or "std::vector<void>" that doens't instantiate properly. Similarly, be a bit smarter in our handling of ambiguities that occur in Sema::getTypeName, to eliminate duplicate error messages about ambiguous name lookup. This eliminates two XFAILs in test/SemaCXX, one of which was crying out to us, trying to tell us that we were producing repeated error messages. llvm-svn: 68251
-
Steve Naroff authored
- Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). llvm-svn: 68245
-
Ted Kremenek authored
enclosing statement when jumping to a subexpression. llvm-svn: 68244
-
Daniel Dunbar authored
- PR3922 - I have a clean solution for this in flight, but it may take a while to come to fruition so we'll take a quick fix for now. llvm-svn: 68241
-
Mike Stump authored
clang option code that is and two bug fixes. llvm-svn: 68240
-
Fariborz Jahanian authored
runtime on 64-bit architectures. Patch by David Chisnall llvm-svn: 68238
-
Ted Kremenek authored
llvm-svn: 68236
-
Fariborz Jahanian authored
class. llvm-svn: 68234
-
Daniel Dunbar authored
- Patch by Ed Schouten! llvm-svn: 68233
-
Ted Kremenek authored
llvm-svn: 68232
-
Douglas Gregor authored
Clang's test suite. llvm-svn: 68230
-
Ted Kremenek authored
- When processing BlockEdges with terminators, using the condition as the control-flow point for terminators that are expressions (e.g., '&&', '?') - When processing events, allow intra-compound statement "jumping" llvm-svn: 68228
-
Mike Stump authored
clang option code that is. llvm-svn: 68221
-
Ted Kremenek authored
start of the function/method. llvm-svn: 68217
-
Ted Kremenek authored
intra-compound statement jumps unless they are between terminators (i.e., branches). llvm-svn: 68216
-
http://www.unicode.org/Public/PROGRAMS/CVTUTFSteve Naroff authored
#ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... llvm-svn: 68208
-
Douglas Gregor authored
heuristics to determine when it's useful to desugar a type for display to the user. Introduce two C++-specific heuristics: - For a qualified type (like "foo::bar"), only produce a new desugred type if desugaring the qualified type ("bar", in this case) produces something interesting. For example, if "foo::bar" refers to a class named "bar", don't desugar. However, if "foo::bar" refers to a typedef of something else, desugar to that something else. This gives some useful desugaring such as "foo::bar (aka 'int')". - Don't desugar class template specialization types like "basic_string<char>" down to their underlying "class basic_string<char, char_traits<char>, allocator<char>>, etc."; it's better just to leave such types alone. Update diagnostics.html with some discussion and examples of type preservation in C++, showing qualified names and class template specialization types. llvm-svn: 68207
-
Steve Naroff authored
Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
-
Steve Naroff authored
llvm-svn: 68198
-
Daniel Dunbar authored
- Small structures are returned in a register if: 1. They fit nicely in a register. 2. All fields fit nicely in a register. (more or less) - We now pass the first 5000 ABITests if unions are disabled. - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with small structs llvm-svn: 68197
-
Daniel Dunbar authored
element structures", which have different ABI rules. - Current return-arguments-32 status is: 1 out of 1000 failures (-7) - Also, vectors inside "single element structs" require special handling. llvm-svn: 68196
-