- Oct 23, 2012
-
-
Douglas Gregor authored
llvm-svn: 166497
-
Richard Smith authored
even if it's dependent, in case it now names a member of the current instantiation. llvm-svn: 166496
-
Chad Rosier authored
llvm-svn: 166489
-
Rafael Espindola authored
Patch by David Hill. llvm-svn: 166483
-
Douglas Gregor authored
check each of the files within that directory to determine if any of them is an AST file that matches the language and target options. If so, the first matching AST file is loaded. This fixes a longstanding discrepency with GCC's precompiled header implementation. llvm-svn: 166469
-
Matt Beaumont-Gay authored
to dependent arguments. llvm-svn: 166468
-
Eli Friedman authored
llvm-svn: 166463
-
Rafael Espindola authored
regression. llvm-svn: 166461
-
Richard Smith authored
libraries have an incorrect definition of std::common_type (inherited from a bug in the standard -- see LWG issue 2141), whereby they produce reference types when they should not. If we instantiate a typedef named std::common_type<...>::type, which is defined in a system header as decltype(... ? ... : ...), and the decltype produces a reference type, convert it to the non-reference type. (This doesn't affect any LWG2141-conforming implementation of common_type, such as libc++'s, because the default implementation of common_type<...>::type isn't supposed to produce a reference type.) This is horrible. I'm really sorry. :( Better ideas appreciated! llvm-svn: 166455
-
Douglas Gregor authored
implicitly-included PTH files during initialization, delaying the mapping down to the "original source file" until after later in the initialization process. llvm-svn: 166452
-
Douglas Gregor authored
failures they know how to tolerate, e.g., out-of-date input files or configuration/version mismatches. Suppress the corresponding diagnostics if the client can handle it. No clients actually use this functionality, yet. llvm-svn: 166449
-
Douglas Gregor authored
ReadSLocEntry(). No functionality change. llvm-svn: 166447
-
Douglas Gregor authored
file corruption, compiler version mismatch, target/language configuration mismatch, out-of-date AST file. No functionality change yet. llvm-svn: 166446
-
Michael J. Spencer authored
Each option has a set of prefixes. When matching an argument such as -funroll-loops. First the leading - is removed as it is a prefix. Then a lower_bound search for "funroll-loops" is done against the option table by option name. From there each option prefix + option name combination is tested against the argument. This allows us to support Microsoft style options where both / and - are valid prefixes. It also simplifies the cases we already have where options come in both - and -- forms. Almost every option for gnu-ld happens to have this form. llvm-svn: 166444
-
- Oct 22, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 166442
-
Richard Trieu authored
expressions involving __has_include llvm-svn: 166438
-
Daniel Dunbar authored
llvm-svn: 166431
-
Daniel Dunbar authored
llvm-svn: 166430
-
Douglas Gregor authored
manager block and input-file information in the control block. The source manager entries now point back into the control block. Input files are now lazily deserialized (if validation is disabled). Reduces Cocoa's PCH by the ~70k I added when I introduced the redundancy in r166251. llvm-svn: 166429
-
Daniel Dunbar authored
- This is an assumption that is currently hardwired into the backend, we need to do this in order for the frontend and backend to agree. llvm-svn: 166428
-
Daniel Jasper authored
llvm-svn: 166421
-
Richard Smith authored
produces an exception of 'noexcept(false)' and is thus compatible with an explicit exception specification of 'noexcept(false)'. llvm-svn: 166404
-
- Oct 21, 2012
-
-
Benjamin Kramer authored
llvm-svn: 166391
-
Simon Atanasyan authored
Add support of MIPS n32 ABI to the Clang driver. The fix builds correct library/object files paths and passes appropriate command line options to the linker if user provides -mabi=n32 option. The patch reviewed by Rafael Espindola. llvm-svn: 166389
-
Richard Smith authored
found: if an overloaded operator& is present before a template definition, the expression &T::foo is represented as a CXXOperatorCallExpr, not as a UnaryOperator, so we didn't notice that it's permitted to reference a non-static data member of an unrelated class. While investigating this, I discovered another problem in this area: we are treating template default arguments as unevaluated contexts during substitution, resulting in performing incorrect checks for uses of non-static data members in C++11. That is not fixed by this patch (I'll look into this soon; it's related to the failure to correctly instantiate constexpr function templates), but was resulting in this bug not firing in C++11 mode (except with -Wc++98-compat). Original message: PR14124: When performing template instantiation of a qualified-id outside of a class, diagnose if the qualified-id instantiates to a non-static class member. llvm-svn: 166385
-
Lang Hames authored
declarations and statements. Emit an error if the FP_CONTRACT is used later in a compound statement. llvm-svn: 166383
-
- Oct 20, 2012
-
-
Benjamin Kramer authored
llvm-svn: 166377
-
Richard Smith authored
literal-operator-id. llvm-svn: 166373
-
Richard Smith authored
since it also has an implicit exception specification. Downgrade the error to an extwarn, since at least for operator delete, system headers like to declare it as 'noexcept' whereas the implicit definition does not have an explicit exception specification. Move the exception specification for user-declared 'operator delete' functions from the type-as-written into the type, to reflect reality and to allow us to detect whether there was an implicit exception spec or not. llvm-svn: 166372
-
Logan Chien authored
llvm-svn: 166369
-
Jordan Rose authored
This is actually required by the C++ standard in [basic.stc.dynamic.allocation]p3: If an allocation function declared with a non-throwing exception-specification fails to allocate storage, it shall return a null pointer. Any other allocation function that fails to allocate storage shall indicate failure only by throwing an exception of a type that would match a handler of type std::bad_alloc. We don't bother checking for the specific exception type, but just go off the operator new prototype. This should help with a certain class of lazy initalization false positives. <rdar://problem/12115221> llvm-svn: 166363
-
Richard Smith authored
initialized by a reference constant expression. Our odr-use modeling still needs work here: we don't yet implement the 'set of potential results of an expression' DR. llvm-svn: 166361
-
Argyrios Kyrtzidis authored
macro expansion ranges, make sure to check all the FileID entries that are contained in the spelling range of the expansion for the macro argument. Fixes rdar://12537982 llvm-svn: 166359
-
Michael J. Spencer authored
llvm-svn: 166348
-
Michael J. Spencer authored
llvm-svn: 166347
-
- Oct 19, 2012
-
-
Eli Friedman authored
llvm-svn: 166311
-
Chad Rosier authored
llvm-svn: 166310
-
Daniel Dunbar authored
- We create two TargetLoweringInfo instances for different pass managers, and they weren't consistent (the one for codegen didn't have the right info). I'm not sure this mattered anywhere in practice. llvm-svn: 166299
-
David Blaikie authored
Suggestion from Matt Beaumont-Gay reviewing r165283. llvm-svn: 166296
-
Chad Rosier authored
llvm-svn: 166293
-