summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Fixes a regression caused by my last patch. Fariborz Jahanian2011-04-051-1/+2
| | | | | | | As a result, I had to remove a c++ version of a clang test which requires more scrutiny on my part. llvm-svn: 128950
* Emit debug info for function template parameters.Devang Patel2011-04-052-15/+47
| | | | llvm-svn: 128948
* Add ToolChain support to get Clang to recognize Ubuntu/ppc and Gentoo/ppc64.Ted Kremenek2011-04-052-10/+39
| | | | llvm-svn: 128944
* Generate atomic api for atomic properties (x86 and x86_64Fariborz Jahanian2011-04-051-8/+59
| | | | | | | targets) when load/store results in multiple instructions. // rdar://8808439 llvm-svn: 128937
* Commit a bit of a hack to fully handle the situation where variables areChandler Carruth2011-04-051-4/+16
| | | | | | | | | | | | | | | | marked explicitly as uninitialized through direct self initialization: int x = x; With r128894 we prevented warnings about this code, and this patch teaches the analysis engine to continue analyzing subsequent uses of 'x'. This should wrap up PR9624. There is still an open question of whether we should suppress the maybe-uninitialized warnings resulting from variables initialized in this fashion. The definitely-uninitialized uses should always be warned. llvm-svn: 128932
* Remove unintentional check-in.Devang Patel2011-04-051-3/+0
| | | | llvm-svn: 128928
* Enable sse4 and aes for SandyBridge. Leave avx support commented out for now.Roman Divacky2011-04-051-2/+5
| | | | llvm-svn: 128923
* Fix typo.Devang Patel2011-04-052-1/+5
| | | | llvm-svn: 128921
* Add security syntax checker for strcat() which causes the Static Analyzer to ↵Lenny Maiorani2011-04-051-57/+91
| | | | | | | | generate a warning any time the strcat() function is used with a note suggesting to use a function which provides bounded buffers. CWE-119. Also, brings the security syntax checker more inline with coding standards. llvm-svn: 128916
* Use TemplateParameterList to extract template parameter name.Devang Patel2011-04-051-8/+15
| | | | llvm-svn: 128915
* Added *hidden* flags -print-options and -print-all-options soAndrew Trick2011-04-051-0/+3
| | | | | | | | | | | | | | | | | | | developers can see if their driver changed any cl::Option's. The current implementation isn't perfect but handles most kinds of options. This is nice to have when decomposing the stages of compilation and moving between different drivers. It's also a good sanity check when comparing results produced by different command line invocations that are expected to produce the comparable results. Note: This is not an attempt to prolong the life of cl::Option. On the contrary, it's a placeholder for a feature that must exist when cl::Option is replaced by a more appropriate framework. A new framework needs: a central option registry, dynamic name lookup, non-global containers of option values (e.g. per-module, per-function), *and* the ability to print options values and their defaults at any point during compilation. llvm-svn: 128911
* whitespaceAndrew Trick2011-04-051-3/+3
| | | | llvm-svn: 128908
* Simplify the tracking of when to issue a fixit hint, making the helperChandler Carruth2011-04-051-13/+18
| | | | | | | | function more clear and obvious in behavior. Add some comments documenting the behavior of the primary diagnostic helper. llvm-svn: 128901
* Separate the logic for issuing the initialization fixit hint from theChandler Carruth2011-04-051-4/+10
| | | | | | | diagnostic emission. The fixit hint, when suggested, typically has nothing to do with the nature or form of the reference. llvm-svn: 128899
* Begin refactoring the uninitialized warning code that I uglied up. ThisChandler Carruth2011-04-051-91/+94
| | | | | | | | | | | | | extracts a function to handle the emission of the diagnostic separately from the walking over the set of uninitialized uses. Also updates the naming used within this extracted function to be a bit more consistent with the rest of Clang's naming patterns. The next step will be breaking this apart so that we can go through different functions rather than tracking so many boolean variables. llvm-svn: 128898
* Fix PR9624 by explicitly disabling uninitialized warnings for direct self-init:Chandler Carruth2011-04-051-17/+28
| | | | | | | | | | | | | | | int x = x; GCC disables its warnings on this construct as a way of indicating that the programmer intentionally wants the variable to be uninitialized. Only the warning on the initializer is turned off in this iteration. This makes the code a lot more ugly, but starts commenting the surprising behavior here. This is a WIP, I want to refactor it substantially for clarity, and to determine whether subsequent warnings should be suppressed or not. llvm-svn: 128894
* Refactor.Devang Patel2011-04-052-23/+36
| | | | llvm-svn: 128893
* Fix copy-and-paste bug that I introduced while tidying up the code.David Chisnall2011-04-051-1/+1
| | | | | | Does anyone want to buy me a new brain? llvm-svn: 128890
* Cleanup the style of some of this code prior to functional changes.Chandler Carruth2011-04-051-25/+28
| | | | | | | | | I think this moves the code in the desired direction of the new style recommendations (and style conventional in Clang), but if anyone prefers the previous style, or has other suggestions just chime in and I'll follow up. llvm-svn: 128878
* Refactor one helper function to merely forward to another so that thereChandler Carruth2011-04-051-7/+6
| | | | | | is a single implementation. No functionality change intended. llvm-svn: 128877
* Set AAPCS-VFP calling convention accordingly and hard float ABI command ↵Sandeep Patel2011-04-052-7/+11
| | | | | | handling. llvm-svn: 128866
* Fix PR 9626 (duplicated self-init warnings under -Wuninitialized) with ↵Ted Kremenek2011-04-045-69/+58
| | | | | | | | | | | | | | numerous CFG and UninitializedValues analysis changes: 1) Change the CFG to include the DeclStmt for conditional variables, instead of using the condition itself as a faux DeclStmt. 2) Update ExprEngine (the static analyzer) to understand (1), so not to regress. 3) Update UninitializedValues.cpp to initialize all tracked variables to Uninitialized at the start of the function/method. 4) Only use the SelfReferenceChecker (SemaDecl.cpp) on global variables, leaving the dataflow analysis to handle other cases. The combination of (1) and (3) allows the dataflow-based -Wuninitialized to find self-init problems when the initializer contained control-flow. llvm-svn: 128858
* Eliminate conservative check that is covered by isIncompleteType() check.Devang Patel2011-04-041-5/+0
| | | | llvm-svn: 128857
OpenPOWER on IntegriCloud