- May 21, 2013
-
-
Daniel Jasper authored
With this patch, clang-format will try to keep the cursor at the original code position in editor integrations (implemented for emacs and vim). This means, after formatting, clang-format will try to keep the cursor on the same character of the same token. llvm-svn: 182373
-
Benjamin Kramer authored
llvm-svn: 182368
-
Daniel Jasper authored
Before: void someLongFunction( int someLongParameter) const; After: void someLongFunction(int someLongParameter) const; Also slightly cleanup tests. llvm-svn: 182362
-
Richard Smith authored
attach, rather than merging all comments on the declaration chain. This gives a more faithful dump, and has the side benefit of unbreaking uses of dump() from within AST deserialization (where the redeclaration chain may not be sane). llvm-svn: 182350
-
Ted Kremenek authored
Fixes <rdar://problem/13942300>. llvm-svn: 182342
-
Fariborz Jahanian authored
@class command on an @interface declaration. Turn off the warning for this case. // rdar://13927330 llvm-svn: 182334
-
Richard Smith authored
llvm-svn: 182333
-
Richard Smith authored
nonexistent Darwin-specific files on every module build. llvm-svn: 182331
-
David Blaikie authored
This resolves the last of the PR14606 failures in the GDB 7.5 test suite. (but there are still unresolved issues in the imported_decl case - we need to implement optional/lazy decls for functions & variables like we already do for types) llvm-svn: 182329
-
- May 20, 2013
-
-
Reid Kleckner authored
AsmPrinter::EmitLinkage() does not handle dllimport linkage. The LLVM verifier should also be fixed to reject this. llvm-svn: 182320
-
Fariborz Jahanian authored
protocols that declare the same property of incompatible types, issue a warning when class implementation synthesizes the property. // rdar://13075400 llvm-svn: 182316
-
Eric Christopher authored
llvm-svn: 182309
-
DeLesley Hutchins authored
llvm-svn: 182305
-
Hans Wennborg authored
llvm-svn: 182294
-
Alexander Kornienko authored
llvm-svn: 182290
-
Hans Wennborg authored
llvm-svn: 182280
-
Alexey Samsonov authored
llvm-svn: 182278
-
Peter Collingbourne authored
While the C++ standard requires that this lookup take place only at the definition point of a virtual destructor (C++11 [class.dtor]p12), the Microsoft ABI may require the compiler to emit a deleting destructor for any virtual destructor declared in the TU, including ones without a body, requiring an operator delete() lookup for every virtual destructor declaration. The result of the lookup should be the same no matter which declaration is used (except in weird corner cases). This change will cause us to reject some valid TUs in Microsoft ABI mode, e.g.: struct A { void operator delete(void *); }; struct B { void operator delete(void *); }; struct C : A, B { virtual ~C(); }; As Richard points out, every virtual function declared in a TU (including this virtual destructor) is odr-used, so it must be defined in any program which declares it, or the program is ill formed, no diagnostic required. Because we know that any definition of this destructor will cause the lookup to fail, the compiler can choose to issue a diagnostic here. Differential Revision: http://llvm-reviews.chandlerc.com/D822 llvm-svn: 182270
-
Evgeniy Stepanov authored
llvm-svn: 182269
-
Douglas Gregor authored
Fixes <rdar://problem/13933913>. llvm-svn: 182268
-
Reid Kleckner authored
selectany only applies to externally visible global variables. It has the effect of making the data weak_odr. The MSDN docs suggest that unused definitions can only be dropped at linktime, so Clang uses weak instead of linkonce. MSVC optimizes away references to constant selectany data, so it must assume that there is only one definition, hence weak_odr. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D814 llvm-svn: 182266
-
Douglas Gregor authored
llvm-svn: 182264
-
Douglas Gregor authored
Add -Wincomplete-module, which detects when a header is included from a module but isn't itself part of a module. llvm-svn: 182263
-
David Blaikie authored
Revert "Revert "Debug Info: Using declarations/DW_TAG_imported_declaration of variables, types, and functions."" This reverts commit r181947 (git d2990ce56a16050cac0d7937ec9919ff54c6df62 ) This addresses one of the two issues identified in r181947, ensuring that types imported via using declarations only result in a declaration being emitted for the type, not a definition. The second issue (emitting using declarations that are unused) is hopefully an acceptable increase as the real fix for this would be a bit difficult (probably at best we could record which using directives were involved in lookups - but may not have been the result of the lookup). This also ensures that DW_TAG_imported_declarations (& directives) are not emitted in line-tables-only mode as well as ensuring that typedefs only require/emit declarations (rather than definitions) for referenced types. llvm-svn: 182231
-
- May 19, 2013
-
-
Jakob Stoklund Olesen authored
Other operating systems, including FreeBSD and NetBSD, use long. llvm-svn: 182215
-
Richard Smith authored
llvm-svn: 182207
-
Alexander Kornienko authored
Summary: + improved handling of default style and predefined styles. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D813 llvm-svn: 182205
-
Anna Zaks authored
llvm-svn: 182204
-
- May 18, 2013
-
-
Chandler Carruth authored
imply -fno-math-errno if the user passed -fno-fast-math OR -ffast-math, regardless of in which order and regardless of the tool chain default. I've fixed this to follow the logic: 1) If the last dominating flag is -fno-math-errno, -ffast-math, or -Ofast, then do not use math-errno. 2) If the last dominating flag is an explicit -fmath-errno, do use math-errno. 3) Otherwise, use the toolchain default. This, for example, allows the flag sequence '-ffast-math ... -fno-fast-math' with no mention of '-fmath-errno' or '-fno-math-errno' to preserve the toolchain default. Most notably, this should prevent users trying to disable fast-math optimizations on Darwin and BSD platforms from simultaneously enabling (pointless) -fmath-errno. I've enhanced the tests (after more reorganization) to cover this and other weird permutations of flags and targets. llvm-svn: 182203
-
Chandler Carruth authored
setting. Consolidate the collection of tests that enable -fmath-errno and share a single CHECK line for simplicity. llvm-svn: 182202
-
Serge Pavlov authored
llvm-svn: 182189
-
Jordan Rose authored
llvm-svn: 182188
-
Jordan Rose authored
Constructs like PseudoObjectExpr, where an expression can appear more than once in the AST, use OpaqueValueExprs to guard against inadvertent re-processing of the shared expression during AST traversal. The most common form of this is to share expressions between the syntactic "as-written" form of, say, an Objective-C property access 'obj.prop', and the underlying "semantic" form '[obj prop]'. However, some constructs can produce OpaqueValueExprs that don't appear in the syntactic form at all; in these cases the ParentMap wasn't ever traversing the children of these expressions. This patch fixes that by checking to see if an OpaqueValueExpr's child has ever been traversed before. There's also a bit of reset logic when visiting a PseudoObjectExpr to handle the case of updating the ParentMap, which some external clients depend on. This still isn't exactly the right fix because we probably want the parent of the OpaqueValueExpr itself to be its location in the syntactic form if it's syntactic and the PseudoObjectExpr or BinaryConditionalOperator itself if it's semantic. Whe I originally wrote the code to do this, I didn't realize that OpaqueValueExprs themselves are shared in the AST, not just their source expressions. This patch doesn't change the existing behavior so as not to break anything inadvertently relying on it; we'll come back to this later. llvm-svn: 182187
-
Jordan Rose authored
Originally implemented by Ted, extended by me. llvm-svn: 182186
-
Jordan Rose authored
Ted and I spent a long time discussing this today and found out that neither the existing code nor the new code was doing what either of us thought it was, which is never good. The good news is we found a much simpler way to fix the motivating test case (an ObjCSubscriptExpr). This reverts r182083, but pieces of it will come back in subsequent commits. llvm-svn: 182185
-
Rafael Espindola authored
Thanks to John McCall for pointing this out. llvm-svn: 182182
-
Adrian Prantl authored
llvm-svn: 182178
-
Adrian Prantl authored
properties declared in a protocol. rdar://problem/13798000 llvm-svn: 182176
-
DeLesley Hutchins authored
assert_exclusive_lock and assert_shared_lock. These attributes are used to mark functions that dynamically check (i.e. assert) that a lock is held. llvm-svn: 182170
-
Rafael Espindola authored
llvm-svn: 182167
-