- Apr 24, 2011
-
-
John McCall authored
APInt::toString doesn't do those, but it's easy to postprocess that output, and that's probably better than adding another knob to that method. llvm-svn: 130081
-
Argyrios Kyrtzidis authored
Put -Wunneeded-internal-declaration under UnusedFunction group so it will be disabled with -Wno-unused-function. llvm-svn: 130080
-
Chandler Carruth authored
should now support all of the C++98 types, and all of the C++0x types Clang supports. llvm-svn: 130079
-
Chandler Carruth authored
'__is_literal' type trait for GCC compatibility. At least one relased version if libstdc++ uses this name for the trait despite it not being documented anywhere. llvm-svn: 130078
-
Chandler Carruth authored
operators in C++ record declarations. This patch starts off by updating a bunch of the standard citations to refer to the draft 0x standard so that the semantics intended for move varianst is clear. Where necessary these are duplicated so they'll be available in doxygen. It adds bit fields to keep track of the state for the move constructs, and updates all the code necessary to track this state (I think) as members are declared for a class. It also wires the state into the various trait-like accessors in the AST's API, and tests that the type trait expressions now behave correctly in the presence of move constructors and move assignment operators. This isn't complete yet due to these glaring FIXMEs: 1) No synthesis of implicit move constructors or assignment operators. 2) I don't think we correctly enforce the new logic for both copy and move trivial checks: that the *selected* copy/move constructor/operator is trivial. Currently this requires *all* of them to be trivial. 3) Some of the trait logic needs to be folded into the fine-grained trivial bits to more closely match the wording of the standard. For example, many of the places we currently set a bit to track POD-ness could be removed by querying other more fine grained traits on demand. llvm-svn: 130076
-
- Apr 23, 2011
-
-
Chandler Carruth authored
'DerivesHasFoo' types for various non-POD constructs in the base class. Only __is_pod and __is_trivial are wired up to these, not sure how much more of this type of exhaustive testing is really interesting. llvm-svn: 130075
-
Chandler Carruth authored
non-POD type. It might be nicer to have a Derives* variant for each of HasCons, HasCopy, etc. Then we could test each of those and also test the __has_* traits. WIP. llvm-svn: 130074
-
Chandler Carruth authored
of the tests using those types to have a (hopefully) more logical ordering now that doing so doesn't cause unreadable deltas of counters changing. llvm-svn: 130073
-
Chandler Carruth authored
that requires needless noise in every patch (due to numbers changing) or poorly grouped test cases in order to have strictly increasing numbers. This will make my subsequent patches much less ugly. =D llvm-svn: 130072
-
Chandler Carruth authored
language options, and warn when reading an AST with a different value for the bit. There doesn't appear to be a good way to test this (commenting out similar other language options doesn't break anything) but if folks have suggestions on tests I'm happy to add them. llvm-svn: 130071
-
Jay Foad authored
llvm-svn: 130068
-
Chandler Carruth authored
from dgregor. llvm-svn: 130066
-
Fariborz Jahanian authored
a 'deprecated' selector in the diagnostics for the selector. // rdar://9309223 llvm-svn: 130062
-
Francois Pichet authored
llvm-svn: 130058
-
Chandler Carruth authored
This introduces a few APIs on the AST to bundle up the standard-based logic so that programmatic clients have access to exactly the same behavior. There is only one serious FIXME here: checking for non-trivial move constructors and move assignment operators. Those bits need to be added to the declaration and accessors provided. This implementation should be enough for the uses of __is_trivial in libstdc++ 4.6's C++98 library implementation. Ideas for more thorough test cases or any edge cases missing would be appreciated. =D llvm-svn: 130057
-
Chandler Carruth authored
sorted in order to prepare for adding some new ones. llvm-svn: 130056
-
Chandler Carruth authored
matches GCC behavior which libstdc++ uses to limit #warning-based messages about deprecation. The machinery involves threading this through a new '-fdeprecated-macro' flag for CC1. The flag defaults to "on", similarly to -Wdeprecated. We turn the flag off in the driver when the warning is turned off (modulo matching some GCC bugs). We record this as a language option, and key the preprocessor on the option when introducing the define. A separate flag rather than a '-D' flag allows us to properly represent the difference between C and C++ builds (only C++ receives the define), and it allows the specific behavior of following -Wdeprecated without potentially impacting the set of user-provided macro flags. llvm-svn: 130055
-
Jay Foad authored
llvm-svn: 130054
-
Benjamin Kramer authored
llvm-svn: 130053
-
Chandler Carruth authored
changes language semantics in C and ObjC (which Clang has supported for a while), in C++ it's the name used for Clang's -Wdeprecated-writable-strings. Clang's name is at least less overloaded if still confusing (the string isn't writable, we just allow converting to a non-const pointer without warning), so I've left it in place and made the GCC name an alias for compatibility. With this I've implemented all the aspects of GCC's -Wwrite-strings I've encountered which didn't work with Clang. llvm-svn: 130052
-
Chandler Carruth authored
-Wwrite-strings. First and foremost, once the positive form of the flag was passed, it could never be disabled by passing -Wno-write-strings. Also, the diagnostic engine couldn't in turn use -Wwrite-strings to control diagnostics (as GCC does) because it was essentially hijacked to drive the language semantics. Fix this by giving CC1 a clean '-fconst-strings' flag to enable const-qualified strings in C and ObjC compilations. Corresponding '-fno-const-strings' is also added. Then the driver is taught to introduce '-fconst-strings' in the CC1 command when '-Wwrite-strings' dominates. This entire flag is basically GCC-bug-compatibility driven, so we also match GCC's bug where '-w' doesn't actually disable -Wwrite-strings. I'm open to changing this though as it seems insane. llvm-svn: 130051
-
Andrew Trick authored
llvm-svn: 130050
-
Andrew Trick authored
Fixes Thumb2 ADCS and SBCS lowering: <rdar://problem/9275821>. t2ADCS/t2SBCS are now pseudo instructions, consistent with ARM, so the assembly printer correctly prints the 's' suffix. Fixes Thumb2 adde -> SBC matching to check for live/dead carry flags. Fixes the internal ARM machine opcode mnemonic for ADCS/SBCS. Fixes ARM SBC lowering to check for live carry (potential bug). llvm-svn: 130048
-
Andrew Trick authored
llvm-svn: 130047
-
Andrew Trick authored
llvm-svn: 130046
-
John McCall authored
llvm-svn: 130045
-
Greg Clayton authored
inline contexts when the deepest most block is not inlined. Added source path remappings to the lldb_private::Target class that allow it to remap paths found in debug info so we can find source files that are elsewhere on the current system. Fixed disassembly by function name to disassemble inline functions that are inside other functions much better and to show enough context before the disassembly output so you can tell where things came from. Added the ability to get more than one address range from a SymbolContext class for the case where a block or function has discontiguous address ranges. llvm-svn: 130044
-
Argyrios Kyrtzidis authored
llvm-svn: 130043
-
-
Johnny Chen authored
llvm-svn: 130041
-
NAKAMURA Takumi authored
<h2>Section Example</h2> <div> <!-- h2+div is applied --> <p>Section preamble.</p> <h3>Subsection Example</h3> <p> <!-- h3+p is applied --> Subsection body </p> <!-- End of section body --> </div> FIXME: Care H5 better. llvm-svn: 130040
-
NAKAMURA Takumi authored
llvm-svn: 130039
-
Johnny Chen authored
and use it from TestTargetAPI.py. llvm-svn: 130038
-
Devang Patel authored
llvm-svn: 130037
-
Argyrios Kyrtzidis authored
Don't allow reinterpret_cast to reference of vector element and property expression. Thanks goes to Eli Friedman! llvm-svn: 130036
-
Jim Ingham authored
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will stay around as long as that shared pointer stays around. llvm-svn: 130035
-
Douglas Gregor authored
that a TypeSourceInfo is always available, like we do everywhere else in libclang. Fixes <rdar://problem/9311140>. llvm-svn: 130034
-
Owen Anderson authored
llvm-svn: 130033
-
Chris Lattner authored
the c99 preprocessor. Patch by Jonathan Sauer! llvm-svn: 130031
-
Francois Pichet authored
Correctly emit a diagnostic for multiple templated function definitions in -flate-template-parsing mode. llvm-svn: 130030
-