aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-12-18Fixed broken includes introduced by recent (incomplete) patch toTed Kremenek
TranslationUnit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45177 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Moved TranslationUnit.h to include path.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45176 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Moved TranslationUnit from Driver to AST library.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45175 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45174 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Added to FileEntry a pointer to the <dev_t,ino_t> pair for the file, andTed Kremenek
accessors to FileEntry to query these values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45171 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18local static vars are globals also. This fixes a testcaseChris Lattner
reported by Seo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18remove the loc argument to Type::isConstantSizeType, which isn't useful.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45155 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Fix the location we emit the "not a constant" error for this:Chris Lattner
int foo() { typedef int x[foo()]; static int y = sizeof(x); } previously we'd emit it on the typedef, which made not sense at all. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45154 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Fix PR1863: an assertion due to not setting a location on return fromChris Lattner
this method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45153 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Fix const propagation bug.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45152 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Fix an nice and subtle parser bug reported by Nico Weber.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45149 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Add DefaultFunctionArrayConversion() to the indirection operator in ↵Steve Naroff
Sema::ActOnUnaryOp(). This fixes a bug Chris forwarded from Oliver Hunt... typedef struct { char name[100]; } entry; char f1(entry *e) { return *e->name; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45148 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Fixe bogus error for variable argument methods. ↵Steve Naroff
Sema::ObjcGetTypeForMethodDefinition() wasn't preserving the isVariadic boolean. Another fix is to avoid synthsizing the function decl entirely, however this is a separate issue that I don't want to deal with now. Also added a FIXME to Sema::CheckFunctionCall(), which is currently emitting a bogus warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45146 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Turns out the LLVMFoldingBuilder can fold InsertElement. Knowing this, we ↵Anders Carlsson
can get rid of our special casing of constants when creating vectors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45145 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Improve how we find private method decls. This involved:Steve Naroff
- Changed Sema::ObjcActOnStartOfMethodDef() to register the methods with the global pools. - Changed Sema::ActOnInstanceMessage() to look in global pools (should be much less error prone). - Added a test case to message.m (for lookup that was broken). Misc changes while I was investigating this... - Changed Sema::ActOnAtEnd() to call AddFactoryMethodToGlobalPool (this looked like a cut/paste error). - Added a comment and tweaked another where I was using the first person. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45142 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18introduce a new CodeGenModule::getIntrinsic method, which wraps Chris Lattner
Intrinsic::getDeclaration, allowing much more terse code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45136 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18Add __private_extern__ keyword and recognize it. Added a FIXME to indicate ↵Steve Naroff
there is still work to do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45135 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Fixed a comment describing a functionFariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45125 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17implement HeaderMap::LookupFile. I think headermaps are done now. All that is Chris Lattner
left is this crazy thing called "testing". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45124 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17implement enough helper functions to successfully dump out the Chris Lattner
contents of the header map. Look ma, no assumptions about input data here (aka, corrupt header maps can't crash the compiler - crazy thought). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45122 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Patch to implemented objective-c's dynamic object pointer qualified withFariborz Jahanian
the protocol list (id<P,...> types). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45121 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Targets.cpp is gone.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45119 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Make the insertion point with an explicit new instead of the builder.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Removed CFG.cpp's dependence on #including iostream.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Modified format-string checking to not emit a warning when all of theTed Kremenek
following hold: (1) A vprintf-like function is called that takes the argument list via a via_list argument. (2) The format string is a non-literal that is the parameter value of the enclosing function, e.g: void logmessage(const char *fmt,...) { va_list ap; va_start(ap,fmt); fprintf(fmt,ap); // Do not emit a warning. } In the future this special case will be enhanced to consult the "format" attribute attached to a function declaration instead of just allowing a blank check for all function parameters to be used as format strings to vprintf-like functions. This will happen when more support for attributes becomes available. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45114 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17simplify some code, using new scoped_ptr support. Fix a bug in the Chris Lattner
cross-endianness case, where we checked the version in the wrong endianness. Amusingly, the GCC logic that detects mixed endianness hmaps and rejects them is dead for this very reason. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Finish hooking up the scaffolding for headermaps. They can now do everythingChris Lattner
except resolve lookups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Format string checker: asprintf does not pass argumnents via va_list.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Start reading the headermap header, drop the 'errorstr' argument toChris Lattner
the create method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45109 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Also fixed similar regression for class methods, as well as more indentations.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45107 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Sink getName into DirectoryLookup to simplify the client in clang.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Fixed a regression caused by refactoring of some meta-data generation ↵Fariborz Jahanian
routines using iteratgors. Also fixed indentation problems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Fixed 80 col violation.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45104 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Added driver option -Wno-format-nonliteral to silence format string relatedTed Kremenek
warnings. This flag is the inverse of to GCC's -Wformat-nonliteral option (in the clang driver, these warnings are on by default). Patch provided by Shantonu Sen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Unbreak -v with framework paths. Patch by Shantonu Sen.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45102 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Fixed another case where sizeof() returns the size in bytes, not bits.Ted Kremenek
This parallels a previous patch (duplicate logic caused the bug to appear in multiple locations): r44316 (http://llvm.org/viewvc/llvm-project?rev=44316&view=rev). Patch provided by Nuno Lopes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45098 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17add headermap.cppChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45095 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17finish stubbing out support for HeaderMap. Now we just need an implementation!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45094 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17refactor an better comment framework lookup code. This moves it from Chris Lattner
HeaderSearch into DirectoryLookup, as a particular framework lookup is specific to the directory we are currently querying. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17as it turns out, frameworks and headermaps are orthogonal. Make this so inChris Lattner
the internal representation. This also fixes a bug where -I foo -F foo would not search foo as both a normal and framework include dir. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45092 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17add a portability fixme.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45091 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17teach RemoveDuplicates about header maps.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45090 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Step #1 in adding headermap support to clang.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45089 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17rearrange some code and make it more efficient.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45087 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17add a hack so that codegen doesn't abort on missing sema of initializers, nowChris Lattner
we emit stuff like this: abort on missing sema of initializers, now we emit stuff like this: t3.c:1:24: warning: cannot codegen this initializer yet const char x[2][4] = { { 'a', 'b', '\0', '\0' }, { 'c', 'd', 'e', '\0' } }; ^~~~~~~~~~~~~~~~~~~~~~~~ This should be removed when sema is finished. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45086 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17Update to use new PointerType::getUnqual() api.Christopher Lamb
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45081 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-16Start generating SSE intrinsics.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45079 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-16Sema::ActOnMemberReferenceExpr() needs to perform the default conversions.Steve Naroff
Bug and test case provided by Carl Lewis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45078 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-15swtich to smallptrset, which is more efficient than std::set.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45065 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-15make clang -v output more similar to gcc's -v output.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45064 91177308-0d34-0410-b5e6-96231b3b80d8