- Jun 16, 2009
-
-
Chris Lattner authored
have target-specific builtins, and do not set the count. Just default to 0 for these targets. llvm-svn: 73510
-
Chris Lattner authored
registered when PCH wasn't being used. We should always install (in BuiltinInfo) information about target-specific builtins, but we shouldn't register any builtin identifier infos. This fixes the build of apps that use PCH and target specific builtins together. llvm-svn: 73492
-
- Jun 15, 2009
-
-
Douglas Gregor authored
its (possibly-remapped) diagnostics. Thanks, Chris! llvm-svn: 73390
-
- Jun 14, 2009
-
-
Douglas Gregor authored
Implement support for C++ Substitution Failure Is Not An Error (SFINAE), which says that errors that occur during template argument deduction do *not* produce diagnostics and do not necessarily make a program ill-formed. Instead, template argument deduction silently fails. This is currently implemented for template argument deduction during matching of class template partial specializations, although the mechanism will also apply to template argument deduction for function templates. The scheme is simple: - If we are in a template argument deduction context, any diagnostic that is considered a SFINAE error (or warning) will be suppressed. The error will be propagated up the call stack via the normal means. - By default, all warnings and errors are SFINAE errors. Add the NoSFINAE class to a diagnostic in the .td file to make it a hard error (e.g., for access-control violations). Note that, to make this fully work, every place in Sema that emits an error *and then immediately recovers* will need to check Sema::isSFINAEContext() to determine whether it must immediately return an error rather than recovering. llvm-svn: 73332
-
Chris Lattner authored
preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
-
Chris Lattner authored
fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
-
- Jun 09, 2009
-
-
Daniel Dunbar authored
- <rdar://problem/6948443> WARNING: Linking two modules of different data layouts! llvm-svn: 73093
-
- Jun 08, 2009
-
-
Eli Friedman authored
llvm-svn: 73083
-
Eli Friedman authored
llvm-svn: 73081
-
Eli Friedman authored
llvm-svn: 73050
-
- Jun 07, 2009
-
-
Zhongxing Xu authored
llvm-svn: 73027
-
- Jun 05, 2009
-
-
Eli Friedman authored
llvm-svn: 72928
-
Eli Friedman authored
llvm-svn: 72900
-
- Jun 03, 2009
-
-
Eli Friedman authored
this. The correct replacement for "Y" and "Yt" is "x". llvm-svn: 72765
-
Eli Friedman authored
llvm-svn: 72764
-
- Jun 02, 2009
-
-
Sanjiv Gupta authored
llvm-svn: 72713
-
- May 29, 2009
-
-
Eli Friedman authored
llvm-svn: 72583
-
- May 22, 2009
-
-
Eli Friedman authored
llvm-svn: 72240
-
Douglas Gregor authored
llvm-svn: 72237
-
- May 18, 2009
-
-
Daniel Dunbar authored
- Chris, please see added FIXMEs. llvm-svn: 72019
-
- May 17, 2009
-
-
Eli Friedman authored
accordingly. llvm-svn: 71966
-
- May 08, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 71233
-
- May 06, 2009
-
-
Daniel Dunbar authored
- x86 target feature handling should not be feature complete, even if the code quality is lacking. llvm-svn: 71123
-
Daniel Dunbar authored
- Apologies for the extremely gross code duplication, I want to get this working and then decide how to get this information out of the back end. - This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc doesn't distinguish them? - -msse, etc. now properly disable/enable related features. - Don't always define __SSE3__... - The main missing functionality bit here is that we don't initialize the features based on the CPU for all -march options. llvm-svn: 71117
-
Daniel Dunbar authored
- Default to yonah on Darwin (to get SSE3). - Default to Pentium4 (32-bit) and x86-64 (64-bit) on non-Darwin. Welcome to the 21st century. llvm-svn: 71069
-
rdar://6860124Chris Lattner authored
This recognizes all the target-independent constant constraints that have target-specific meanings. llvm-svn: 71064
-
Daniel Dunbar authored
- This is a WIP... - This adds -march= handling to the driver, and fixes the defaulting of -mcpu on Darwin (which was using the wrong test). Instead of handling -m{sse, ...} in the driver, pass them to clang-cc as -target-feature [+-]name In clang-cc, communicate with the (clang) target to discover the legal features of a target, and the features which are enabled based on -mcpu. This is currently hardcoded just enough to not be a feature regression, we need to get this information from the backend's TableGen information somehow. This is used to construct the full list of features which are being used, which is in turn used to initialize the predefines. llvm-svn: 71061
-
- May 03, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 70774
-
Anton Korobeynikov authored
llvm-svn: 70773
-
- May 02, 2009
-
-
Chris Lattner authored
them with -Werror. Custom diags cannot be mapped, and this makes -Werror cause a determinstic crash for the checker and other clients of the custom diagnostics machinery. rdar://6816191 llvm-svn: 70639
-
- Apr 28, 2009
-
-
Eli Friedman authored
scheme to be more useful. The new scheme introduces a set of categories that should be more readable, and also reflects what we want to consider as an extension more accurately. Specifically, it makes the "what is a keyword" determination accurately reflect whether the keyword is a GNU or Microsoft extension. I also introduced separate flags for keyword aliases; this is useful because the classification of the aliases is mostly unrelated to the classification of the original keyword. This patch treats anything that's in the implementation namespace (prefixed with "__", or "_X" where "X" is any upper-case letter) as a keyword without marking it as an extension. This is consistent with the standards in that an implementation is allowed to define arbitrary extensions in the implementation namespace without violating the standard. This gets rid of all the nasty "extension used" warnings for stuff like __attribute__ in -pedantic mode. We still warn for extensions outside of the the implementation namespace, like typeof. If someone wants to implement -Wextensions or something like that, we could add additional information to the keyword table. This also removes processing for the unused "Boolean" language option; such an extension isn't supported on any other C implementation, so I don't see any point to adding it. The changes to test/CodeGen/inline.c are required because previously, we weren't actually disabling the "inline" keyword in -std=c89 mode. I'll remove Boolean and NoExtensions from LangOptions in a follow-up commit. llvm-svn: 70281
-
- Apr 27, 2009
-
-
Douglas Gregor authored
ignore a PCH file. llvm-svn: 70251
-
Douglas Gregor authored
essentially the same thing we do with pretokenized headers. stat() caching improves performance of the Cocoa-prefixed "Hello, World" by 45%. llvm-svn: 70223
-
Douglas Gregor authored
file. In particular, only eagerly load source location entries for files and for the predefines buffer. Other buffers and macro-instantiation source location entries are loaded lazily. With the Cocoa-prefixed "Hello, World", we only load 815/26555 source location entities. This halves the amount of user time we spend in this "Hello, World" program with -fsyntax-only (down to .007s). This optimization is part 1 of 2 for the source manager. This eliminates most of the user time in loading a PCH file. We still spend too much time initialize File structures (especially in the calls to stat), so we need to either make the loading of source location entries for files lazy or import the stat cache from the PTH implementation. llvm-svn: 70196
-
Douglas Gregor authored
- Deal with the Receiver/ClassInfo shared storage in ObjCMessageExpr - Implement PCH support for ImplicitParamDecl - Fix the handling of the body of an ObjCMethodDecl - Several cast -> cast_or_null fixes - Make Selector::getIdentifierInfoForSlot work for 1-argument, NULL selectors. - Make Selector::getAsString() work with NULL selectors. - Fix the names of VisitObjCAtCatchStmt and VisitObjCAtFinallyStmt in the PCH reader and writer; these were never getting called. At this point, all of the pch-test tests pass for C and Objective-C. llvm-svn: 70163
-
- Apr 26, 2009
-
-
Chris Lattner authored
llvm-svn: 70137
-
Chris Lattner authored
llvm-svn: 70136
-
Chris Lattner authored
instead of passing it around in addition to it. llvm-svn: 70135
-
Chris Lattner authored
the enum along with some other data. llvm-svn: 70114
-
Douglas Gregor authored
PCH file. In the Cocoa-prefixed "Hello, World" benchmark, this takes us from reading 503 identifiers down to 37 and from 470 macros down to 4. It also results in an 8% performance improvement. llvm-svn: 70094
-