- Jan 28, 2012
-
-
Benjamin Kramer authored
StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers. llvm-svn: 149178
-
Argyrios Kyrtzidis authored
caught by Chad. llvm-svn: 149173
-
Douglas Gregor authored
the alignment (because it's not encoded in DWARF). In this case, make an educated guess at the alignment. llvm-svn: 149161
-
- Jan 27, 2012
-
-
Douglas Gregor authored
single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a system module is considered to be a system header, so that we (for example) suppress warnings there. If a module is being inferred for a framework, and that framework directory is within a system frameworks directory, infer it as a system framework. llvm-svn: 149143
-
Abramo Bagnara authored
llvm-svn: 149127
-
Jean-Daniel Dupas authored
llvm-svn: 149125
-
Abramo Bagnara authored
llvm-svn: 149124
-
Argyrios Kyrtzidis authored
-Wno-everything remap all warnings to ignored. We can now use "-Wno-everything -W<warning>" to ignore all warnings except specific ones. llvm-svn: 149121
-
Argyrios Kyrtzidis authored
the original action. llvm-svn: 149120
-
Douglas Gregor authored
the direct serialization of the linked-list structure. Instead, use a scheme similar to how we handle redeclarations, with redeclaration lists on the side. This addresses several issues: - In cases involving mixing and matching of many categories across many modules, the linked-list structure would not be consistent across different modules, and categories would get lost. - If a module is loaded after the class definition and its other categories have already been loaded, we wouldn't see any categories in the newly-loaded module. llvm-svn: 149112
-
John McCall authored
of a for-range variable. Fixes PR11793. llvm-svn: 149109
-
Richard Smith authored
function definition can produce a constant expression. This also provides the last few checks for [dcl.constexpr]p3 and [dcl.constexpr]p4. llvm-svn: 149108
-
Argyrios Kyrtzidis authored
llvm-svn: 149107
-
Matt Beaumont-Gay authored
llvm-svn: 149104
-
Eli Friedman authored
Turn off implicit truncation warning for compound assignment to bitfields; it might be reasonable in some cases, but it clearly doesn't make sense in some cases, like the included testcase. <rdar://problem/10238797>, part 2. llvm-svn: 149095
-
Eli Friedman authored
Make the bitfield implicit truncation warning slightly more aggressive, and make the printed warning a bit more accurate. The new behavior matches gcc's -Wconversion. <rdar://problem/10238797>. llvm-svn: 149089
-
- Jan 26, 2012
-
-
Joerg Sonnenberger authored
the recent refactoring. All interesting NetBSD release have a GNU as version on i386 that supports --32, so don't bother with the conditional setting of it. llvm-svn: 149087
-
rdar://10732455Bob Wilson authored
ARM supports clz and ctz directly and both operations have well-defined results for zero. There is no disadvantage in performance to using the defined-at-zero versions of llvm.ctlz/cttz intrinsics. We're running into ARM-specific code written with the assumption that __builtin_clz(0) == 32, even though that value is technically undefined. The code is failing now because of llvm optimizations that are taking advantage of the undef behavior (specifically svn r147255). There's nothing wrong with that optimization on x86 where any incorrect assumptions about __builtin_clz(0) will quickly be exposed. For ARM, though, optimizations based on that undef behavior are likely to cause subtle bugs. Other targets with defined-at-zero clz/ctz support may want to override the default behavior as well. llvm-svn: 149086
-
Joerg Sonnenberger authored
llvm-svn: 149084
-
Joerg Sonnenberger authored
normalization. This used to be captured in DefaultTargetTriple and is used for the (optional) $triple-$tool lookup for cross-compilation. Do this properly by making it an attribute of the toolchain and use it in combination with the computed triple as index for the toolchain lookup. llvm-svn: 149083
-
Ted Kremenek authored
At this point this is largely cosmetic, but it opens the door to replace ProgramStateRef with a smart pointer that more eagerly acts in the role of reclaiming unused ProgramState objects. llvm-svn: 149081
-
Fariborz Jahanian authored
leaves "finalize' behind and in arc mode, does not include it. This allows the migrated source to be compiled in both gc and arc mode. // rdar://10532441 llvm-svn: 149079
-
John McCall authored
declarator just because we were able to build an invalid decl for it. The invalid-type diagnostics, in particular, are still useful to know, and may indicate something about why the decl is invalid. Also, recover from an illegal pointer/reference-to-unqualified-retainable type using __strong instead of __autoreleasing; in general, a random object is much more likely to be __strong, so this avoids unnecessary cascading errors in the most common case. llvm-svn: 149074
-
Argyrios Kyrtzidis authored
another tag does not break C-like-ness. rdar://10756831 llvm-svn: 149071
-
Douglas Gregor authored
Objective-C class. The AST reader just throws away this data anyway! llvm-svn: 149067
-
Fariborz Jahanian authored
made symmetrical. // rdar://10734265 llvm-svn: 149065
-
NAKAMURA Takumi authored
AST/ExprConstant.cpp: Silence a warning on ms cl.exe. "bool" does not prefer to be compared to integer. llvm-svn: 149059
-
Douglas Gregor authored
provide the layout of records, rather than letting Clang compute the layout itself. LLDB provides the motivation for this feature: because various layout-altering attributes (packed, aligned, etc.) don't get reliably get placed into DWARF, the record layouts computed by LLDB from the reconstructed records differ from the actual layouts, and badness occurs. This interface lets the DWARF data drive layout, so we don't need the attributes preserved to get the answer write. The testing methodology for this change is fun. I've introduced a variant of -fdump-record-layouts called -fdump-record-layouts-simple that always has the simple C format and provides size/alignment/field offsets. There is also a -cc1 option -foverride-record-layout=<file> to take the output of -fdump-record-layouts-simple and parse it to produce a set of overridden layouts, which is introduced into the AST via a testing-only ExternalASTSource (called LayoutOverrideSource). Each test contains a number of records to lay out, which use various layout-changing attributes, and then dumps the layouts. We then run the test again, using the preprocessor to eliminate the layout-changing attributes entirely (which would give us different layouts for the records), but supplying the previously-computed record layouts. Finally, we diff the layouts produced from the two runs to be sure that they are identical. Note that this code makes the assumption that we don't *have* to provide the offsets of bases or virtual bases to get the layout right, because the alignment attributes don't affect it. I believe this assumption holds, but if it does not, we can extend LayoutOverrideSource to also provide base offset information. Fixes the Clang side of <rdar://problem/10169539>. llvm-svn: 149055
-
Eric Christopher authored
llvm-svn: 149051
-
Eric Christopher authored
the gdb testsuite complains too much about the ordering of items printed, even if the offsets in the debug info are correct. This reverts commit 027cb30af828f07750f9185782822297a5c57231. llvm-svn: 149049
-
Eric Christopher authored
llvm-svn: 149047
-
Richard Smith authored
llvm-svn: 149045
-
Argyrios Kyrtzidis authored
llvm-svn: 149044
-
Argyrios Kyrtzidis authored
with close(); return it instead. Fixes mingw build and eliminates possible racing issues. llvm-svn: 149043
-
NAKAMURA Takumi authored
llvm-svn: 149041
-
Bob Wilson authored
Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly." There were some problems with this, so I'm backing it out for now. llvm-svn: 149040
-
Peter Collingbourne authored
canonical type directly and adding a fast path for the common case that the type is directly a RecordType. llvm-svn: 149039
-
Peter Collingbourne authored
llvm-svn: 149038
-
Peter Collingbourne authored
around, in the process cleaning up the various gcc/msvc compiler workarounds. llvm-svn: 149036
-
Douglas Gregor authored
llvm-svn: 149035
-