summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make sure we or together the overflow flags of the multiply and add, so theEli Friedman2011-04-091-1/+1
| | | | | | check is triggered appropriately. Reported on cfe-dev. llvm-svn: 129231
* strcat() and strncat() model additions to CStringChecker.Lenny Maiorani2011-04-091-9/+64
| | | | | | Validates inputs are not NULL, checks for overlapping strings, concatenates the strings checking for buffer overflow, sets the length of the destination string to the sum of the s1 length and the s2 length, binds the return value to the s1 value. llvm-svn: 129215
* refactor flags for TokenKinds.defDylan Noblesmith2011-04-091-12/+12
| | | | | | | | Make KEYALL a combination of all other flags instead of its own separate flag. Also rewrite the enum definitions in hex instead of decimal. llvm-svn: 129213
* refactor -ccc-gcc-name codeDylan Noblesmith2011-04-092-16/+22
| | | | | | | | | | | | Put the logic for deciding the default name for gcc/g++ in the only place that actually cares about it. This also pushes an ifdef out of the generic driver code to a little further down, when the target is actually known. Hopefully it can be changed into just a runtime check in the future. llvm-svn: 129212
* PR8369: make __attribute((regparm(0))) work correctly. Original patch byEli Friedman2011-04-099-16/+29
| | | | | | pageexec@freemail.hu, tweaks by me. llvm-svn: 129206
* Clean up the bool conversion warning. Group it with other conversionChandler Carruth2011-04-091-1/+2
| | | | | | | warnings, and make its text appropriate for constant bool expressions other than 'false'. This should finish off PR9612. llvm-svn: 129205
* Add support for warning on general null pointer expressions of booleanChandler Carruth2011-04-091-5/+5
| | | | | | | type rather than just the literal 'false'. This begins fixing PR9612, but the message is now wrong. WIP, the cleanup of the messaging is next. llvm-svn: 129204
* fix indentationChris Lattner2011-04-091-7/+6
| | | | llvm-svn: 129202
* accept -x objc-cpp-output as an alias for -x objective-c-cpp-output,Chris Lattner2011-04-091-0/+1
| | | | | | per PR9577 llvm-svn: 129201
* add a __sync_swap builtin to fill out the rest of the __sync builtins. Chris Lattner2011-04-092-1/+12
| | | | | | Patch by Dave Zarzycki! llvm-svn: 129189
* Convert the PointerWidthInBytes variable in EmitMemberPointer() to CharUnitsKen Dyck2011-04-091-4/+4
| | | | | | to eliminate a divide-by-8. No change in functionality intended. llvm-svn: 129180
* Eliminate a divide-by-8 in BuildVMIClassTypeInfo() by using CharUnits forKen Dyck2011-04-091-4/+5
| | | | | | the base offset. No change in functionality intended. llvm-svn: 129179
* Apply explicit braces to avoid ambiguous 'else' [-Wparentheses]Nick Lewycky2011-04-091-2/+2
| | | | llvm-svn: 129176
* Eat the UTF-8 BOM at the beginning of a file since it's ignored anyhow.Eric Christopher2011-04-092-7/+19
| | | | | | | | Nom Nom Nom. Patch by Anton Korobeynikov! llvm-svn: 129174
* Fixes a rewrting bug of a property-dot syntax expression insideFariborz Jahanian2011-04-081-0/+1
| | | | | | a block. First part of // rdar://9254348 llvm-svn: 129171
* Start overhauling static analyzer support for C++ constructors. The ↵Ted Kremenek2011-04-082-36/+110
| | | | | | | | | inlining support isn't complete, and needs to be reworked to model CallEnter/CallExit (just like all other calls). For now, treat constructors mostly like other function calls, making the analysis of C++ code just a little more useful. llvm-svn: 129166
* Do not use zero as an upper bound for unbounded array because upper bound ↵Devang Patel2011-04-081-6/+17
| | | | | | zero also indicates one element array. llvm-svn: 129157
* Rename -mtrap_function= to -ftrap_function= since it's now a target neutral ↵Evan Cheng2011-04-081-11/+7
| | | | | | options. llvm-svn: 129153
* Add -mtrap_function=<> option. rdar://9257465Evan Cheng2011-04-081-0/+11
| | | | llvm-svn: 129145
* Use ExprResult& instead of Expr *& in SemaJohn Wiegley2011-04-0815-1328/+1768
| | | | | | | | | | | | | | | | | | | | | | | | | This patch authored by Eric Niebler. Many methods on the Sema class (e.g. ConvertPropertyForRValue) take Expr pointers as in/out parameters (Expr *&). This is especially true for the routines that apply implicit conversions to nodes in-place. This design is workable only as long as those conversions cannot fail. If they are allowed to fail, they need a way to report their failures. The typical way of doing this in clang is to use an ExprResult, which has an extra bit to signal a valid/invalid state. Returning ExprResult is de riguour elsewhere in the Sema interface. We suggest changing the Expr *& parameters in the Sema interface to ExprResult &. This increases interface consistency and maintainability. This interface change is important for work supporting MS-style C++ properties. For reasons explained here <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013180.html>, seemingly trivial operations like rvalue/lvalue conversions that formerly could not fail now can. (The reason is that given the semantics of the feature, getter/setter method lookup cannot happen until the point of use, at which point it may be found that the method does not exist, or it may have the wrong type, or overload resolution may fail, or it may be inaccessible.) llvm-svn: 129143
* Warn for any kind of initialization if initializer does notFariborz Jahanian2011-04-081-4/+41
| | | | | | | implement lhs's protocols. // rdar://9091389. llvm-svn: 129142
* fix a typo, patch by PaX team.Chris Lattner2011-04-081-1/+1
| | | | llvm-svn: 129141
* Driver: Don't attempt to forward some Clang-only options to cc1.Daniel Dunbar2011-04-071-0/+6
| | | | llvm-svn: 129108
* Frontend/CC_LOG_DIAGNOSTICS: Fix thinko and open diag log in append mode.Daniel Dunbar2011-04-071-1/+1
| | | | llvm-svn: 129103
* Teach -Wuninitialized to not warn about variables declared in C++ catch ↵Ted Kremenek2011-04-071-0/+1
| | | | | | statements. llvm-svn: 129102
* Fronted/CC_LOG_DIAGNOSTICS: Wire up dwarf-debug-flags support.Daniel Dunbar2011-04-071-5/+10
| | | | llvm-svn: 129095
* Fronted/CC_LOG_DIAGNOSTICS: Output main file name, and add support forDaniel Dunbar2011-04-071-2/+19
| | | | | | outputting dwarf-debug-flags. llvm-svn: 129094
* Fronted/CC_LOG_DIAGNOSTICS: Tweak output form to be plist chunks, and don'tDaniel Dunbar2011-04-071-11/+25
| | | | | | output missing data. llvm-svn: 129093
* Frontend: Continue flushing out LogDiagnosticPrinter.Daniel Dunbar2011-04-071-5/+81
| | | | llvm-svn: 129091
* Frontend: Sketch a LogDiagnosticPrinter object, and wire CC_LOG_DIAGNOSTICS toDaniel Dunbar2011-04-073-0/+72
| | | | | | it. llvm-svn: 129089
* Frontend: Sketch support for -diagnostic-log-file, which still doesn't do ↵Daniel Dunbar2011-04-071-0/+5
| | | | | | anything. llvm-svn: 129086
* Enhance the Rewriter.Argyrios Kyrtzidis2011-04-071-7/+76
| | | | | | | -Allow removing a line completely if it ends up empty -Provide more control on what should be removed. llvm-svn: 129085
* Driver: Sketch driver support for a CC_LOG_DIAGNOSTICS options, similar to theDaniel Dunbar2011-04-072-4/+12
| | | | | | | existing CC_PRINT_OPTIONS and CC_PRINT_HEADERS, which can be used to transparently capture the compiler diagnostics from a build. llvm-svn: 129082
* [Reapply r128776, modified so that it does not break debug info.]Ken Dyck2011-04-075-12/+18
| | | | | | | Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 129072
* In C++ the argument of logical not should always be bool. Added missing ↵Abramo Bagnara2011-04-073-15/+26
| | | | | | implicit cast for scalars. llvm-svn: 129066
* Basic, untested implementation for an "unknown any" type requested by LLDB.John McCall2011-04-0721-39/+271
| | | | | | | | | | | | The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions. llvm-svn: 129065
* [Reapply r128773. This is not the source of the issues Devang was seeingKen Dyck2011-04-072-6/+6
| | | | | | | | | with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. llvm-svn: 129048
* [Reapply r128771. It wasn't the source of the issues Devang saw with debugKen Dyck2011-04-071-4/+4
| | | | | | | | | info.] Use CharUnits for the offset type in the ClassNamesAndOffsets map in dumpLayout(). No change in functionality intended. llvm-svn: 129046
* Reapply r128770. It's not the cause of the issues Devang saw with debug info. Ken Dyck2011-04-071-8/+11
| | | | | | | Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No change in functionality intended. llvm-svn: 129043
* Wide Pascal strings should be of type wchar_t[] and not unsigned char[].Anders Carlsson2011-04-061-2/+4
| | | | llvm-svn: 129017
* Fix lookup for class messages sent to qualified-classFariborz Jahanian2011-04-062-30/+54
| | | | | | | types such that protocols are seached first. Fixes // rdar://9224670 llvm-svn: 129016
* Add support for Fedora16, gcc 4.6.0 and Fedora Rawhide.Eric Christopher2011-04-062-7/+21
| | | | | | Patch by Bobby Powers llvm-svn: 129014
* Refine rules for atomic property api toFariborz Jahanian2011-04-061-2/+17
| | | | | | | pass a previously failing clang test. // rdar://8808439 llvm-svn: 129004
* Do not use IR marker for LLVM intrinsicsPeter Collingbourne2011-04-061-2/+3
| | | | llvm-svn: 129001
* If this is an intrinsic function, set the function's attributes to the ↵Peter Collingbourne2011-04-061-0/+7
| | | | | | intrinsic's attributes. llvm-svn: 129000
* When updating the retain summary based on {cf,ns}_consumed attributes,John McCall2011-04-061-1/+1
| | | | | | | be sure to consume the argument index that actually had the attribute rather than always the first. rdar://problem/9234108 llvm-svn: 128998
* Implement the AVX cmp builtins as macros instead of static inlines.John McCall2011-04-061-30/+12
| | | | | | Patch by Syoyo Fujita! Reviewed by Chris Lattner! Checked in by me! llvm-svn: 128984
* Diagnose a missing ')' on what looks like a statement expression.John McCall2011-04-061-1/+6
| | | | | | | A situation where we can get an invalid ExprResult without an error. Fixes PR8394. Patch by Justin Bogner! llvm-svn: 128979
* Fix getLocForEndOfToken to not double-count spurious internal characters John McCall2011-04-061-1/+1
| | | | | | | within a token, like trigraphs and escaped newlines. Patch by Marcin Kowalczyk! llvm-svn: 128978
* Simplify.Devang Patel2011-04-051-3/+1
| | | | llvm-svn: 128957
OpenPOWER on IntegriCloud