]>
granicus.if.org Git - clang/log
Ted Kremenek [Wed, 21 May 2008 16:38:54 +0000 (16:38 +0000)]
Add Destroy method to Types, making there destruction more harmonious with
the destruction of Decls and Stmts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 21 May 2008 16:00:02 +0000 (16:00 +0000)]
Fix potential double-free.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 21 May 2008 15:59:22 +0000 (15:59 +0000)]
Fixup ASTContext::PrintStats()...it was causing several test failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51380
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 21 May 2008 15:53:55 +0000 (15:53 +0000)]
When destroying DeclStmts, also destroy the associated Decl (reclaim its memory).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51379
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 21 May 2008 15:48:33 +0000 (15:48 +0000)]
Fixed bug in the transfer function for dereferences: the loaded value from EvalLoad should bind to the UnaryOperator*, not its subexpression.
Added test case to exercise this fix when checking for uses of uninitialized values.
Patch by Zhongxing Xu!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51377
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 13:24:44 +0000 (13:24 +0000)]
Remove an unnecessary/buggy if check. Ran into this with some other
changes in my tree, so I don't have a testcase which affects trunk.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 13:21:01 +0000 (13:21 +0000)]
A small testcase; no patch, since it was a bug in a patch I never
committed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 05:37:55 +0000 (05:37 +0000)]
Fix this test so that it's valid; the point is to test for the crash,
not the missing diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51365
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 05:33:10 +0000 (05:33 +0000)]
Fix the destruction "properly" in the sense that we actually destroy the
ASTs. This is a hack, but I haven't considered how we really
want to do this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 05:06:46 +0000 (05:06 +0000)]
PR2347: Fix crash iterating over VLAs; this started triggering because
we now iterate over the whole AST when we destroy it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51363
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 05:01:55 +0000 (05:01 +0000)]
Don't kill the declarations if the translation unit doesn't own them
(specifically, for TranslationUnits created from SerializationTest.cpp).
Fixes a double-free bug in the serialization tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 03:39:11 +0000 (03:39 +0000)]
Fix a couple of bugs found by Neil Booth in the const-ness checking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 21 May 2008 03:11:31 +0000 (03:11 +0000)]
Protect iso646.h from C++ (although I can't imagine why someone would
need it...). Patch by Mike Stump.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 20 May 2008 20:39:37 +0000 (20:39 +0000)]
Add SemaInit.cpp to VC++ proj.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Tue, 20 May 2008 18:03:51 +0000 (18:03 +0000)]
initialize variable and fix a bunch of test failures
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Tue, 20 May 2008 17:33:56 +0000 (17:33 +0000)]
fix warning with gcc 4.1 (ptr to bool convertion)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 15:17:39 +0000 (15:17 +0000)]
Remove hacks from ASTContext now that alignment gets reported correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 14:27:34 +0000 (14:27 +0000)]
Missed an include.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 14:25:01 +0000 (14:25 +0000)]
Minor correction for PPC targets.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 14:21:01 +0000 (14:21 +0000)]
Some small changes to make the target info a bit more accurate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 13:48:25 +0000 (13:48 +0000)]
Perform stricter/more accurate checking for C99 constant expressions
in Sema, per discussion on mailing list. This doesn't cause any changes
in the test results. I'll probably add some more tests at some point,
but it's an open question what we need to accept to be compatible with
real code.
This doesn't touch the existing isConstantExpr method on Expr; that
should be addressed somehow eventually (either removed or refined to
whatever is appropriate).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 13:34:26 +0000 (13:34 +0000)]
Add a couple more headers. stddef was discussed on cfe-dev, and
consensus was that it was fine; iso646 is trivial.
We actually don't need that many headers overall... on Ubuntu, at least,
all we need are stdint.h, stdarg.h, limits.h, and float.h to stop
depending on having gcc's headers around for normal code.
On a side note, the path searching needs some improvement; I had to
hardcode the path to my header directory into clang.cpp to get the
driver to use it consistently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 12:55:29 +0000 (12:55 +0000)]
Test from PR2332; bug already fixed by r51311.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 09:21:07 +0000 (09:21 +0000)]
Disable the function address cache; this doesn't have any ill effects,
as far as I can tell, and it fixes code like test/CodeGen/functions.c.
(Whatever performance effect it might have, crashing on a
construct like this isn't really acceptable; I've run into this
multiple times.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 09:10:20 +0000 (09:10 +0000)]
Fix the scope of K&R-style argument declarations so that they don't
extend beyond the end of the function.
I'm not completely sure this is the right way to fix this bug, so
someone familiar with the parser should double-check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 09:04:19 +0000 (09:04 +0000)]
Fix test (it was incorrectly succeeding).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 08:59:34 +0000 (08:59 +0000)]
Add codegen support for stack address intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 08:27:04 +0000 (08:27 +0000)]
Fix typo in test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 08:23:37 +0000 (08:23 +0000)]
Add __builtin_frame_address and __builtin_return_address gcc builtins to
Sema. No codegen yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 07:56:31 +0000 (07:56 +0000)]
Implement codegen for comma operator for structs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 05:25:56 +0000 (05:25 +0000)]
Be a bit more defensive in SemaInit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 05:22:08 +0000 (05:22 +0000)]
Add some more checking for compound literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 04:49:55 +0000 (04:49 +0000)]
Reclaim memory from chains of ScopedDecls, and reclaim memory for the initializers of EnumConstantDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 04:10:52 +0000 (04:10 +0000)]
Delete AST nodes, not just Decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 03:56:00 +0000 (03:56 +0000)]
Reclaim memory allocated for ParmVarDecl's in FunctionDecl::Destroy.
Fixed a bug in ParmVarDecl::param_end(): Handle the case where there are no
ParmVarDecls for a FunctionDecl, but its function prototype has formal arguments
(can happen with typedefs).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 03:33:58 +0000 (03:33 +0000)]
When serializing FunctionDecl, serialize out a reference to the previous declaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 00:47:23 +0000 (00:47 +0000)]
Remove unnecessary #include (introduced by a recent patch of mine).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 20 May 2008 00:43:19 +0000 (00:43 +0000)]
Try to plug some memory leaks...
1) Sema::ParseAST now constructs a TranslationUnit object to own the top-level Decls, which releases the top-level Decls upon exiting ParseAST.
2) Bug fix: TranslationUnit::~TranslationUnit handles the case where a Decl is added more than once as a top-level Decl.
3) Decl::Destroy is now a virtual method, obviating the need for a special dispatch based on DeclKind.
3) FunctionDecl::Destroy now releases its Body using its Destroy method.
4) Added Stmt::Destroy and Stmt::DestroyChildren, which recursively delete the child ASTs of a Stmt and call their dstors. We may need to special case dstor/Destroy methods for particular Stmt subclasses that own other dynamically allocated objects besides AST nodes.
5) REGRESSION: We temporarily are not deallocating attributes; a FIXME is provided.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 00:11:07 +0000 (00:11 +0000)]
Restructure constant structure init codegen so that it's possible to
implement bitfield codegen (although I don't envy the person who
implements it). This also prevents a crash on code like that from PR2309
(it's still broken, but it fails more gracefully).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51285
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 20 May 2008 00:04:21 +0000 (00:04 +0000)]
Remove code that shouldn't have any effect anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 23:27:48 +0000 (23:27 +0000)]
Implement CodeGen for __builtin_memcpy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 19 May 2008 23:19:04 +0000 (23:19 +0000)]
Updated Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 19 May 2008 22:02:12 +0000 (22:02 +0000)]
Added Stmt::DestroyChildren, which will be used by the dstors of the subclasses of Stmt to recursively delete their child AST nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 21:24:43 +0000 (21:24 +0000)]
Make the unused expression warning a bit less aggressive (found in PHP
code).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51276
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 20:29:35 +0000 (20:29 +0000)]
Switch on SemaInit; this makes some code in SemaDecl dead, but I'll give
it a few days to make sure there aren't any significant regressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 20:20:43 +0000 (20:20 +0000)]
Adjust warning so that it doesn't fire when there is an error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 20:17:34 +0000 (20:17 +0000)]
Remove illegal test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 20:12:18 +0000 (20:12 +0000)]
Add errors for some illegal constructs (specifically, "int a = {{3}};"
and "int a = {};"). I'll adjust the tests in a bit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51265
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 20:00:43 +0000 (20:00 +0000)]
Some more SemaInit cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 19:16:24 +0000 (19:16 +0000)]
Various fixes; solves (almost) all of the test regressions that would be
caused by enabling SemaInit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 19 May 2008 17:51:16 +0000 (17:51 +0000)]
Fix the emission of expressions like char a[10] = "asdf"; previously,
they were causing bad code to be emitted. There are two fixes here: one
makes sure we emit a string that is long enough, and one makes sure we
properly handle string initialization in init lists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 18 May 2008 18:08:51 +0000 (18:08 +0000)]
Add proper type-checking for pointer additiion; before, we were accepting
addition with a pointer and an integer even when it didn't make sense.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51228
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 17 May 2008 20:03:47 +0000 (20:03 +0000)]
Fix support for _Bool bitfields. The issue is that the bitfield width
used for _Bool is not the same as the primitive width (which for _Bool
is 1 bit). The load and store changes add some casts to make the
types consistent. The EmitLValue changes make sure that the pointer is
of an appropriate type for loading the bitfield.
This isn't perfect, but it's an improvement, and getting everything
right depends on actually laying out structs in an ABI-compliant way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 May 2008 00:42:01 +0000 (00:42 +0000)]
Micro-optimization when checking for panic functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 May 2008 00:40:45 +0000 (00:40 +0000)]
Fix 80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 May 2008 00:33:23 +0000 (00:33 +0000)]
Added panic function _XCAssertionFailureHandler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 20:38:39 +0000 (20:38 +0000)]
Backout of codegen-based fix to PR2334; this has been fixed differently
at the Sema layer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51203
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 20:37:07 +0000 (20:37 +0000)]
Sema-based fix for PR2334. The issue is that even if the two sides of
the condidtional have compatible types, they are not necessarily the
same type. Therefore, we cast to the composite type. As a hack, for
the moment we assume that the composite type is the type of the
left-hand expression; this isn't correct, but it's good enough for most
purposes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 16 May 2008 18:59:42 +0000 (18:59 +0000)]
Fix some prototypes, and implement some builtins until we have our header files completed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51199
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 16 May 2008 18:33:44 +0000 (18:33 +0000)]
Cache leaks by the allocation site, not the leak location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 16 May 2008 18:33:14 +0000 (18:33 +0000)]
Partitioned BugTypeCachedLocation::isCached() into two methods: one that accepts and ExplodedNode, and the other that accepts a ProgramPoint. The default behavior is to cache bug reports by the
location they occur (the end node). Subclasses can override this behavior by providing a different ProgramPoint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51197
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 17:54:49 +0000 (17:54 +0000)]
Review nit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51196
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 17:51:27 +0000 (17:51 +0000)]
Clean up ownership per review comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51195
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 17:44:00 +0000 (17:44 +0000)]
Fix review nit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 17:37:11 +0000 (17:37 +0000)]
Patch for PR2334, and a similar ObjC bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 16 May 2008 16:06:00 +0000 (16:06 +0000)]
Added CFGBlock::hasBinaryBranchTerminator().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 16 May 2008 13:28:37 +0000 (13:28 +0000)]
Minor cleanup to isBuiltinConstantExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51188
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 15 May 2008 22:24:49 +0000 (22:24 +0000)]
Fixed another regression introduced by r51113 caused by some refactoring
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51168
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 15 May 2008 21:49:04 +0000 (21:49 +0000)]
Removed bogus "return true" in Expr::isConstantExpr that returned true for all
expressions. This appears to be a regression introduced in r51113 that caused
many test cases to fail (there is still a test case in the Analysis directory
that is failing):
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-
20080512 /005706.html
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51164
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 15 May 2008 21:12:10 +0000 (21:12 +0000)]
Fix rewriter bug <rdar://problem/
5929344 > clang ObjC rewriter: "extern int __CFConstantStringClassReference[];" should be extern "C".
Have clang predefine OBJC_NEW_PROPERTIES (which is what gcc does).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51163
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 15 May 2008 19:53:06 +0000 (19:53 +0000)]
Revert...
Author: akirtzidis
Date: Wed May 14 05:00:15 2008
New Revision: 51101
URL: http://llvm.org/viewvc/llvm-project?rev=51101&view=rev
Log: Upgrading VC++ projects to VC++ 2008.
I really need to build with VC++ 2005.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51158
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 15 May 2008 17:53:43 +0000 (17:53 +0000)]
Make isFileVarDecl() return true when the VarDecl is in a C++ namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 15 May 2008 17:26:35 +0000 (17:26 +0000)]
Comments fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 15 May 2008 07:38:03 +0000 (07:38 +0000)]
Handle a couple missing builtins that will go away eventually when the various
intrin.h files are finished
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51137
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 14 May 2008 22:12:15 +0000 (22:12 +0000)]
Add some of GCC's object checking builtin's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51133
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 May 2008 20:32:22 +0000 (20:32 +0000)]
Use double-underscores in front of all non-keywords to protect against
#define pollution.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 May 2008 20:26:52 +0000 (20:26 +0000)]
Don't specify a -o option to clang when not using "-checker-cfref".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 May 2008 20:20:46 +0000 (20:20 +0000)]
Fix variable misspelling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51122
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 May 2008 20:17:17 +0000 (20:17 +0000)]
Don't run clang on .s files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 May 2008 20:11:29 +0000 (20:11 +0000)]
Make header use the new __builtin_shufflevector builtin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 May 2008 20:10:33 +0000 (20:10 +0000)]
Added "-a" option to scan-build to select the analysis (ASTConsumer) used by clang. The default is -checker-cfref.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 May 2008 19:38:39 +0000 (19:38 +0000)]
Implementation of __builtin_shufflevector, a portable builtin capable of
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 May 2008 17:23:56 +0000 (17:23 +0000)]
Zero-pad the month and day fields in the output HTML directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 14 May 2008 10:50:44 +0000 (10:50 +0000)]
Update the clangSema VC++ project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 14 May 2008 10:49:47 +0000 (10:49 +0000)]
Change CRLF line endings to LF.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 14 May 2008 10:00:15 +0000 (10:00 +0000)]
Upgrading VC++ projects to VC++ 2008.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 May 2008 00:40:18 +0000 (00:40 +0000)]
An array of VLAs is a VLA. Shouldn't make any significant difference at
the moment, but it what you'd expect in the AST from reading the
standard, and it should make VLA codegen a bit more strightforward.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 May 2008 23:18:27 +0000 (23:18 +0000)]
Add codegen support for block-level compound literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 May 2008 23:11:35 +0000 (23:11 +0000)]
Add support for init lists for complex variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 May 2008 22:56:36 +0000 (22:56 +0000)]
Output #LINE for computing line counts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 May 2008 21:28:02 +0000 (21:28 +0000)]
Use "-i" option with make when ignoring errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 13 May 2008 21:03:02 +0000 (21:03 +0000)]
Remove AST dependency on VMCore by switching ExtVectorElementExpr off Constant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 May 2008 20:16:47 +0000 (20:16 +0000)]
Both operands to && have to be scalars, not just one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51065
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 May 2008 17:10:28 +0000 (17:10 +0000)]
Re-enable the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51055
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 May 2008 14:40:48 +0000 (14:40 +0000)]
Detabify.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 23:56:50 +0000 (23:56 +0000)]
Place "-x" option before other analyzer options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51014
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 23:47:41 +0000 (23:47 +0000)]
Directly invoke gcc immediately instead of before we process the command line arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51012
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 12 May 2008 22:36:43 +0000 (22:36 +0000)]
Fix <rdar://problem/
5924576 > clang -fsyntax-only generates "redefinition" errors when parsing AppKit that gcc does not.
Teach Sema::MergeVarDecl() about __private_extern__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 22:07:14 +0000 (22:07 +0000)]
Added internal command logging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51003
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 12 May 2008 21:44:38 +0000 (21:44 +0000)]
Fix <rdar://problem/
5928590 > clang -fsyntax-only: "incompatible operand types ('int' and 'void')" on input that 'gcc -fsyntax-only' eats
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51002
91177308 -0d34-0410-b5e6-
96231b3b80d8