summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* CompilerInvocation: Move builtin-include-path logic out of ↵Daniel Dunbar2009-12-133-13/+16
| | | | | | CompilerInvocation::CreateFromArgs. llvm-svn: 91237
* Silence some release build warnings.Chandler Carruth2009-12-132-0/+2
| | | | llvm-svn: 91234
* Backend: Switch to using TargetOptions or TargetMachine to set some options ↵Daniel Dunbar2009-12-121-20/+40
| | | | | | instead of llvm::cl. llvm-svn: 91229
* patch to add a property from a protocol to a class that adopts the protocol.Fariborz Jahanian2009-12-121-0/+34
| | | | | | (fixes radar 7466494). llvm-svn: 91227
* Rework the way we handle template instantiation forDouglas Gregor2009-12-122-46/+77
| | | | | | | | | | | | | | | | | | | | | | | implicitly-generated AST nodes. We previously built instantiated nodes for each of these AST nodes, then passed them on to Sema, which was not prepared to see already-type-checked nodes (see PR5755). In some places, we had ugly workarounds to try to avoid re-type-checking (e.g., in VarDecl initializer instantiation). Now, we skip implicitly-generated nodes when performing instantiation, preferring instead to build just the AST nodes that directly reflect what was written in the source code. This has several advantages: - We don't need to instantiate anything that doesn't have a direct correlation to the source code, so we can have better location information. - Semantic analysis sees the same thing at template instantiation time that it would see for a non-template. - At least one ugly hack (VarDecl initializers) goes away. Fixes PR5755. llvm-svn: 91218
* Add initial support for realloc() in MallocChecker.Zhongxing Xu2009-12-121-10/+82
| | | | llvm-svn: 91216
* Remember the type name's scope specifier in the DeclSpec.John McCall2009-12-122-9/+10
| | | | llvm-svn: 91215
* When certain diagnostics involving run-time behavior would be emittedDouglas Gregor2009-12-122-14/+47
| | | | | | | | in a potentially potentially evaluated context, queue those diagnostics and only emit them if the context ends up being potentially evaluated. This completes the fix for PR5761. llvm-svn: 91213
* Suppress warnings and errors about certain uses of non-POD types (inDouglas Gregor2009-12-121-11/+48
| | | | | | | | __builtin_offsetof, passing through an ellipsis) when we're in an unevaluated context. This is the first part of the fix to PR5761, which deals with the simple case of an unevaluated context. llvm-svn: 91210
* Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gaveJeffrey Yasskin2009-12-1219-41/+41
| | | | | | no extra safety anyway. llvm-svn: 91207
* Fix for PR4642: move work in HTMLPrinter out of the destructor.Eli Friedman2009-12-121-2/+2
| | | | llvm-svn: 91205
* Fix tyop.Anders Carlsson2009-12-121-1/+1
| | | | llvm-svn: 91204
* Implement runtime checks for undefined behavior. WIP.Mike Stump2009-12-127-1/+77
| | | | | | | | | | | | | This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for: T a[I]; a[i] abort when i < 0 or i >= I. Future stuff includes shifts by >= bitwidth amounts. llvm-svn: 91198
* We should only scan for nested blocks if we are analyzing the body of a ↵Ted Kremenek2009-12-121-1/+1
| | | | | | function/method. llvm-svn: 91196
* Make using '-fshort-enums' an error until it is actually implemented ↵Ted Kremenek2009-12-121-1/+2
| | | | | | (changes the ABI, so it is dangerous to not error out if we don't support it). Fixes <rdar://problem/7461006>. llvm-svn: 91191
* Correctly diagnose [basic.stc.dynamic.allocation]p1Anders Carlsson2009-12-121-11/+29
| | | | llvm-svn: 91190
* Factor operator new declaration checking out into a separate function.Anders Carlsson2009-12-122-20/+25
| | | | llvm-svn: 91189
* More work on improving the operator delete diagnostics.Anders Carlsson2009-12-121-9/+19
| | | | llvm-svn: 91187
* Fix build.Anders Carlsson2009-12-111-7/+1
| | | | llvm-svn: 91182
* Improve diagnostics for malformed delete operator function declarations.Anders Carlsson2009-12-111-4/+55
| | | | llvm-svn: 91180
* Update docs/comments/utils/examples to refer to clang -cc1 instead of clang-cc.Daniel Dunbar2009-12-111-1/+1
| | | | llvm-svn: 91176
* Driver: Switch to using "clang" "-cc1" instead of "clang-cc".Daniel Dunbar2009-12-111-2/+7
| | | | llvm-svn: 91174
* Patch to allow C-style cast from 'void *' to block pointer type.Fariborz Jahanian2009-12-113-0/+8
| | | | | | (fixes radar 7465023). llvm-svn: 91171
* StmtDumper::VisitUnresolvedLookupExprJohn McCall2009-12-111-0/+14
| | | | llvm-svn: 91163
* Consider conversion of objective-c pointer to 'bool' a Fariborz Jahanian2009-12-111-1/+1
| | | | | | valid standard conversion to match g++'s behaviour. llvm-svn: 91157
* Fix for PR5714: make sure globals that will be modified aren't marked const.Eli Friedman2009-12-111-5/+13
| | | | llvm-svn: 91156
* Switch PathDiagnostic to StringRef.Benjamin Kramer2009-12-111-36/+13
| | | | llvm-svn: 91155
* Fix linkage of type info and vtable for classes without linkage.Eli Friedman2009-12-112-3/+3
| | | | llvm-svn: 91152
* Make sure mangling doesn't crash in another case. Add some more tests.Eli Friedman2009-12-111-1/+1
| | | | llvm-svn: 91149
* Don't enter a new scope for a namespace-qualified declarator unless we'reJohn McCall2009-12-113-3/+44
| | | | | | | in a file context. In well-formed code, only happens with friend functions. Fixes PR 5760. llvm-svn: 91146
* When code completion of an overload set fails, produce results for ordinary ↵Douglas Gregor2009-12-111-5/+16
| | | | | | name lookup instead. llvm-svn: 91141
* Add a function's cv-qualifiers to the code-completion results as anDouglas Gregor2009-12-111-4/+24
| | | | | | informative chunk. llvm-svn: 91139
* Teach code completion to instantiate templates when it needs toDouglas Gregor2009-12-111-1/+6
| | | | llvm-svn: 91138
* Member function templates can occur after . or ->Douglas Gregor2009-12-111-1/+2
| | | | llvm-svn: 91137
* Fix for PR5706: let mangleName deal with mangling names without identifiersEli Friedman2009-12-111-4/+1
| | | | | | correctly. llvm-svn: 91136
* Tweak code-completion results by suppressing class templateDouglas Gregor2009-12-111-8/+15
| | | | | | | | | specializations and class template partial specializations (they're never named directly). Also, member access expressions only refer to value declarations (fields, functions, enumerators, etc.) and Objective-C property declarations; filter out everything else. llvm-svn: 91133
* Move info vectors and add assertions in preparation of moving the vector ↵Anders Carlsson2009-12-111-7/+11
| | | | | | directly into RTTIBuilder. llvm-svn: 91129
* Use GetAddrOfRTTI when getting the RTTI pointer for a base class.Anders Carlsson2009-12-111-4/+1
| | | | llvm-svn: 91127
* Class template (partial) specializations should not show up in code ↵Douglas Gregor2009-12-111-0/+5
| | | | | | completion results llvm-svn: 91125
* Random string-related cleanups.Benjamin Kramer2009-12-113-9/+5
| | | | llvm-svn: 91119
* Use StringRef.getAsInteger instead of temporary string + strtol. No intended ↵Benjamin Kramer2009-12-111-9/+3
| | | | | | functionality change. llvm-svn: 91118
* Move the code for converting a member pointer to a bool so that it is usableEli Friedman2009-12-112-28/+17
| | | | | | for logical not. llvm-svn: 91112
* Fix for PR5718: implement equality comparisons for member function pointers.Eli Friedman2009-12-111-1/+28
| | | | llvm-svn: 91108
* Enhance understanding of VarRegions referenced by a block whose declarations ↵Ted Kremenek2009-12-114-10/+40
| | | | | | are outside the current stack frame. Fixes <rdar://problem/7462324>. llvm-svn: 91107
* Completely evaluate malloc/free in MallocChecker.cpp.Zhongxing Xu2009-12-111-8/+20
| | | | llvm-svn: 91100
* Improve linkage of RTTI data structures. Introduce ↵Anders Carlsson2009-12-114-52/+100
| | | | | | CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests). llvm-svn: 91098
* Fix a recent regression from the initialization changes.Eli Friedman2009-12-112-10/+13
| | | | llvm-svn: 91097
* Check if the target of a using decl is already declared in this scope beforeJohn McCall2009-12-111-12/+15
| | | | | | | doing any of the other redeclaration checks. We were missing a few cases. Fixes PR 5752. llvm-svn: 91096
* Implement access declarations. Most of the work here is parsing them, whichJohn McCall2009-12-114-1/+56
| | | | | | | | | | | | is difficult because they're so terribly, terribly ambiguous. We implement access declarations in terms of using declarations, which is quite reasonable. However, we should really persist the access/using distinction in the AST and use the appropriate name in diagnostics. This isn't a priority, so I'll just file a PR and hope someone else does it. :) llvm-svn: 91095
* Fix the handling of dependent enums per C++ DR 502.Eli Friedman2009-12-111-4/+18
| | | | llvm-svn: 91089
OpenPOWER on IntegriCloud