aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-12-09Save category name loc in ObjCCategoryImplDecl, patch by Jason Haslam!Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146213 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Use default visibility in the the symbols declared in unwind.h. This matchesRafael Espindola
the behavior of gcc's unwind.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146208 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Separate the serialization library's diagnostics from the frontend'sChandler Carruth
diagnostics. Conflating them was highly confusing and makes it harder to establish a firm layering separation between these two libraries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146207 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Misc Minix-specific changes to clang:Eli Friedman
. move compiler-rt to a separate directory so the -L argument only includes compiler-rt (thanks joerg) . build all clang subdirs . switches the Minix platform to ELF . normalizes toolchain invocation Patch by Ben Gras. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146206 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Don't get the exception obj from the slot more than once.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146202 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08[analyzer] If memory region is tainted mark data as tainted.Anna Zaks
+ random comments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146199 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Fix an edge case in IRGen for conditionals. PR11509.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146189 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08This patch extends thread safety analysis with support for the ↵DeLesley Hutchins
scoped_lockable attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146174 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Implement umbrella directories for modules, which are similar toDouglas Gregor
umbrella headers in the sense that all of the headers within that directory (and eventually its subdirectories) are considered to be part of the module with that umbrella directory. However, unlike umbrella headers, which are expected to include all of the headers within their subdirectories, Clang will automatically include all of the headers it finds in the named subdirectory. The intent here is to allow a module map to trivially turn a subdirectory into a module, where the module's structure can mimic the directory structure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146165 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08More refactoring of objective-C rewriter.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146160 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Tweak the syntax of umbrella headers, so that "umbrella" is treated asDouglas Gregor
a modifier for a header declarartion, e.g., umbrella header "headername" Collapse the umbrella-handling code in the parser into the header-handling code, so we don't duplicate the header-search logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Within the module representation, generalize the notion of an umbrellaDouglas Gregor
header to also support umbrella directories. The umbrella directory for an umbrella header is the directory in which the umbrella header resides. No functionality change yet, but it's coming. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146158 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Keep track of import dependencies between submodules within the moduleDouglas Gregor
that's currently being built. This is important for supporting transitive dependencies ("export *" in the module map) completely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Decltype in non-pseudo (& non-dependent) dtor calls.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146155 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Convert paths to native format before constructing aDouglas Gregor
directory_iterator for them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146154 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Only do typo correction for implicit function decls whenHans Wennborg
they are treated as errors. Doing typo correction when these are just warnings slows down the compilation of source which deliberately uses implicit function declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146153 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Fix: allow @protocol forward declarations inside @implementation-s.Erik Verbruggen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146147 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Unbreak MSVC build.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146146 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Remove unused parameter from the LateParsedTemplatedFunction constructor.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Add an experimental MallocSizeofChecker, which reports inconsistenciesPeter Collingbourne
between the casted type of the return value of a malloc/calloc/realloc call and the operand of any sizeof expressions contained within its argument(s). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146144 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Allow clang to find gcc libs on suse ppc64Hal Finkel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Add a minimal unwind.h that knows how to forward to the system one in systemsRafael Espindola
that have it in /usr/include (only OS X Lion so far). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146140 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Use the real end of the decltype expression.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146138 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Minor cleanup. Avoid redundant getTriple() calls.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146122 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Driver/Linux: Fix the ASAN library path to match current compiler-rtDaniel Dunbar
integration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146098 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Driver: Add a --rtlib={compiler-rt,libgcc} argument which I plan to use to allowDaniel Dunbar
dual support for compiler-rt on Linux, during bringup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146094 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Implement inference for the "Private" submodule corresponding toDouglas Gregor
private headers in a framework. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146082 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Make sure we pick up module_private.map when loading a module.map file.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146074 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[analyzer] Cleanup: use the variable.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146056 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Remove unused-but-set variable.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146034 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Make printf warnings refer to intmax_t et al. by nameHans Wennborg
in addition to underlying type. For example, the warning for printf("%zu", 42.0); changes from "conversion specifies type 'unsigned long'" to "conversion specifies type 'size_t' (aka 'unsigned long')" (This is a second attempt after r145697, which got reverted.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146032 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Make changes to SDiagsWriter to make it work in combination with the ARC ↵Argyrios Kyrtzidis
migrator: -Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce a "finish" callback method in the DiagnosticConsumer. SDiagsWriter finishes up the serialization file inside this method. -Make it independent of any particular DiagnosticsEngine; make it use the SourceManager of the Diagnostic object. -Ignore null source ranges. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146020 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Fix multilib library paths on ppc64 Linux. Patch by Michael Kostylev. PR11472.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146016 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Implement basic support for private headers in frameworks. In essence,Douglas Gregor
when we load a module map (module.map) from a directory, also load a private module map (module_private.map) for that directory, if present. That private module map can inject a new submodule that captures private headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146012 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Make sure we correctly zero-initialize unions containing a pointer to data ↵Eli Friedman
member as the first field. PR11487. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146009 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[analyzer] Propagate taint through MemRegions.Anna Zaks
SVal can be not only a symbol, but a MemRegion. Add support for such cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146006 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07If we can't write the temporary module map file when compiling aDouglas Gregor
module, at least have the decency to complain about it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146002 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07When folding the size of a global scope VLA to a constant, require the arrayRichard Smith
bound to not have side effects(!). Add constant-folding support for expressions of void type, to ensure that we can still fold ((void)0, 1) as an array bound. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146000 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07objc: issue deprecated/unavailable diagnostic whenFariborz Jahanian
methods with these attributes are sent to receivers of 'id' type too. // rdar://10459930 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145999 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06DeadStoresChecker: when whitelisting dead initializations with constants, lookRichard Smith
for a foldable constant rather than an IR-level constant. This is still far too liberal, but is a step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145990 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[analyzer] Add comments related to symbol_iteratorAnna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145987 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[analyzer] Refactor: Move symbol_iterator from SVal to SymExpr, use itAnna Zaks
for finding dependent symbols for taint. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145986 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[analyzer] Propagate taint through NonLoc to NonLoc casts.Anna Zaks
- Created a new SymExpr type - SymbolCast. - SymbolCast is created when we don't know how to simplify a NonLoc to NonLoc casts. - A bit of code refactoring: introduced dispatchCast to have better code reuse, remove a goto. - Updated the test case to showcase the new taint flow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145985 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[analyzer] Remove an unnecessary check.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145984 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Add a FIXME to provide a sensible error message hereDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145983 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Move vector bitcast handling in constant expressions from the expressionRichard Smith
evaluator into constant initializer handling / IRGen. The practical consequence of this is that the bitcast now lives in the constant's definition, rather than in its uses. The code in the constant expression evaluator was producing vectors of the wrong type and size (and possibly of the wrong value for a big-endian int-to-vector bitcast). We were getting away with this only because we don't yet support constant-folding of any expressions which inspect vector values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145981 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Use absolute paths for temporary module map filesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145973 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Remove misleading error messageDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06When inferring a module map for a framework, infer subframeworkDouglas Gregor
modules for each of its subframeworks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145957 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[asan] Mac: do not link dynamic libs with the asan-rt, use -undefined ↵Kostya Serebryany
dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145955 91177308-0d34-0410-b5e6-96231b3b80d8