1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

Make YAML quote forward slashes.

llvm-svn: 344357
This commit is contained in:
Zachary Turner 2018-10-12 16:24:09 +00:00
parent 5a8cd26c18
commit 00ac5d8257
11 changed files with 32 additions and 25 deletions

View File

@ -578,7 +578,6 @@ inline QuotingType needsQuotes(StringRef S) {
// Safe scalar characters.
case '_':
case '-':
case '/':
case '^':
case '.':
case ',':
@ -595,6 +594,12 @@ inline QuotingType needsQuotes(StringRef S) {
// DEL (0x7F) are excluded from the allowed character range.
case 0x7F:
return QuotingType::Double;
// Forward slash is allowed to be unquoted, but we quote it anyway. We have
// many tests that use FileCheck against YAML output, and this output often
// contains paths. If we quote backslashes but not forward slashes then
// paths will come out either quoted or unquoted depending on which platform
// the test is run on, making FileCheck comparisons difficult.
case '/':
default: {
// C0 control block (0x0 - 0x1F) is excluded from the allowed character
// range.

View File

@ -38,7 +38,7 @@
; YAML: --- !Missed
; YAML: Pass: regalloc
; YAML: Name: LoopSpillReload
; YAML: DebugLoc: { File: /tmp/kk.c, Line: 3, Column: 20 }
; YAML: DebugLoc: { File: '/tmp/kk.c', Line: 3, Column: 20 }
; YAML: Function: fpr128
; YAML: Hotness: 300
; YAML: Args:
@ -51,7 +51,7 @@
; YAML: --- !Missed
; YAML: Pass: regalloc
; YAML: Name: LoopSpillReload
; YAML: DebugLoc: { File: /tmp/kk.c, Line: 2, Column: 20 }
; YAML: DebugLoc: { File: '/tmp/kk.c', Line: 2, Column: 20 }
; YAML: Function: fpr128
; YAML: Hotness: 30000
; YAML: Args:
@ -64,7 +64,7 @@
; YAML: --- !Missed
; YAML: Pass: regalloc
; YAML: Name: LoopSpillReload
; YAML: DebugLoc: { File: /tmp/kk.c, Line: 1, Column: 20 }
; YAML: DebugLoc: { File: '/tmp/kk.c', Line: 1, Column: 20 }
; YAML: Function: fpr128
; YAML: Hotness: 300
; YAML: Args:
@ -79,7 +79,7 @@
; THRESHOLD_YAML: --- !Missed
; THRESHOLD_YAML: Pass: regalloc
; THRESHOLD_YAML: Name: LoopSpillReload
; THRESHOLD_YAML: DebugLoc: { File: /tmp/kk.c, Line: 2, Column: 20 }
; THRESHOLD_YAML: DebugLoc: { File: '/tmp/kk.c', Line: 2, Column: 20 }
; THRESHOLD_YAML: Function: fpr128
; THRESHOLD_YAML: Hotness: 30000
; THRESHOLD_YAML: Args:

View File

@ -376,8 +376,8 @@ DWARF:
#CHECK: DWARF:
#CHECK: debug_str:
#CHECK: - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
#CHECK: - ../compiler-rt/lib/builtins/absvdi2.c
#CHECK: - /Users/cbieneman/dev/open-source/llvm-build-rel
#CHECK: - '../compiler-rt/lib/builtins/absvdi2.c'
#CHECK: - '/Users/cbieneman/dev/open-source/llvm-build-rel'
#CHECK: - int
#CHECK: - di_int
#CHECK: - long long int

View File

@ -365,8 +365,8 @@ DWARF:
#CHECK: DWARF:
#CHECK: debug_str:
#CHECK: - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
#CHECK: - ../compiler-rt/lib/builtins/absvdi2.c
#CHECK: - /Users/cbieneman/dev/open-source/llvm-build-rel
#CHECK: - '../compiler-rt/lib/builtins/absvdi2.c'
#CHECK: - '/Users/cbieneman/dev/open-source/llvm-build-rel'
#CHECK: - int
#CHECK: - di_int
#CHECK: - long long int

View File

@ -257,7 +257,7 @@ DWARF:
#CHECK: - ''
#CHECK: - 'clang version 4.0.0 (trunk 288677) (llvm/trunk 288676)'
#CHECK: - hello_world.c
#CHECK: - /Users/cbieneman/dev/open-source/llvm-build-rel
#CHECK: - '/Users/cbieneman/dev/open-source/llvm-build-rel'
#CHECK: - main
#CHECK: - argc
#CHECK: - argv

View File

@ -40,7 +40,7 @@ LoadCommands:
#CHECK: - cmd: LC_LOAD_DYLINKER
#CHECK: cmdsize: 32
#CHECK: name: 12
#CHECK: PayloadString: /usr/lib/dyld
#CHECK: PayloadString: '/usr/lib/dyld'
#CHECK: ZeroPadBytes: 7
#CHECK: - cmd: LC_LOAD_DYLIB
#CHECK: cmdsize: 48
@ -58,5 +58,5 @@ LoadCommands:
#CHECK: timestamp: 2
#CHECK: current_version: 80349697
#CHECK: compatibility_version: 65536
#CHECK: PayloadString: /usr/lib/libSystem.B.dylib
#CHECK: PayloadString: '/usr/lib/libSystem.B.dylib'
#CHECK: ZeroPadBytes: 6

View File

@ -32,7 +32,7 @@
; CGSCC-NEXT: Name: IRSizeChange
; CGSCC-NEXT: Function:
; CGSCC-NEXT: Args:
; CGSCC-NEXT: - Pass: Function Integration/Inlining
; CGSCC-NEXT: - Pass: 'Function Integration/Inlining'
; CGSCC-NEXT: - String: ': IR instruction count changed from '
; CGSCC-NEXT: - IRInstrsBefore: '[[ORIG]]'
; CGSCC-NEXT: - String: ' to '
@ -44,7 +44,7 @@
; CGSCC-NEXT: Name: FunctionIRSizeChange
; CGSCC-NEXT: Function:
; CGSCC-NEXT: Args:
; CGSCC-NEXT: - Pass: Function Integration/Inlining
; CGSCC-NEXT: - Pass: 'Function Integration/Inlining'
; CGSCC-NEXT: - String: ': Function: '
; CGSCC-NEXT: - Function: bar
; CGSCC-NEXT: - String: ': IR instruction count changed from '

View File

@ -49,7 +49,7 @@
; YAML-NEXT: --- !Missed
; YAML-NEXT: Pass: gvn
; YAML-NEXT: Name: LoadClobbered
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 3, Column: 3 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 3, Column: 3 }
; YAML-NEXT: Function: may_alias
; YAML-NEXT: Args:
; YAML-NEXT: - String: 'load of type '
@ -57,10 +57,10 @@
; YAML-NEXT: - String: ' not eliminated'
; YAML-NEXT: - String: ' in favor of '
; YAML-NEXT: - OtherAccess: load
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 1, Column: 13 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 1, Column: 13 }
; YAML-NEXT: - String: ' because it is clobbered by '
; YAML-NEXT: - ClobberedBy: store
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 2, Column: 10 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 2, Column: 10 }
; YAML-NEXT: ...
define i32 @arg(i32* %p, i32 %i) {

View File

@ -22,15 +22,15 @@
; YAML: --- !Passed
; YAML-NEXT: Pass: inline
; YAML-NEXT: Name: Inlined
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 4, Column: 10 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 4, Column: 10 }
; YAML-NEXT: Function: bar
; YAML-NEXT: Hotness: 30
; YAML-NEXT: Args:
; YAML-NEXT: - Callee: foo
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 1, Column: 0 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 1, Column: 0 }
; YAML-NEXT: - String: ' inlined into '
; YAML-NEXT: - Caller: bar
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 3, Column: 0 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 3, Column: 0 }
; YAML-NEXT: - String: ' with '
; YAML-NEXT: - String: '(cost='
; YAML-NEXT: - Cost: '{{[0-9\-]+}}'

