]>
granicus.if.org Git - clang/log
Kaelyn Uhrain [Mon, 10 Oct 2011 18:01:37 +0000 (18:01 +0000)]
Give nicer note when a member redeclaration has or lacks 'const'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141555
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Oct 2011 17:53:29 +0000 (17:53 +0000)]
objc: Some refactoring of overriding method decl. code
for future work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141553
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 17:38:18 +0000 (17:38 +0000)]
Don't analyze comparisons in type- or value-dependent
subexpressions. Fixes PR10291.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141552
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 17:22:13 +0000 (17:22 +0000)]
Per C++ [class.bit]p2, unnamed bit-fields are not members. Fixes PR10289.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Mon, 10 Oct 2011 16:38:04 +0000 (16:38 +0000)]
constexpr: Disable checking of constructor member initializer lists for
constexpr constructor templates. Such checking is optional, and currently hard
to get right since clang doesn't generate implicit member initializers until
instantiation (even for non-dependent members).
This is needed for clang to accept libstdc++ from g++4.6 in c++0x mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141547
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 16:09:49 +0000 (16:09 +0000)]
Don't complain about qualified property or ivar access when the
qualifier itself is invalid. Crasher noticed by Fariborz.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 16:05:18 +0000 (16:05 +0000)]
When adding a direct initializer to a declaration, allow the
initializer to update the type of the declaration. For example, this
allows us to determine the size of an incomplete array from its
initializer. Fixes PR10288.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 14:49:18 +0000 (14:49 +0000)]
Parse the initializer for a class member after handling its
declarator, so that the declarator is in scope for the
initializer. Fixes PR9989.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141539
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 14:05:31 +0000 (14:05 +0000)]
Always add the built-in overload candidates for operators &&, ||, and
!. Fixes PR9865.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141537
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 13:43:20 +0000 (13:43 +0000)]
Remove the TODO file; it's not interesting any more
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141536
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 10 Oct 2011 12:54:05 +0000 (12:54 +0000)]
Another case of HadMultipleCandidates being used uninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Mon, 10 Oct 2011 06:18:57 +0000 (06:18 +0000)]
Begin work consolidating ShouldDelete* functions.
Begin with just default constructors. One note is that as a side effect
of this, a conformance test was removed on the basis that this is almost
certainly a defect as with most of union initialization. As it is, clang
does not implement union initialization close to the standard as it's
quite broken as written. I hope to write a paper addressing the issues
eventually.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141528
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Mon, 10 Oct 2011 01:23:06 +0000 (01:23 +0000)]
Parse LLVM command line arguments after plugins have been loaded
This fixes a crash due to command line options, that are not available
before the loading of plugins finished.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141525
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 10 Oct 2011 01:11:59 +0000 (01:11 +0000)]
Implement the restrictions in C++ [class.friend]p6, which disallow
defining a friend function with a qualified name or in a local
class. Fixes PR9853.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141524
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 23:22:49 +0000 (23:22 +0000)]
Diagnose attempts to qualify the name of an instance variable or
property in an Objective-C++ member access expression. Fixes PR9759.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141522
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 22:57:49 +0000 (22:57 +0000)]
Push "out-of-line" declarations into scope when their lexical/semantic
redeclaration contexts are the same, as occurs within linkage
specifications. Fixes PR9162.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 22:38:36 +0000 (22:38 +0000)]
The effective context of a friend function is its lexical
context. Fixes PR9103.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 22:26:49 +0000 (22:26 +0000)]
For the various CF and NS attributes, don't complain if the parameter
or return types are dependent. Fixes PR9049.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 22:06:46 +0000 (22:06 +0000)]
Per the note in C++0x [temp.deduct.call]p4, don't attempt template
argument deduction against a function parameter that has no deducible
template parameters in it. Fixes PR8598.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sun, 9 Oct 2011 22:03:19 +0000 (22:03 +0000)]
OpenCL: add driver/frontend support for precompiled headers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 20:59:17 +0000 (20:59 +0000)]
A friend template specialization is also dependent if any of its
template arguments are dependent. Fixes PR10913.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141515
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 19:10:41 +0000 (19:10 +0000)]
Only allow taking the address of an expression of type 'overloaded
function type' when that expression is actually an overloaded function
reference (and not the address of an overloaded function
reference). Fixes PR11066.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141514
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 18:55:59 +0000 (18:55 +0000)]
Diagnose attempts to declare a non-static data member with a
non-identifier name. Fixes PR10839.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141513
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 18:45:17 +0000 (18:45 +0000)]
When building source location information for an _Atomic type, be sure
to fill in the source locations for the underlying value type. Fixes
an intermittent crasher (due to uninitialized data) in the PCH test
for _Atomic types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141512
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 9 Oct 2011 18:31:23 +0000 (18:31 +0000)]
After instantiating a 'noexcept' expression, be sure to convert it to
a boolean value and check that it is a constant expression. Fixes
PR11084.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141511
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 9 Oct 2011 17:58:25 +0000 (17:58 +0000)]
Initialize the HadMultipleCandidates flag.
Found by valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 8 Oct 2011 17:45:33 +0000 (17:45 +0000)]
objc: Do not warn about mismatch on Super's readonly property attribute,
related to a readwrite property, and
Sub's readwrite property. // rdar://
9396329
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 8 Oct 2011 16:15:07 +0000 (16:15 +0000)]
Silence a warning about casting away constness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141496
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 8 Oct 2011 11:31:58 +0000 (11:31 +0000)]
lib/Frontend/CompilerInstance.cpp: Suppress a "Comparision of unsigned and signed" warning on Cygwin gcc-4.3.4.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141488
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 8 Oct 2011 11:31:53 +0000 (11:31 +0000)]
Fix "Uninitialized" warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141487
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 8 Oct 2011 11:31:46 +0000 (11:31 +0000)]
Whitespace
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141486
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Sat, 8 Oct 2011 08:54:36 +0000 (08:54 +0000)]
Apparently getPtrToInt() takes an explicit type parameter to allow you to generate invalid bitcode, not so that it can actually produce a value of this type. This should fix PR11085.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 8 Oct 2011 05:28:26 +0000 (05:28 +0000)]
Free 'TheTargetCodeGenInfo' in the class CodeGenModule. This looks like an obvious memory leak that was reported from LLDB devs. The comment indicates the leak is deliberate, but I have no idea why this needs to be so. Please comment/revert if you know otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141479
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 8 Oct 2011 01:03:47 +0000 (01:03 +0000)]
Fix warning on MSVC. Patch by Aaron Ballman.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141467
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 8 Oct 2011 00:54:49 +0000 (00:54 +0000)]
Try fixing windows bots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 8 Oct 2011 00:26:35 +0000 (00:26 +0000)]
Make clang-tblgen's Makefile independent of Clang's top-level Makefile,
to avoid having to make it available for the cross build when it
builds only clang-tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141453
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 7 Oct 2011 22:58:08 +0000 (22:58 +0000)]
[arcmt] Ignore linking errors when doing ARC migration, rdar://
10247606
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Oct 2011 22:48:13 +0000 (22:48 +0000)]
Provide basic static analyzer support for CXXTemporaryObjectExpr. Patch by Jim Goodnow II.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 7 Oct 2011 22:35:23 +0000 (22:35 +0000)]
[analyzer] Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Oct 2011 22:21:02 +0000 (22:21 +0000)]
Remove AnalysisContext::getLiveVariables(), and introduce a templatized mechanism to lazily create analyses that are attached to AnalysisContext objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 7 Oct 2011 21:55:43 +0000 (21:55 +0000)]
In DeclContext::LoadLexicalDeclsFromExternalStorage don't clear out
the fields if they are already loaded, just ignore them when we are building
the chain in BuildDeclChain.
This fixes an lldb issue where fields were removed and not getting re-added
because lldb is based on ASTImporter adding decls to DeclContext and fields
were already added before by the ASTImporter.
We should really simplify the interaction between DeclContext <-> lldb
going forward..
rdar://
10246067
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141418
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 7 Oct 2011 21:52:33 +0000 (21:52 +0000)]
[analyzer] Previously, we were passing to CheckerContext enough info to construct ProgramPoint and it would pass it to NodeBuilder, which in turn would construct the ProgramPoint. Simplify it by just passing the ProgramPoint to CheckerContext. The ProgramPoint can only change if a checker tags it, in which case, we create a copy with the given tag.
(A step closer to making CheckerContext work with all node builders, not only StmtNodeBuilder.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141417
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 7 Oct 2011 21:08:14 +0000 (21:08 +0000)]
objc++: some minor cleanup and a test case
for atomic setters which requires assignment operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141415
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 7 Oct 2011 21:01:38 +0000 (21:01 +0000)]
ProgramPoint cleanup after the previous commit r141408 (remove the copy constructor, mark withTag const).
Move getProgramPoint() utility from CoreEngine.cpp into ProgramPoint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 7 Oct 2011 20:35:25 +0000 (20:35 +0000)]
Add braces around do-while body. The lack of them gives me the chills
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141411
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 7 Oct 2011 20:08:35 +0000 (20:08 +0000)]
Add a simple PCH test for _Atomic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 7 Oct 2011 20:08:27 +0000 (20:08 +0000)]
Add a copy constructor to ProgramPoint and pull withTag() method from a child. (withTag essentialy creates a copy with a given tag.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 7 Oct 2011 19:51:42 +0000 (19:51 +0000)]
Add address spaces for TCE target. Patch by Pekka Jääskeläinen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 7 Oct 2011 18:40:27 +0000 (18:40 +0000)]
Hack in a workaround for PR11082 until we have a proper fix. This
un-breaks every glib-dependent compile with Clang.
I'm not sure this is even the best workaround, so suggestions welcome.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 7 Oct 2011 17:54:41 +0000 (17:54 +0000)]
Clang driver changes for iOS 5.0 and OS X Lion support.
Check whether the libc++ library is available when using -stdlib=libc++,
and also adjust the check for whether to link with -lgcc_s.1.
Patch by Ted Kremenek and Daniel Dunbar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 7 Oct 2011 17:48:56 +0000 (17:48 +0000)]
More cleanup using StringSwitch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 7 Oct 2011 17:17:45 +0000 (17:17 +0000)]
objc rewriter. Fix declaration of objc_msgSend_stret/objc_msgSendSuper_stret.
Fix an assert crash when casting a CF type to 'id'.
// rdar://
10250911
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141369
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 7 Oct 2011 06:10:15 +0000 (06:10 +0000)]
Rename TagDecl::isDefinition -> isCompleteDefinition
for better self-documenting code, since the semantics
are subtly different from getDefinition().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 7 Oct 2011 03:16:33 +0000 (03:16 +0000)]
Remove FIXME obsoleted by change r141279 for PR11067.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141351
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 7 Oct 2011 02:39:22 +0000 (02:39 +0000)]
Record layout requires not just a definition, but a complete
definition. Assert this. Change IR generation to not try to
aggressively emit the IR translation of a record during its
own definition. Fixes PR10912.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Oct 2011 00:52:56 +0000 (00:52 +0000)]
r141345 also fixed a -Wuninitialized bug where loop conditions were not always flagged as being uninitialized. Addresses <rdar://problem/
9432305 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Oct 2011 00:42:48 +0000 (00:42 +0000)]
Fix infinite loop in -Wuninitialized reported in PR 11069.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141345
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 7 Oct 2011 00:37:57 +0000 (00:37 +0000)]
Use StringSwitch. Thanks for Chandler for the suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141344
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 6 Oct 2011 23:47:58 +0000 (23:47 +0000)]
objc: Improve on diagnostic when atomic proeprty is synthesized
on one accessor and user-provide with another.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Thu, 6 Oct 2011 23:26:27 +0000 (23:26 +0000)]
[analyzer] Static Analyzer Qualification Infrastructure: Scripts to support basic testing of the analyzer on external projects. This can be used as a basis for setting up a buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141337
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 6 Oct 2011 23:25:11 +0000 (23:25 +0000)]
Move type-checking for C-style casts in C into the now-misnamed
SemaCXXCast.cpp. Should have no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141336
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 6 Oct 2011 23:23:27 +0000 (23:23 +0000)]
Implicitly assume that a ObjC category to an unavailable interface is also unavailable;
only give an 'unavailable' error on the @implementation of the category. rdar://
10234078
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 6 Oct 2011 23:23:20 +0000 (23:23 +0000)]
When using an unavailable/deprecated interface Foo inside Foo's interface/implementation
don't emit unavailable errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 6 Oct 2011 23:12:03 +0000 (23:12 +0000)]
llvm.memory.barrier is going away; remove the wrapper intrinsic __builtin_llvm_memory_barrier.
__atomic_thread_fence will be landing soon as a replacement, wrapping around the new fence instruction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 6 Oct 2011 23:00:33 +0000 (23:00 +0000)]
Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
Thanks to Jeffrey Yasskin for the thorough review!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 6 Oct 2011 22:53:35 +0000 (22:53 +0000)]
Use strpbrk(3) instead of open coding it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141328
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 6 Oct 2011 22:24:13 +0000 (22:24 +0000)]
Add missing include to clang-interpreter example, to make it work on Windows. Patch by Dean Pavlekovic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 6 Oct 2011 22:05:26 +0000 (22:05 +0000)]
[driver] Fix test case for Windows due to fallout from r141202+r141205.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 6 Oct 2011 21:52:27 +0000 (21:52 +0000)]
Remove DISABLE_ARM_DARWIN_USE_MOVT ifdefs. Radar
9456730 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Oct 2011 20:53:28 +0000 (20:53 +0000)]
[static analyzer] Fix crash in LiveVariables and Environment::getSVal() when analyzing C++ pointer-to-member calls. Fixes <rdar://problem/
10243398 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 6 Oct 2011 20:31:50 +0000 (20:31 +0000)]
Add _mm_comige_sd to emmintrin.h, since I apparently forgot to do this in r138769.
<rdar://problem/
10230751 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 6 Oct 2011 20:27:40 +0000 (20:27 +0000)]
Rearrange for readability. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 6 Oct 2011 20:27:38 +0000 (20:27 +0000)]
Add a missing check for cortex-a9.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 18:51:56 +0000 (18:51 +0000)]
CUDA: IR generation support for device stubs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 6 Oct 2011 18:38:18 +0000 (18:38 +0000)]
objc++: For atomic properties of c++ class objec typet, appropriate
operator= is called. Issue a warning for non-trivial case until
runtime support is provided. // rdar://
6137845
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 18:29:46 +0000 (18:29 +0000)]
CUDA: add -fcuda-is-device flag
This frontend-only flag is used by the IR generator to determine
whether to filter CUDA declarations for the host or for the device.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 18:29:37 +0000 (18:29 +0000)]
CUDA: IR generation support for kernel call expressions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 16:49:54 +0000 (16:49 +0000)]
CUDA: set proper calling conventions for PTX
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Erik Verbruggen [Thu, 6 Oct 2011 13:12:18 +0000 (13:12 +0000)]
[libclang] Removed accidental addition of CXCursor_AnnotateAttr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141292
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 13:03:08 +0000 (13:03 +0000)]
Add the Clang tblgen backends to Clang, and flip the switch to cause
the build systems to use clang-tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141291
91177308 -0d34-0410-b5e6-
96231b3b80d8
Erik Verbruggen [Thu, 6 Oct 2011 12:11:57 +0000 (12:11 +0000)]
[libclang] Fix symbol export for clang_Range_isNull so MSVC won't complain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Erik Verbruggen [Thu, 6 Oct 2011 11:38:08 +0000 (11:38 +0000)]
Fixed GCC (C90) and Clang warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 6 Oct 2011 09:21:12 +0000 (09:21 +0000)]
PR11067: A definition of a constexpr static variable doesn't need an initializer if the in-class declaration had one. Such a declaration must be initialized by a constant expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Erik Verbruggen [Thu, 6 Oct 2011 07:27:49 +0000 (07:27 +0000)]
Added CXAvailability_NotAccessible to indicate that a declaration is available, but not accessible from the current code completion context.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 6 Oct 2011 07:00:54 +0000 (07:00 +0000)]
[libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file,
and a callback and finds all identifier references of the cursor in the file.
rdar://
7948304
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 6 Oct 2011 07:00:46 +0000 (07:00 +0000)]
[libclang] Move the bulk of clang_getOverriddenCursors into
a cxcursor::getOverriddenCursors C++ function, because SmallVectors
are groovier that malloc'ing buffers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141276
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Oct 2011 05:00:56 +0000 (05:00 +0000)]
Use a sidetable in ASTContext for ParmVarDecls whose index exceeds the 8 bits reserved for that value in VarDecl. Fixes PR 10538.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Oct 2011 04:19:35 +0000 (04:19 +0000)]
Hoist truncation checking for ParmVarDeclBitfields::ParameterIndex into its own helper method. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 03:01:00 +0000 (03:01 +0000)]
OpenCL: add a non-standard extension, cl_clang_storage_class_specifiers,
which enables support for C99 storage-class specifiers.
This extension is intended to be used by implementations to implement
OpenCL C built-in functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 03:00:50 +0000 (03:00 +0000)]
OpenCL: disallow '#pragma OPENCL EXTENSION all : enable', per OpenCL 1.1 9.1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ivan Krasin [Thu, 6 Oct 2011 02:46:34 +0000 (02:46 +0000)]
Add -Wlanguage-extension-token option for ext_token_used warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 6 Oct 2011 01:52:10 +0000 (01:52 +0000)]
Clang-side build system infrastructure for multiple tblgens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Thu, 6 Oct 2011 00:43:15 +0000 (00:43 +0000)]
[analyzer] Remove the dependency on CheckerContext::getStmt() as well as the method itself.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 6 Oct 2011 00:31:18 +0000 (00:31 +0000)]
When constructing debug information for synthesized variables for the
non-fragile ABI we may not be able to lay out the type and the debugger
would ignore us even if we did put in the offset. Go ahead and just
put any value there and don't look up the offset since it may not exist.
rdar://
10210157
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 6 Oct 2011 00:30:52 +0000 (00:30 +0000)]
Reformat comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Oct 2011 23:54:29 +0000 (23:54 +0000)]
Fix major regression in RetainCountChecker. DefaultSummaries were not being used when they were meant to be. Fixes <rdar://problem/
10241614 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141250
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Wed, 5 Oct 2011 23:44:11 +0000 (23:44 +0000)]
[analyzer] Remove the last dependency on CheckerContext::getNodeBuilder() as well as the method itself.
Checkers should not directly access NodeBuilder, nodes can be created by calling the CheckerContext's generateNode() methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141249
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Wed, 5 Oct 2011 23:37:30 +0000 (23:37 +0000)]
[analyzer] OSAtomicChecker implements evalCall in a very invasive way - it essentially simulates inlining of compareAndSwap() by means of setting the NodeBuilder flags and calling ExprEngine directly.
This commit introduces a new callback just for this checker to unblock checker API cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141246
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 5 Oct 2011 21:34:09 +0000 (21:34 +0000)]
Document ObjCMethodDecl::setMethodParams.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 5 Oct 2011 21:28:06 +0000 (21:28 +0000)]
Fix crash when using archaic protocol, rdar://
10238337
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141215
91177308 -0d34-0410-b5e6-
96231b3b80d8