Rafael Espindola
a97373f235
Fix bug 20125 - clang-format segfaults on bad config.
...
The problem was in unchecked dyn_cast inside of Input::createHNodes.
Patch by Roman Kashitsyn!
llvm-svn: 215205
2014-08-08 13:58:00 +00:00
Craig Topper
66f09ad041
[C++11] Use 'nullptr'.
...
llvm-svn: 210442
2014-06-08 22:29:17 +00:00
Rafael Espindola
d9a25d82c1
Make this operator bool() explicit to match the standard library.
...
llvm-svn: 210072
2014-06-03 04:42:24 +00:00
David Majnemer
7788033be6
YAMLIO: Allow scalars to dictate quotation rules
...
Introduce ScalarTraits::mustQuote which determines whether or not a
StringRef needs quoting before it is acceptable to output.
llvm-svn: 205955
2014-04-10 07:37:33 +00:00
David Majnemer
97d8ee3824
Revert "Revert "YAMLIO: Encode ambiguous hex strings explicitly""
...
Don't quote octal compatible strings if they are only two wide, they
aren't ambiguous.
This reverts commit r205857 which reverted r205857.
llvm-svn: 205914
2014-04-09 17:04:27 +00:00
Filipe Cabecinhas
2c4e8ae0fd
Revert "YAMLIO: Encode ambiguous hex strings explicitly"
...
This reverts commit r205839.
It broke several tests in lld.
llvm-svn: 205857
2014-04-09 14:35:17 +00:00
David Majnemer
815433587c
YAMLIO: Encode ambiguous hex strings explicitly
...
YAMLIO would turn a BinaryRef into the string 0000000004000000.
However, the leading zero causes parsers to interpret it as being an
octal number instead of a hexadecimal one.
Instead, escape such strings as needed.
llvm-svn: 205839
2014-04-09 07:56:27 +00:00
Nick Kledzik
7cd45f29b2
YAML I/O add support for validate()
...
MappingTrait template specializations can now have a validate() method which
performs semantic checking. For details, see <http://llvm.org/docs/YamlIO.html >.
llvm-svn: 195286
2013-11-21 00:28:07 +00:00
Nick Kledzik
4761c60eef
revert r194655
...
llvm-svn: 195285
2013-11-21 00:20:10 +00:00
John Thompson
48e018a314
YAML I/O - Added default trait support for std:string. Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
...
llvm-svn: 195134
2013-11-19 17:28:21 +00:00
Alexander Kornienko
681e37cbf6
Recover gracefully when deserializing invalid YAML input.
...
Fixes http://llvm.org/PR16221 , http://llvm.org/PR15927
Phabricator: http://llvm-reviews.chandlerc.com/D1236
Patch by Andrew Tulloch!
llvm-svn: 195016
2013-11-18 15:50:04 +00:00
Nick Kledzik
4a9f00d8cb
remove extra semicolon
...
llvm-svn: 194658
2013-11-14 03:03:05 +00:00
Nick Kledzik
dd34f77cbd
Add dyn_cast<> support to YAML I/O's IO class
...
llvm-svn: 194655
2013-11-14 02:38:07 +00:00
Nick Kledzik
1e6033ca33
Add simple support for tags in YAML I/O
...
llvm-svn: 194644
2013-11-14 00:59:59 +00:00
John Thompson
6cd5bd4a3d
Reverting my r193344 checkin due to build breakage.
...
llvm-svn: 193350
2013-10-24 14:52:56 +00:00
John Thompson
e38e57206f
Added std::string as a built-in type for mapping.
...
llvm-svn: 193344
2013-10-24 13:36:58 +00:00
Rui Ueyama
106ededc4e
Re-submit r190469: YAMLIO: Fix string quoting logic.
...
llvm-svn: 190485
2013-09-11 04:00:08 +00:00
Hans Wennborg
33ae7cea9f
Revert "YAMLIO: Fix string quoting logic." (r190469)
...
It was turning the buildbots red.
llvm-svn: 190480
2013-09-11 01:59:32 +00:00
Rui Ueyama
38dfffa891
Remove trailing whitespace
...
llvm-svn: 190472
2013-09-11 00:53:07 +00:00
Rui Ueyama
9a40ae8935
YAMLIO: Fix string quoting logic.
...
YAMLIO printed a string as is without quotes unless it contains a newline
character. That did not suffice. We also need to quote a string if it starts
with a backquote, quote, double quote or atsign, or it's the empty string.
llvm-svn: 190469
2013-09-11 00:45:48 +00:00
Aaron Ballman
381f59f06f
Removing a spurious semi-colon; this macro expands into a namespace.
...
llvm-svn: 188525
2013-08-16 01:53:58 +00:00
Aaron Ballman
0e63e53da1
Tighten up the yamilizer so it stops eliding empty sequences if the embedded empty sequence is the first key/value in a map which is itself in a sequence.
...
Patch with help from Nick Kledzik.
llvm-svn: 188508
2013-08-15 23:17:53 +00:00
Dmitri Gribenko
7b4fb9a65f
Replace memcpys by a static_cast and an integral promotion.
...
llvm-svn: 172108
2013-01-10 21:21:32 +00:00
Dmitri Gribenko
ba9d1b5fcd
Fix coding style
...
llvm-svn: 172107
2013-01-10 21:10:44 +00:00
Jakub Staszak
6a3ef9c094
Unbreak tests after regression from r172081.
...
llvm-svn: 172105
2013-01-10 21:02:05 +00:00
David Greene
4162c2d31b
Fix Alias Bug
...
Use memcpy to do type punning instead of a cast. A cast or similar
operation through a union breaks strict aliasing rules.
llvm-svn: 172081
2013-01-10 18:17:54 +00:00
Nick Kledzik
11964f2a8f
Fix how YAML I/O detects flow sequences.
...
Update test case to verify flow sequence is
written as a flow sequence.
llvm-svn: 171514
2013-01-04 19:32:00 +00:00
Nick Kledzik
bed953d699
Fix some integer constant warnings by using a suffix
...
llvm-svn: 170376
2012-12-17 22:11:17 +00:00
Nick Kledzik
52bfd38ee0
re-enable test cases now that traits work with g++. Fix some g++ warnings
...
llvm-svn: 170369
2012-12-17 20:43:53 +00:00
Nick Kledzik
808f84d35e
Temporarily disable test cases until they compile with g++ too.
...
llvm-svn: 170035
2012-12-12 22:39:45 +00:00
David Blaikie
b088ff6617
Unbreak the build. Fallout from r170019.
...
llvm-svn: 170033
2012-12-12 22:14:32 +00:00
Nick Kledzik
f60a9279ea
Initial implementation of a utility for converting native data
...
structures to and from YAML using traits. The first client will
be the test suite of lld. The documentation will show up at:
http://llvm.org/docs/YamlIO.html
llvm-svn: 170019
2012-12-12 20:46:15 +00:00