View File

@ -52,27 +52,27 @@
; YAML: --- !Missed
; YAML-NEXT: Pass: inline
; YAML-NEXT: Name: NoDefinition
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 5, Column: 10 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 5, Column: 10 }
; YAML-NEXT: Function: baz
; YAML-NEXT: Hotness: 30
; YAML-NEXT: Args:
; YAML-NEXT: - Callee: foo
; YAML-NEXT: - String: ' will not be inlined into '
; YAML-NEXT: - Caller: baz
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 4, Column: 0 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 4, Column: 0 }
; YAML-NEXT: - String: ' because its definition is unavailable'
; YAML-NEXT: ...
; YAML-NEXT: --- !Missed
; YAML-NEXT: Pass: inline
; YAML-NEXT: Name: NoDefinition
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 5, Column: 18 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 5, Column: 18 }
; YAML-NEXT: Function: baz
; YAML-NEXT: Hotness: 30
; YAML-NEXT: Args:
; YAML-NEXT: - Callee: bar
; YAML-NEXT: - String: ' will not be inlined into '
; YAML-NEXT: - Caller: baz
; YAML-NEXT: DebugLoc: { File: /tmp/s.c, Line: 4, Column: 0 }
; YAML-NEXT: DebugLoc: { File: '/tmp/s.c', Line: 4, Column: 0 }
; YAML-NEXT: - String: ' because its definition is unavailable'
; YAML-NEXT: ...

View File

@ -2543,7 +2543,9 @@ TEST(YAMLIO, TestEscaped) {
// Single quote
TestEscaped("@abc@", "'@abc@'");
// No quote
TestEscaped("abc/", "abc/");
TestEscaped("abc", "abc");
// Forward slash quoted
TestEscaped("abc/", "'abc/'");
// Double quote non-printable
TestEscaped("\01@abc@", "\"\\x01@abc@\"");
// Double quote inside single quote