summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Add basic support for properties references (a missing feature).Steve Naroff2008-05-306-3/+101
| | | | | | While it is far from complete, it does fix the following <rdar://problem/5967199> clang on xcode: error: member reference is not to a structure or union llvm-svn: 51719
* Fix one strict-aliasing warning.Ted Kremenek2008-05-291-8/+8
| | | | llvm-svn: 51707
* - Move ObjC Expresssion AST's from Expr.h => ExprObjC.hSteve Naroff2008-05-2916-284/+320
| | | | | | - #include ExprObjC.h in many places llvm-svn: 51703
* Update to follow recent LLVM changesAnton Korobeynikov2008-05-293-3/+3
| | | | llvm-svn: 51689
* Implement support for -w, which silences all warnings. PR2384.Chris Lattner2008-05-293-4/+19
| | | | llvm-svn: 51683
* More complete/correct implementation of the comparison operators for Eli Friedman2008-05-292-7/+59
| | | | | | constant expressions. llvm-svn: 51682
* Fix an extremely subtle bug with pointer comparisons: they have to be Eli Friedman2008-05-292-4/+7
| | | | | | | unsigned because it's possible (at least in theory) to have have both positive and negative pointers pointing to the same object. llvm-svn: 51681
* Rearrange EmitLValueForField a bit to work properly for _Bool bitfields Eli Friedman2008-05-292-10/+12
| | | | | | | in unions (we don't want to do the union-specific bitcast for bit-fields). llvm-svn: 51678
* Add codegen support for a few more kinds of initializer constant Eli Friedman2008-05-292-1/+38
| | | | | | expressions. llvm-svn: 51677
* Add CodeGen support for alignment on globals, both for unusual natural Eli Friedman2008-05-292-0/+10
| | | | | | alignment and alignment attributes. llvm-svn: 51676
* A couple minor fixes to make debug info usable for arbitrary code: don't Eli Friedman2008-05-292-1/+8
| | | | | | | | emit incomplete types, because they crash llc, and always use the logical location as the current location so we don't crash doing invalid queries on CurLoc. llvm-svn: 51675
* Tentative declarations are supposed to have common linkage, not weak. Eli Friedman2008-05-292-2/+2
| | | | | | This change makes clang generate the same thing as llvm-gcc. llvm-svn: 51674
* Always use packed structs. This isn't really very nice, but there's Eli Friedman2008-05-293-21/+15
| | | | | | | | | | | | | nothing fundamentally wrong with it. Emitting unpacked structs where possible is more work for almost no practical benefit. We'll probably want to fix it at some point anyway, but it's low priority. The issue with long double in particular is that LLVM thinks an X86 long double is 10 bytes, while clang considers it for all purposes to be either 12 or 16 bytes, depending on the platform, even in a packed struct. llvm-svn: 51673
* Implementation of stdarg.h.Eli Friedman2008-05-291-0/+39
| | | | llvm-svn: 51672
* Fix rewrite rope to keep the leaf list up-to-date as it erases leavesChris Lattner2008-05-282-6/+28
| | | | | | from the rope. rdar://5952468 llvm-svn: 51651
* give location info to another paren expr.Chris Lattner2008-05-281-1/+2
| | | | llvm-svn: 51646
* add an assertionChris Lattner2008-05-281-0/+1
| | | | llvm-svn: 51645
* Fix a couple crashes on invalid input.Chris Lattner2008-05-272-1/+7
| | | | llvm-svn: 51622
* When the build command is xcodebuild, set the magical environment variable ↵Ted Kremenek2008-05-271-1/+7
| | | | | | LDPLUSPLUS to g++ to ensure that C++ object files are linked with g++ instead of gcc. llvm-svn: 51621
* Correctly check to see if we are analyzing C++ files (skip).Ted Kremenek2008-05-271-1/+1
| | | | llvm-svn: 51620
* Check first member alignment and uses packed struct if required.Devang Patel2008-05-272-0/+5
| | | | llvm-svn: 51619
* Fix test caseDevang Patel2008-05-271-0/+1
| | | | llvm-svn: 51618
* Add the copysign builtins; I ran into a program that wanted Eli Friedman2008-05-271-0/+3
| | | | | | __builtin_copysign. llvm-svn: 51597
* A few more cases for aggregate values.Eli Friedman2008-05-272-0/+24
| | | | llvm-svn: 51596
* Implementation of __builtin_ctlz.Eli Friedman2008-05-272-0/+18
| | | | llvm-svn: 51595
* Assume statement expressions have side effects; this gets rid of a lot Eli Friedman2008-05-271-2/+5
| | | | | | of extra warnings in the Python source. llvm-svn: 51594
* The cache is working again; re-enable it.Eli Friedman2008-05-271-3/+0
| | | | llvm-svn: 51587
* Get the type right for wide string literals; it's wchar_t, not char.Eli Friedman2008-05-272-1/+4
| | | | llvm-svn: 51586
* Add FIXME.Eli Friedman2008-05-271-0/+1
| | | | llvm-svn: 51585
* Don't swap function decls, and add them to the scope as they are Eli Friedman2008-05-274-68/+17
| | | | | | | | | | | | | encountered. Mixing up the decls is unintuitive, and confuses the AST destruction code. Fixes PR2360. Note that there is a need to look up the characteristics and declarations of a function associated with a particular name or decl, but the original swapping code doesn't solve it properly. http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-May/001644.html is one suggestion for how to fix that. llvm-svn: 51584
* Add a more reliable check for whether a static declaration has already Eli Friedman2008-05-272-17/+17
| | | | | | | been used. In preparation for the fix to PR2360, but also a minor bug in its own right. llvm-svn: 51583
* Stop leaking the main Sema object. (Leak found using valgrind.)Eli Friedman2008-05-271-2/+3
| | | | llvm-svn: 51580
* Stop leaking the target data. (Leak found with valgrind.)Eli Friedman2008-05-271-0/+1
| | | | llvm-svn: 51579
* Generalize the float type generation code, and specifically fix the Eli Friedman2008-05-272-5/+23
| | | | | | codegen of X86 long double. llvm-svn: 51578
* Implementation of gcc mode attribute; this is significant because Eli Friedman2008-05-277-1/+169
| | | | | | | | | | it fixes PR2204. Not too much to say about the implementation; it works in a similar way to the vector size attribute. At some point, we need to modify the targets to provide information about the appropriate types. llvm-svn: 51577
* Rewrite struct/union layout. This is mostly cleanup; this might also fix Eli Friedman2008-05-271-192/+80
| | | | | | | | | a few bugs, but I don't know of any in particular. This has good effects besides cleanup, though: it also should make it easier to implement the aligned and packed attributes, and also target-specific struct layouts, because the code won't have to be duplicated in codegen. llvm-svn: 51576
* Stop leaking the TUDecl.Eli Friedman2008-05-271-0/+2
| | | | llvm-svn: 51575
* Change diagnostic per suggestion, to make it a bit clearer what is Eli Friedman2008-05-274-5/+5
| | | | | | happening. llvm-svn: 51574
* Emit memmove, not memcpy, for structure copies; this is unfortunately Eli Friedman2008-05-263-4/+18
| | | | | | | | | | | | | | | | | required for correctness in cases of copying a struct to itself or to an overlapping struct (itself for cases like *a = *a, and overlapping is possible with unions). Hopefully, this won't end up being a perf issue; LLVM *should* be able to optimize memmove to memcpy in a lot of cases, and for small copies the generated code *should* be mostly comparable. (In reality, LLVM is currently horrible at optimizing memmove, but that's a bug, not a fundamental issue.) gcc currently generates wrong code; that's http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667. llvm-svn: 51566
* Fix for PR2001. I'm not really fond of it, but it is correct (unless Eli Friedman2008-05-251-1/+10
| | | | | | | | someone tries to make a bitfield volatile?). Not sure how to write a test; any suggestions? llvm-svn: 51558
* Count the number of initializable members correctly in structs/unions Eli Friedman2008-05-252-2/+12
| | | | | | with unnamed members. llvm-svn: 51557
* Diagnose implicit init list for empty aggregate, like struct {}. Fixes Eli Friedman2008-05-253-0/+13
| | | | | | PR2151 (by not creating the empty implicit init list). llvm-svn: 51556
* Move the error checking for variable-sized objects so we don't Eli Friedman2008-05-252-20/+23
| | | | | | double-report errors; fixes PR2362. llvm-svn: 51555
* Make sure to define __sparc__ on Solaris; this should "fix" Eli Friedman2008-05-251-0/+1
| | | | | | test/Codegen/mandel.c on Solaris. :-) llvm-svn: 51554
* Generate subprogram debug info with -g.Sanjiv Gupta2008-05-255-86/+442
| | | | | | Also take care of freeing memory at the right places. llvm-svn: 51553
* Fix this test on non-X86 platforms.Eli Friedman2008-05-251-1/+2
| | | | llvm-svn: 51552
* Always initialize NEXT_CATCH; fixes a Valgrind uninitialized read error Eli Friedman2008-05-251-3/+2
| | | | | | (originally reported in PR1682). llvm-svn: 51551
* Fix variable misspelling.Ted Kremenek2008-05-241-1/+1
| | | | llvm-svn: 51548
* Don't use inferlanguage to override the default language for all files.Ted Kremenek2008-05-241-2/+3
| | | | llvm-svn: 51547
* Don't analyze .o files.Ted Kremenek2008-05-241-1/+1
| | | | llvm-svn: 51546
OpenPOWER on IntegriCloud