aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-12clang/test/Index/index-module.m: Tweak expressions to fit Win32 paths.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165794 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12Remove unused variable.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165793 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12[PCH] We only need to record C++ overridden methods once for the canonical decl.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165788 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12Conditionally use an integral cast for BodyFarm support for ↵Ted Kremenek
OSAtomicCompareAndSwap if the return type is not a boolean. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165774 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12Track which particular submodule #undef's a macro, so that the actualDouglas Gregor
#undef only occurs if that submodule is imported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165773 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12Remove dead code introduced in r165751.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165772 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11search for overridden methods with comment when overriding methodFariborz Jahanian
has none of its own. Factor in Doug's comments. // rdar://12378793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165771 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Remove pointless classof()'s.Sean Silva
Updates to llvm/Support/Casting.h have rendered these classof()'s irrelevant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165770 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add missing classof().Sean Silva
Somewhat troublingly, without this implemented, the check inside isa_impl<> would silently use the parent's `classof()` when determining whether it was okay to downcast from the parent to the child! Bug analysis: A build failure after removing the parent's `classof()` initially alerted me to the bug, after which a little bit of thinking and reading of the code identified the root cause. The compiler could be made to prevent this bug from happening if there were a way to ensure that in the code template <typename To, typename From, typename Enabler = void> struct isa_impl { static inline bool doit(const From &Val) { return To::classof(&Val); } }; that `To::classof` is actually inside the class `To`, and not in a base class. I am not aware of a way to check this in C++. If there is a means to perform that check, please bring it up on the list and this will be fixed. There is a high likelihood that there are other instances of this same bug in the codebase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165769 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Provide a fixit when taking the address of an unqualified member function.David Blaikie
This only applies if the type has a name. (we could potentially do something crazy with decltype in C++11 to qualify members of unnamed types but that seems excessive) It might be nice to also suggest a fixit for "&this->i", "&foo->i", and "&foo.i" but those expressions produce 'bound' member functions that have a different AST representation & make error recovery a little trickier. Left as future work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165763 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11clang/test/Index/index-module.m: Move XFAIL. It was line-number-sensitive.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165762 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11clang/test/Index/index-module.m: Mark it as XFAIL:win32 for now.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165761 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11clang/test/Index/index-pch-with-module.m: Tweak expressions for win32 pathsep.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165760 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[ms-inline asm] Remove a bunch of parsing code from the front-end, which will beChad Rosier
reimplemented in the AsmParser where it belongs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165752 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[ms-inline asm] Lookup the IdentifierInfo using the Idents table and remove theChad Rosier
now unused static helper function. The test case needs to be remove temporarily until I can better filter memory operands that aren't actual variable reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165751 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Diagnose the expansion of ambiguous macro definitions. This can happenDouglas Gregor
only with modules, when two disjoint modules #define the same identifier to different token sequences. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165746 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Remove OSAtomicChecker.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165744 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Switch over to BodyFarm implementation of OSAtomicCompareAndSwap andTed Kremenek
objc_atomicCompareAndSwap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165743 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Teach GetBaseType() about BlockPointerTypes.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165742 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add TargetTransformInfo to the clang driver.Nadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165741 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Make sure the index_data.main_filename field is initializedArgyrios Kyrtzidis
in c-index-test. index_enteredMainFile is not invoked when indexing a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165735 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Remove this test while I investigate why it is crashing on ↵Argyrios Kyrtzidis
release+asserts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165734 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add null check for malformed code.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165733 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Add tests for indexing modules and PCHs using modules.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165732 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Fix build failure from r165722Derek Schuff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165731 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Introduce a simple "hint" scheme to eliminate the quadratic behaviorDouglas Gregor
associated with deserializing macro history for an identifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165729 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Make the deserialization of PendingMacroIDs deterministic.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165727 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add in the first iteration of support for llvm/clang/lldb to allow variable ↵Micah Villmow
per address space pointer sizes to be optimized correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11-Warc-repeated-use-of-weak: fix a use-of-uninitialized and add a test case.Jordan Rose
Fix-up for r165718, should get the buildbots back online. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165723 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Properly factor Native Client defines to support NaCl as an OSDerek Schuff
with x86/ARM architecture git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165722 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Handle gnu_inline in c++ in a gcc compatible way. Original patch by TobiasRafael Espindola
Grosser. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165720 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11-Warc-repeated-use-of-weak: Don't warn on a single read followed by writes.Jordan Rose
This is a "safe" pattern, or at least one that cannot be helped by using a strong local variable. However, if the single read is within a loop, it should /always/ be treated as potentially dangerous. <rdar://problem/12437490> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165719 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11-Warc-repeated-use-of-weak: Check messages to property accessors as well.Jordan Rose
Previously, [foo weakProp] was not being treated the same as foo.weakProp. Now, for every explicit message send, we check if it's a property access, and if so, if the property is weak. Then for every assignment of a message, we have to do the same thing again. This is a potentially expensive increase because determining whether a method is a property accessor requires searching through the methods it overrides. However, without it -Warc-repeated-use-of-weak will miss cases from people who prefer not to use dot syntax. If this turns out to be too expensive, we can try caching the result somewhere, or even lose precision by not checking superclass methods. The warning is off-by-default, though. <rdar://problem/12407765> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165718 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Improve AST serialization done by ASTUnit::Save().Argyrios Kyrtzidis
The ASTUnit needs to initialize an ASTWriter at the beginning of parsing to fully handle serialization of a translation unit that imports modules. Do this by introducing an option to enable it, which corresponds to CXTranslationUnit_ForSerialization on the C API side. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165717 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11ObjCMethodDecl::findPropertyDecl: bail out early if not an instance method.Jordan Rose
Currently, Objective-C does not support class properties, even though it allows calling class methods with dot syntax. No intended functionality change; purely optimization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165716 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Make X86_64ABIInfo clean for ABIs with 32 bit pointers, such as X32Derek Schuff
and Native Client git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165715 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11clang/test/CodeGenCXX/microsoft-uuidof.cpp: Fix for -Asserts.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add codegen support for __uuidof().Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165710 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Add prologue text for list of potential checkers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165705 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11clang/lib/Headers/CMakeLists.txt: Add f16cintrin.h.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165688 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11X86: add F16C support in ClangManman Ren
Support the following intrinsics: _mm_cvtph_ps, _mm256_cvtph_ps, _mm_cvtps_ph, _mm256_cvtps_ph rdar://12407875 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165685 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Remove the ASTDeserializationListener's MacroVisible() callback, whichDouglas Gregor
is no longer necessary, as well as the little bit of infrastructure in the AST writer that used it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165684 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Remove an unused bit from the serialized IdentifierInfoDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165683 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Deserialize macro history when we deserialize an identifier that hasDouglas Gregor
macro history. When deserializing macro history, we arrange history such that the macros that have definitions (that haven't been #undef'd) and are visible come at the beginning of the list, which is what the preprocessor and other clients of Preprocessor::getMacroInfo() expect. If additional macro definitions become visible later, they'll be moved toward the front of the list. Note that it's possible to have ambiguities, but we don't diagnose them yet. There is a partially-implemented design decision here that, if a particular identifier has been defined or #undef'd within the translation unit, that definition (or #undef) hides any macro definitions that come from imported modules. There's still a little work to do to ensure that the right #undef'ing happens. Additionally, we'll need to scope the update records for #undefs, so they only kick in when the submodule containing that update record becomes visible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165682 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Teach set-xcode-analyzer that the new default value for ExecPath is ↵Ted Kremenek
CLANG_ANALYZER_EXEC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165681 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Minor cleanup for r165678; no functional change.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165679 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11Make sure we perform the variadic method check correctly for calls to a ↵Eli Friedman
member operator(). PR14057. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165678 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10Reapply "[analyzer] Treat fields of unions as having symbolic offsets."Jordan Rose
This time, actually uncomment the code that's supposed to fix the problem. This reverts r165671 / 8ceb837585ed973dc36fba8dfc57ef60fc8f2735. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165676 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10Fix a crash-on-invalid when parsing a reference to an invalid auto declarationDavid Blaikie
auto x((unknown)); int& y = x; would crash because we were not flagging 'x' as an invalid declaration here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165675 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10objective-C IRgen: When sending a method to 'super'Fariborz Jahanian
in a category class method, don't read 'isa' pointer. Instead, save the desired OBJC_METACLASS_$_ClassName in __DATA,__objc_superrefs and read that without reading any isa pointers. // rdar://12459358 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165674 91177308-0d34-0410-b5e6-96231b3b80d8