summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CGExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-615/+0
| | | | | | | | | | 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
* Propagate calling convention information to function declarations and CallInstNate Begeman2008-03-091-5/+7
| | | | | | instructions. llvm-svn: 48077
* Implement extern block var.Lauro Ramos Venancio2008-02-161-3/+8
| | | | llvm-svn: 47223
* Remove useless parameter from isConstantSizeType.Eli Friedman2008-02-151-1/+1
| | | | llvm-svn: 47156
* Adjust for the API change to APInt::getBitsSet.Dan Gohman2008-02-121-1/+1
| | | | | | People more familiar with clang than me, please review this. llvm-svn: 47033
* Expose the logic for field address codegen; it is needed for aggregate Eli Friedman2008-02-091-3/+9
| | | | | | | | initializers, and I don't want to duplicate the bitfield-handling code. (I'll send a patch for aggregate initializers to the mailing list sometime soon.) llvm-svn: 46904
* Simplify bitfield codegen.Lauro Ramos Venancio2008-02-071-6/+19
| | | | | | Fix codegen of struct { short a[3]; int b:15; }. llvm-svn: 46859
* fix a problem reported by Eli, caused by not keeping bool as i1 Chris Lattner2008-01-301-2/+11
| | | | | | when in a register. llvm-svn: 46552
* Make sure to emit all the arguments to a function call. This fixes the Eli Friedman2008-01-301-10/+7
| | | | | | | codegen of calls to functions without a prototype and varargs functions, including printf. llvm-svn: 46543
* Fix a typo.Lauro Ramos Venancio2008-01-221-1/+1
| | | | llvm-svn: 46259
* Implement bitfield write.Lauro Ramos Venancio2008-01-221-2/+37
| | | | llvm-svn: 46258
* Implement bitfield read.Lauro Ramos Venancio2008-01-221-9/+35
| | | | llvm-svn: 46257
* Fix for EmitCallExpr changed in OverloadExpr patchNate Begeman2008-01-171-1/+1
| | | | llvm-svn: 46135
* Implement basic overload support via a new builtin, __builtin_overload.Nate Begeman2008-01-171-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | __builtin_overload takes 2 or more arguments: 0) a non-zero constant-expr for the number of arguments the overloaded functions will take 1) the arguments to pass to the matching overloaded function 2) a list of functions to match. The return type of __builtin_overload is inferred from the function whose args match the types of the arguments passed to the builtin. For example: float a; float sinf(float); int sini(int); float b = __builtin_overload(1, a, sini, sinf); Says that we are overloading functions that take one argument, and trying to pass an argument of the same type as 'a'. sini() does not match since it takes and argument of type int. sinf does match, so at codegen time this will turn into float b = sinf(a); llvm-svn: 46132
* Fix the type of predefined identifiers like __func__. Patch byChris Lattner2008-01-121-3/+0
| | | | | | Eli Friedman! llvm-svn: 45906
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* Enable CodeGen for member expressions based on call expressions returning ↵Christopher Lamb2007-12-291-0/+7
| | | | | | aggregate types. This enables expressions like 'foo().member.submember'. llvm-svn: 45395
* Make MemberExpr code safe w.r.t. address spaces.Christopher Lamb2007-12-291-2/+2
| | | | llvm-svn: 45394
* local static vars are globals also. This fixes a testcaseChris Lattner2007-12-181-1/+1
| | | | | | reported by Seo. llvm-svn: 45156
* Update to use new PointerType::getUnqual() api.Christopher Lamb2007-12-171-5/+10
| | | | llvm-svn: 45081
* Match union field type when member expression is u->xDevang Patel2007-12-111-2/+10
| | | | llvm-svn: 44879
* Add assert to flag incomplete bit-field support.Devang Patel2007-12-101-0/+3
| | | | llvm-svn: 44800
* fix logic for member expr codegen.Chris Lattner2007-12-021-11/+7
| | | | llvm-svn: 44520
* Handle global variable definitions which change the type of a definition, ↵Chris Lattner2007-12-021-2/+4
| | | | | | | | | | | such as: extern int x[]; void foo() { x[0] = 1; } int x[10]; void bar() { x[0] = 1; } llvm-svn: 44509
* convert the rest of the stderr users in codegen to use diagnostics.Chris Lattner2007-12-021-2/+1
| | | | llvm-svn: 44503
* fix a bug handling typedefs in member expr codegen. Patch Chris Lattner2007-11-301-2/+3
| | | | | | by Seo Sanghyeon llvm-svn: 44455
* Fix a codegen crash on void ?: reported by OliverChris Lattner2007-11-301-0/+5
| | | | llvm-svn: 44454
* Implement support for -fwritable-strings and make the code generatorChris Lattner2007-11-281-12/+2
| | | | | | merge string literals when it is not provided. llvm-svn: 44394
* __real__ and __imag__ can be lvalues. Add support to ast and codegen for them.Chris Lattner2007-10-301-3/+15
| | | | llvm-svn: 43525
* Fix 80 col violations.Devang Patel2007-10-301-5/+6
| | | | llvm-svn: 43516
* Codegen union member references.Devang Patel2007-10-261-9/+10
| | | | llvm-svn: 43390
* Handle non LValue base expressions.Devang Patel2007-10-261-8/+5
| | | | llvm-svn: 43387
* HandleDevang Patel2007-10-241-10/+19
| | | | | | foo()->a = 42; llvm-svn: 43315
* check base type.Devang Patel2007-10-241-1/+1
| | | | llvm-svn: 43283
* Use isUnionType() predicate.Devang Patel2007-10-241-1/+1
| | | | llvm-svn: 43281
* untabifyDevang Patel2007-10-241-3/+3
| | | | llvm-svn: 43280
* Handle simple struct member expr.Devang Patel2007-10-231-0/+31
| | | | llvm-svn: 43258
* move IdentifierTable.h from liblex to libbasic.Chris Lattner2007-10-071-1/+0
| | | | llvm-svn: 42730
* fix some warnings, patch by Justin HandvilleChris Lattner2007-09-161-0/+6
| | | | llvm-svn: 42010
* Phase 2 of making the Decl class more lightweight...Steve Naroff2007-09-131-1/+1
| | | | | | | | Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl. Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later. llvm-svn: 41934
* When dumping out errors about unsupported stuff, emit loc info.Chris Lattner2007-09-131-1/+1
| | | | llvm-svn: 41907
* Generalize RValue to handle complex better, generalize EmitCompoundStmt toChris Lattner2007-08-311-4/+22
| | | | | | support any sort of expr, add a new EmitAnyExpr routine. llvm-svn: 41660
* Implement codegen support for lowering "library builtins" like __builtin_isinf Chris Lattner2007-08-311-1/+4
| | | | | | | to their corresponding library routines (e.g. isinf). This allows us to handle all the stuff in macos math.h, and other stuff as it's added to *Builtins.def. llvm-svn: 41634
* remove some ugly code now that implicit defs are being generated in this ↵Chris Lattner2007-08-291-15/+0
| | | | | | case, thanks Steve! llvm-svn: 41560
* remove dead codeChris Lattner2007-08-261-4/+0
| | | | llvm-svn: 41470
* eliminate EmitAnyExpr, inlining it and simplifying it into its only caller.Chris Lattner2007-08-261-21/+0
| | | | llvm-svn: 41468
* eliminate use of EmitAnyExpr.Chris Lattner2007-08-261-17/+25
| | | | llvm-svn: 41467
* remove ConvertScalarValueToBool.Chris Lattner2007-08-261-72/+4
| | | | llvm-svn: 41447
* be slightly more volatile correctChris Lattner2007-08-261-1/+1
| | | | llvm-svn: 41444
* Omit EmitConversionChris Lattner2007-08-261-21/+0
| | | | llvm-svn: 41438
OpenPOWER on IntegriCloud