[llvm-bugs] [Bug 42910] New: Make dwarf assembly output more symbolic == editable

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42910

Bug ID: 42910
   Summary: Make dwarf assembly output more symbolic == editable
   Product: libraries
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Common Code Generator Code
  Assignee: unassignedb...@nondot.org
  Reporter: lab...@google.com
CC: llvm-bugs@lists.llvm.org, r...@google.com

Currently, we go out of our way to print all constants in the dwarf we emit as
literal constants. This probably speeds up codegen, but it probably hurts the
readability, and definitely hurts editability (e.g., for producing test cases
with "weird" dwarf for lldb or other tools) of the generated dwarf. Here's a
non-exhaustive list of things we could do (probably guarded by -fverbose-asm)
to improve this. It's roughly ordered according to the impact I estimate the
changes would have on the readability/editability of the generated dwarf:

- make all DIE cross-references in the debug_info section symbolic (e.g. from a
variable DIE to it's type). Currently, we just emit these as integral
constants, which is a problem, because pretty much any change to the debug info
will upset these offsets. However, if these were emitted as something like
```
.byte   2   # Abbrev [2] 0x1e:0x15 DW_TAG_variable
.long   .Ltype47-.Lcu_start # DW_AT_type
...
.Ltype47:
.byte   3   # Abbrev [3] 0x33:0x7 DW_TAG_base_type
...
```
then one could freely add/remove dies or attributes and the references would
remain valid.

- make references from debug_info -> debug_abbrev symbolic. When adding or
removing an attribute, one needs to make coordinated changes in the the
abbreviation as well as in all DIEs that reference that abbreviation. This
would make it easier to find all of them and jump between them. This could look
something like:
.section .debug_abbrev
.set .Labbrev_DW_TAG_variable0, 0
  .byte .Labbrev_DW_TAG_variable0
  ...

.section .debug_info
  .uleb128 .Labbrev_DW_TAG_variable0

- make all DWARF5 indexed section references (debug_str_offsets, etc.)
symbolic. Ironically, these were introduced precisely to reduce the overhead of
symbolic references in previous dwarf versions. However, they do make it hard
to figure out what a particular (e.g.) DW_AT_name refers to as they show up as
just a ".byte". This could work in a manner similar to .debug_abbrev above, but
it is a lower priority because DWARF5 can be turned off. :)

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42474] [meta] 9.0.0 Release Blockers

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42474
Bug 42474 depends on bug 42907, which changed state.

Bug 42907 Summary: wasm-ld crashes with both --shared-memory and --relocatable
https://bugs.llvm.org/show_bug.cgi?id=42907

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42907] wasm-ld crashes with both --shared-memory and --relocatable

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42907

Hans Wennborg  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 CC||h...@chromium.org
 Status|NEW |RESOLVED

--- Comment #1 from Hans Wennborg  ---
Merged in r368137. Thanks!

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42899] X86MCCodeEmitter crashes when encoding a VPERMIL2P (XOP) with an invalid immediate

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42899

Andrea Di Biagio  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Andrea Di Biagio  ---
Thanks Craig!

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42911] New: llvm\include\llvm\Support\Alignment.h(314) : warning C4723: potential divide by 0

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42911

Bug ID: 42911
   Summary: llvm\include\llvm\Support\Alignment.h(314) : warning
C4723: potential divide by 0
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Support Libraries
  Assignee: unassignedb...@nondot.org
  Reporter: llvm-...@redking.me.uk
CC: gchate...@google.com, llvm-bugs@lists.llvm.org

[132/26/743/900] Building CXX object
unittests\Support\CMakeFiles\SupportTests.dir\AlignmentTest.cpp.obj
E:\llvm\llvm\include\llvm\Support\Alignment.h(314) : warning C4723: potential
divide by 0

We're seeing this warning in MSVC llvm builds now, preventing us enabling
Werror

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42912] New: riscv inline assembly compilation failure

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42912

Bug ID: 42912
   Summary: riscv inline assembly compilation failure
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: C
  Assignee: unassignedclangb...@nondot.org
  Reporter: ronen.h...@wdc.com
CC: blitzrak...@gmail.com, dgre...@apple.com,
erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

riscv inline assembly input operand failure for the following code:


#define M_SET_ENTRY(func) asm volatile ("la x31, %0" : : "i"(func) : );

void my_func(void)
{
   /* 
* some code here 
*/
}

void some_func(void)
{
   /* 
* some code here 
*/

   M_SET_ENTRY(my_func);
}

The failure I get: 

./clang -o test.o -c -Os -ffunction-sections -fdata-sections -Wall -c
-fno-builtin-printf -include sys/cdefs.h -mabi=ilp32 -g3 -gdwarf-2
-march=rv32imac --gcc-toolchain=/home/work/bld-rv-linux-32/
--sysroot=/home/work/bld-rv-linux-32/riscv32-unknown-elf/ test.c
test.c:105:4: error: invalid operand in inline asm: 'la x31, $0'
   M_SET_ENTRY(my_func);
   ^
test.c:91:41: note: expanded from macro 'M_SET_ENTRY'
#define M_SET_ENTRY(func) asm volatile ("la x31, %0" : : "i"(func) : );
^
test.c:105:4: error: unknown operand
test.c:91:41: note: expanded from macro 'M_SET_ENTRY'
#define M_SET_ENTRY(func) asm volatile ("la x31, %0" : : "i"(func) : );
^
:1:10: note: instantiated into assembly here
la x31, 
^
2 errors generated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 18363] clang crashes on valid code at -O0 with -ftrapv (affecting all clang versions)

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=18363

John Brawn  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 CC||john.br...@arm.com
 Status|REOPENED|RESOLVED

--- Comment #7 from John Brawn  ---
It looks like this has been fixed since clang 3.8.0. We now consistently give
no error at any optimization level (with or without -ftrapv).

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 16287 in oss-fuzz: llvm/llvm-isel-fuzzer--x86_64-O2: Out-of-memory in llvm_llvm-isel-fuzzer--x86_64-O2

2019-08-07 Thread ClusterFuzz-External via monorail via llvm-bugs

Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevlieg...@apple.com,  
igm...@gmail.com, mit...@google.com, bigchees...@gmail.com,  
eney...@google.com, llvm-b...@lists.llvm.org, j...@chromium.org,  
v...@apple.com, mitchphi...@outlook.com, xpl...@gmail.com,  
akils...@apple.com
Labels: ClusterFuzz Reproducible Stability-Memory-MemorySanitizer  
Engine-libfuzzer OS-Linux Proj-llvm Reported-2019-08-07

Type: Bug

New issue 16287 by ClusterFuzz-External: llvm/llvm-isel-fuzzer--x86_64-O2:  
Out-of-memory in llvm_llvm-isel-fuzzer--x86_64-O2

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16287

Detailed report: https://oss-fuzz.com/testcase?key=5658786148122624

Project: llvm
Fuzzer: libFuzzer_llvm_llvm-isel-fuzzer--x86_64-O2
Fuzz target binary: llvm-isel-fuzzer--x86_64-O2
Job Type: libfuzzer_msan_llvm
Platform Id: linux

Crash Type: Out-of-memory (exceeds 2048 MB)
Crash Address:
Crash State:
  llvm_llvm-isel-fuzzer--x86_64-O2

Sanitizer: memory (MSAN)

Reproducer Testcase:  
https://oss-fuzz.com/download?testcase_id=5658786148122624


Issue filed automatically.

See https://github.com/google/oss-fuzz/blob/master/docs/reproducing.md for  
instructions to reproduce this bug locally.


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 18374] Loop reroller fails to reroll loop with variable upper bound on 64-bit targets

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=18374

John Brawn  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED
 CC||john.br...@arm.com

--- Comment #10 from John Brawn  ---
This was fixed in LLVM 3.6.0, I think by
https://llvm.org/svn/llvm-project/llvm/trunk@198425.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42909] X86ISelLowering.cpp:7692: llvm::SDValue EltsFromConsecutiveLoads(...): Assertion `EltBaseVT.getSizeInBits() == EltBaseVT.getStoreSizeInBits() && "Register/Memory size mismatch"

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42909

Simon Pilgrim  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|CONFIRMED   |RESOLVED
 Fixed By Commit(s)||r368165

--- Comment #2 from Simon Pilgrim  ---
Fixed in rL368165

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42914] New: [AST] AutoType within AutoTypeLoc is missing deduced type.

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42914

Bug ID: 42914
   Summary: [AST] AutoType within AutoTypeLoc is missing deduced
type.
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: sammcc...@google.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk

the program `auto x = 4;` has an AST that looks like:

VarDecl type=T1
 - typeloc type=T2
 - integerliteral

T1 is correctly an auto type that wraps int.
However T2 is undeduced: it's ASTContext::getAutoDeductType().

This irregularity makes it harder/slower to write tools that (e.g.) care what
an `auto` under the cursor expands to.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42915] New: ICE on lambdas returning lambdas 3 deep, when using move or fwd ref

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42915

Bug ID: 42915
   Summary: ICE on lambdas returning lambdas 3 deep, when using
move or fwd ref
   Product: clang
   Version: 8.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++17
  Assignee: unassignedclangb...@nondot.org
  Reporter: llvmbugbj...@fahller.se
CC: blitzrak...@gmail.com, erik.pilking...@gmail.com,
llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk

Created attachment 22349
  --> https://bugs.llvm.org/attachment.cgi?id=22349&action=edit
Example code causing ICE

The attached file crashes clang++-8.0.0, and trunk (367966).

The crashes are on the lines with a comment '// E'. If those lines are
commented out, it compiles.

There are two ways to make it compile. Remove '= std::move(function)' under the
comment '// 1' or remove the forwarding reference '&&' under the comment '// 2'

godbolt link: https://gcc.godbolt.org/z/DXqN06

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42916] New: [clang-format] Possibility to narrow list of languages to guess from

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42916

Bug ID: 42916
   Summary: [clang-format] Possibility to narrow list of languages
to guess from
   Product: clang
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Formatter
  Assignee: unassignedclangb...@nondot.org
  Reporter: kyrylo.bohdane...@gmail.com
CC: djas...@google.com, kli...@google.com,
llvm-bugs@lists.llvm.org

So the idea is to have possibility to help clang-format with guessing language
of a file by narrowing possible options list.

For example, if a project (a directory) contains .clang-format and -style=file
was selected, then limit options only to the languages described in that file.
This could help in cases like 37433, 39216: if there is no configuration for
ObjC, then do not consider ObjC.

Other option would be to have an option in the configuration file and CLI to
explicitly define a set of languages to choose from. This is pretty similar to
what was proposed in 36468.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 18082] Assert triggered by DependenceAnalysis

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=18082

John Brawn  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||john.br...@arm.com
 Resolution|--- |FIXED

--- Comment #2 from John Brawn  ---
Assert does not trigger in LLVM 3.8.0 and later.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42917] New: Missed vectorization for loop with MAX

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42917

Bug ID: 42917
   Summary: Missed vectorization for loop with MAX
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Loop Optimizer
  Assignee: unassignedb...@nondot.org
  Reporter: david.bolvan...@gmail.com
CC: llvm-bugs@lists.llvm.org

#define max(a,b) (((a) > (b))? (a) : (b))

unsigned p[512];
void vmax() {
for (int i = 0; i < 512; i+=2) {
p[i] = max(p[i], p[i+1]);
}
}

int main() {
for (int i = 0; i < 1000; ++i) {
vmax();
}
}

icc -O3 vmax.c -march=haswell
0m0,096s

clang -O3 vmax.c -march=haswell
0m1,518s

clang with #pragma clang loop vectorize(enable) interleave(enable)
0m1,096s

https://godbolt.org/z/5bjKUI

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 22813] AARCH32 asm("b %0":: "i" (3)) should issue a warning

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=22813

John Brawn  changed:

   What|Removed |Added

 CC||john.br...@arm.com
 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #1 from John Brawn  ---
Since LLVM 4.0.0 we now correctly give an error (for the non-multiple-of-4 in
arm and non-multiple-of-2 in thumb).

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42918] New: libc++ passes invalid values to pthread_equal

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42918

Bug ID: 42918
   Summary: libc++ passes invalid values to pthread_equal
   Product: libc++
   Version: unspecified
  Hardware: All
OS: FreeBSD
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: mclow.li...@gmail.com
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com

[ received from Ed Maste at FreeBSD ]

We just had a FreeBSD bug submitted for a failure arising from
libc++'s use of pthread_equal.

FreeBSD's pthread_equal stub implementation (used in non-threaded
programs) returns true unconditionally, since a non-threaded program
cannot have two different threads. However, std::thread::id defines a
special value that should not equal any real thread, and this is may
be passed to pthread_equal. See FreeBSD PR 239550 for more details,
and PR 239038 for the user-facing issue that prompted this.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239550
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239038

Now the most expedient fix is probably for us to make pthread_equal
somewhat less of a stub, but for correctness it seems
__libcpp_thread_id_equal would need to check for libc++'s special
value before calling pthread_equal.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 11593 in oss-fuzz: llvm/llvm-dwarfdump-fuzzer: Heap-buffer-overflow in llvm::DWARFFormValue::dump

2019-08-07 Thread ClusterFuzz-External via monorail via llvm-bugs

Updates:
Labels: ClusterFuzz-Verified
Status: Verified

Comment #7 on issue 11593 by ClusterFuzz-External:  
llvm/llvm-dwarfdump-fuzzer: Heap-buffer-overflow in  
llvm::DWARFFormValue::dump

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11593#c7

ClusterFuzz testcase 5634286556807168 is verified as fixed in  
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201908060313:201908070326


If this is incorrect, please file a bug on  
https://github.com/google/oss-fuzz/issues/new


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 16128 in oss-fuzz: llvm/clang-fuzzer: Stack-overflow in ConvertDeclSpecToType

2019-08-07 Thread ClusterFuzz-External via monorail via llvm-bugs

Updates:
Labels: ClusterFuzz-Verified
Status: Verified

Comment #1 on issue 16128 by ClusterFuzz-External: llvm/clang-fuzzer:  
Stack-overflow in ConvertDeclSpecToType

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16128#c1

ClusterFuzz testcase 5698535701348352 is verified as fixed in  
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201908060313:201908070326


If this is incorrect, please file a bug on  
https://github.com/google/oss-fuzz/issues/new


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 14795 in oss-fuzz: llvm/llvm-opt-fuzzer--x86_64-loop_rotate: Abrt in llvm::llvm_unreachable_internal

2019-08-07 Thread sheriff… via monorail via llvm-bugs

Updates:
Labels: Deadline-Approaching

Comment #2 on issue 14795 by sheriff...@chromium.org:  
llvm/llvm-opt-fuzzer--x86_64-loop_rotate: Abrt in  
llvm::llvm_unreachable_internal

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14795#c2

This bug is approaching its deadline for being fixed, and will be  
automatically derestricted within 7 days. If a fix is planned within 2  
weeks after the deadline has passed, a grace extension can be granted.


- Your friendly Sheriffbot

--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 37950] ExecutionContext::GetByteOrder() always returns endian::InlHostByteOrder()

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=37950

Jonas Devlieghere  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED
 CC||jdevliegh...@apple.com

--- Comment #5 from Jonas Devlieghere  ---
Fixed in r368181

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42919] New: Feature request: Two different indentation width options, one for code, one for pre-processor directives

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42919

Bug ID: 42919
   Summary: Feature request: Two different indentation width
options, one for code, one for pre-processor
directives
   Product: clang
   Version: unspecified
  Hardware: All
OS: All
Status: NEW
  Keywords: missing-feature, new-feature
  Severity: enhancement
  Priority: P
 Component: Formatter
  Assignee: unassignedclangb...@nondot.org
  Reporter: sebast...@pipping.org
CC: djas...@google.com, kli...@google.com,
llvm-bugs@lists.llvm.org

It seems like option "IndentWidth" effects both C/C++ code indentation width as
well as pre-processor indentation width.  What I have seen a few times is that
pre-processor indentation uses a single space per level while the C/C++ code in
the same file uses 2 or 4 spaces.  "IndentWidth" seems to affect both widths
which also means that pre-processor code will look very noise when
"IndentWidth" is more than 2.

So it would be great to have two options, "IndentWidth" and a new one
"IndentWidthPP"(?), thinking of existing "IndentPPDirectives".

Would that be possible?

Thanks in advance!

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42920] New: LLDB fails to evaluate expression with template class type

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42920

Bug ID: 42920
   Summary: LLDB fails to evaluate expression with template class
type
   Product: lldb
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: sfunkenhau...@google.com
CC: jdevliegh...@apple.com, llvm-bugs@lists.llvm.org

LLDB fails to evaluate expressions with template class types.

Simple example:
template  class foo
{ 
  uint32_t data;
};

foo test;

int main() {
  return 0;
}

I set a breakpoint on main and try to evaluate the following expression:
(lldb) p sizeof(foo)
error: implicit instantiation of undefined template 'foo'
template is declared here

The debug information is available (It's not being optimized out), and printing
'test' works just fine:
$ readelf --debug-dump a.out | grep foo
<41>   DW_AT_name: (indirect string, offset: 0xa): foo
<49>   DW_AT_name: (indirect string, offset: 0x0): foo
3f  foo

Quoting Jim Ingham from a discussion on lldb-dev@
"LLDB uses clang as its expression parser, which when it sees foo
apparently wants to find a decl called "foo" first, which we don't really have
in the abstract."

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42921] New: FileCheck linking with Z3 despite -DCLANG_ANALYZER_ENABLE_Z3_SOLVER=OFF

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42921

Bug ID: 42921
   Summary: FileCheck linking with Z3 despite
-DCLANG_ANALYZER_ENABLE_Z3_SOLVER=OFF
   Product: Build scripts
   Version: 9.0
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: cmake
  Assignee: unassignedb...@nondot.org
  Reporter: bro...@freebsd.org
CC: llvm-bugs@lists.llvm.org

In LLVM 8.0.0, support was added for Z3.  In the FreeBSD port (think package)
we added -DCLANG_ANALYZER_ENABLE_Z3_SOLVER=OFF to the cmake arguments list to
avoid requiring it.  Somewhere between the 8.0 and 9.0 branch, that stopped
being sufficient and libz3 is being found and FileCheck is being linked to it. 
On some of our platforms where our base compiler is still an ancient GCC, this
is posing a bootstrapping challenge.

Here's an example ldd output (it seems to me that FileCheck may simply be being
overlinked):
$ ldd work/stage/usr/local/bin/FileCheck90 
work/stage/usr/local/bin/FileCheck90:
libthr.so.3 => /lib/libthr.so.3 (0x80089d000)
libz.so.6 => /lib/libz.so.6 (0x800ac5000)
librt.so.1 => /usr/lib/librt.so.1 (0x800cdd000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x800ee3000)
libncurses.so.8 => /lib/libncurses.so.8 (0x8010e6000)
libm.so.5 => /lib/libm.so.5 (0x80133b000)
libz3.so.0 => /usr/local/lib/libz3.so.0 (0x80160)
libc++.so.1 => /usr/lib/libc++.so.1 (0x802a9c000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x802d6a000)
libc.so.7 => /lib/libc.so.7 (0x802f89000)
libelf.so.2 => /lib/libelf.so.2 (0x803345000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80355c000)

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42922] New: [X86] Cmov converter pass sinks volatile loads

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42922

Bug ID: 42922
   Summary: [X86] Cmov converter pass sinks volatile loads
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: craig.top...@gmail.com
CC: craig.top...@gmail.com, llvm-bugs@lists.llvm.org,
llvm-...@redking.me.uk, spatel+l...@rotateright.com

When the cmov converter pass expands a volatile load that has been folded with
a cmov, it places the load only on the false path of the created control flow.
But a volatile load should be executed unconditionally. The original cmov
instruction would have always executed the load.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42923] New: conflicting types error when using '_com_ptr_t' on clang 9.0 RC

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42923

Bug ID: 42923
   Summary: conflicting types error when using '_com_ptr_t' on
clang 9.0 RC
   Product: clang
   Version: 9.0
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: release blocker
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: zachary.hen...@microsoft.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk

clang 9.0 RC built with msvc version 19.22.27905 for x64.  The attached example
compiles fine on clang 8.0.1 and on msvc.  

An odd thing that I noticed is that -std=c++14 works fine, it's only -std=c++17
that causes these errors.

I've attached a fully preprocessed file in case an msvc installation & clang-cl
aren't handy.  Run clang -c -Wno-everything -std=c++17 min_repro.cpp

D:\>clang -c -Wno-everything -std=c++17  D:\temp\min_repro.cpp
D:\temp\min_repro.cpp:67792:16: error: conflicting types for '_com_ptr_t'
template<> _com_ptr_t(Interface* pInterface) throw()
   ^
D:\temp\min_repro.cpp:68735:13: note: in instantiation of template class
'_com_ptr_t<_com_IIID >' requested here
IUnknownPtr Foo() {
^
D:\temp\min_repro.cpp:67792:16: note: previous declaration is here
template<> _com_ptr_t(Interface* pInterface) throw()
   ^
D:\temp\min_repro.cpp:67865:28: error: conflicting types for 'operator='
template<> _com_ptr_t& operator=(Interface* pInterface) throw()
   ^
D:\temp\min_repro.cpp:67865:28: note: previous declaration is here
D:\temp\min_repro.cpp:68011:21: error: conflicting types for 'operator=='
template<> bool operator==(const _com_ptr_t& p) const throw()
^
D:\temp\min_repro.cpp:68011:21: note: previous declaration is here
3 errors generated.

Optionally if an msvc command prompt is available:
D:\>type repro.cpp
#include 

IUnknownPtr Foo() {
return nullptr;
}

D:\>clang-cl.exe -c -std:c++17 -TP -W0 repro.cpp
** Same Errors

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42924] New: Address Sanitizer compilation time regression

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42924

Bug ID: 42924
   Summary: Address Sanitizer compilation time regression
   Product: new-bugs
   Version: 9.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: release blocker
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: ch...@detrino.org
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

I have a large TU that used to take 8 minutes to compile with Clang 8.0 and now
takes 1 hour and 20 minutes with Clang 9.0 RC1 when using -fsanitize=address.

Using the new -ftime-trace flag showed that most of the time was going towards
AddressSanitizerFunctionPass which is taking ~40ms for each function. As this
is being compiled with -O1 nothing is being inlined and that 40ms times number
of functions is adding up to more than an hour.

Further profiling showed that all the time is being spent in memmove for
copying a GlobalsMetadata type on the following line:

https://github.com/llvm/llvm-project/blob/7f7ef0208b57a4d253cd8b07053460f40ad7cbc8/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp#L581

Git blame on that line points to https://reviews.llvm.org/D56470 and it has
some discussion on copying the GlobalsMD struct.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42925] New: Assertion Failure ScalarEvolutionExpander.cpp:80: `SE.DT.dominates(Ret, &*BIP)' failed

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42925

Bug ID: 42925
   Summary: Assertion Failure ScalarEvolutionExpander.cpp:80:
`SE.DT.dominates(Ret, &*BIP)' failed
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Loop Optimizer
  Assignee: unassignedb...@nondot.org
  Reporter: warren_ris...@playstation.sony.com
CC: llvm-bugs@lists.llvm.org

Created attachment 22355
  --> https://bugs.llvm.org/attachment.cgi?id=22355&action=edit
reduced test-case

The attached test-case hits an assertion failure in Induction Variable
Simplification, when optimized at -O1:

  $ opt -O1 test.ll -S -o -
  opt: /llvm/lib/Analysis/ScalarEvolutionExpander.cpp:80:
llvm::Value* llvm::SCEVExpander::ReuseOrCreateCast(
  llvm::Value*, llvm::Type*, llvm::Instruction::CastOps,
  llvm::BasicBlock::iterator):
Assertion `SE.DT.dominates(Ret, &*BIP)' failed.
  Stack dump:
  0. Program arguments: opt -O1 test.ll -S -o -
  1. Running pass 'CallGraph Pass Manager' on module 'test.ll'.
  2. Running pass 'Loop Pass Manager' on function '@foo'
  3. Running pass 'Induction Variable Simplification' on basic block '%do.body'
...
  $

Bisecting shows that this problem first appeared with r320700, although that's
a valid commit, and it's clear that it just exposed a bug that was latent.  It
still happens with ToT (tested with r368100).


FTR, the IR of the test-case contains code that clearly would deref a nullptr
at run-time if it were to be executed.  Specifically, it contains:

  define void @foo(i8* %arg) {
  entry:
%stack_var = alloca i32, align 4
br label %do.body

  do.body:  ; preds = %do.body, %entry
%tmp3.0 = phi i32 [ 0, %entry ], [ %tmp2, %do.body ]
%tmp4.0 = phi i8* [ null, %entry ], [ %add.ptr, %do.body ]
%tmp1 = load i8, i8* %tmp4.0, align 1
...
  }

I haven't been able to come up with a crashing test-case that's "clean" (in the
sense it does not have this nullptr deref problem).  So maybe it's rooted in
that.  For reference, the original test-case prior to reducing, had a formal
argument feeding into that PHI node in the definition of the full function,
rather than an explicit null.  The problem as reported by the customer only
happened when LTO was on, and cross-module inlining exposed it.  I tried
analyzing the callers in the original bitcode, to see whether I could determine
if a nullptr could be deduced to reach a call-site (and so there would be
Undefined Behavior at run-time), but I wasn't able to figure that out.  My
guess is that that's what's happening.  Regardless, of course a compile-time
crash isn't how we want to handle Undefined Behavior.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42832] -Wpessimizing-move and -Wredundant-move are applicable only when returned expression is id-expression

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42832

rtr...@google.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from rtr...@google.com ---
This is fixed in r368237.  The new fix-it will now suggest removing the
initializer list braces along with the std::move call.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42926] New: Merge r366513 into 9.0

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42926

Bug ID: 42926
   Summary: Merge r366513 into 9.0
   Product: lldb
   Version: 9.0
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: All Bugs
  Assignee: h...@chromium.org
  Reporter: smee...@fb.com
CC: jdevliegh...@apple.com, llvm-bugs@lists.llvm.org,
nat...@lanza.io
Blocks: 42474

This fixes cross-compiling LLDB on 9.0.


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=42474
[Bug 42474] [meta] 9.0.0 Release Blockers
-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42886] Add --strip-sections to llvm-strip

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42886

Wolfgang Pieb  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #2 from Wolfgang Pieb  ---
Implemented with r368241.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25744] Linux build breaks when both python 2 and python 3 are installed

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=25744
Bug 25744 depends on bug 25866, which changed state.

Bug 25866 Summary: Gentoo Linux build breaks in some scenarios when both Python 
2 and Python 3 are present
https://bugs.llvm.org/show_bug.cgi?id=25866

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 25866] Gentoo Linux build breaks in some scenarios when both Python 2 and Python 3 are present

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=25866

Jonas Devlieghere  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME
 CC||jdevliegh...@apple.com

--- Comment #1 from Jonas Devlieghere  ---
LLDB is now fully compatible with Python 2 and Python 3, as well as SWIG 2 and
later.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 39459] Enum class variables can't be used as function arguments

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39459

Jonas Devlieghere  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #4 from Jonas Devlieghere  ---
Seems like this is fixed.

$ lldb /tmp/a.out
(lldb) target create "/tmp/a.out"
Current executable set to '/tmp/a.out' (x86_64).
(lldb) b /breakpoint/
Breakpoint 1: where = a.out`main + 14 at main.cpp:11:12, address =
0x00010f9e
(lldb) r
Process 37979 launched: '/tmp/a.out' (x86_64)
Process 37979 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x00010f9e a.out`main at main.cpp:11:12
   8
   9int main() {
   10 Foo foo = Foo::a;
-> 11 auto r = UseFoo(foo); // breakpoint
   12   }
(lldb) p UseFoo(Foo::b)
(bool) $0 = true
(lldb) p UseFoo((Foo)Foo::b)
(bool) $1 = true

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 24828] test events: add "announce all tests that will run"

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=24828

Jonas Devlieghere  changed:

   What|Removed |Added

 CC||jdevliegh...@apple.com
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 16786] LIBRARY_PATH precedence

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=16786

Fangrui Song  changed:

   What|Removed |Added

 CC||i...@maskray.me
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Fangrui Song  ---
Fixed by https://reviews.llvm.org/D65880 r368245

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42927] New: clang-9.0.0-rc1 lit test failures due to spurious inreg added to function arguments

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42927

Bug ID: 42927
   Summary: clang-9.0.0-rc1 lit test failures due to spurious
inreg added to function arguments
   Product: clang
   Version: 9.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: tstel...@redhat.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk
Blocks: 42474

I'm seeing a lot of lit test failures in the 9.0.1-rc1 release that look like
the one below.  The test are failing because function arguments have the inreg
when the test wasn't expecting it.  I think this may have something to do with
building with CLANG_LINK_CLANG_DYLIB=ON, but I'm still investigating this.

 TEST 'Clang :: Sema/libbuiltins-ctype-powerpc64.c' FAILED

Script:
--
: 'RUN: at line 1';   /builddir/build/BUILD/cfe-9.0.0rc1.src/_build/bin/clang
-cc1 -internal-isystem
/builddir/build/BUILD/cfe-9.0.0rc1.src/_build/lib64/clang/9.0.0/include
-nostdsysteminc -triple powerpc64-unknown-linux-gnu -emit-llvm <
/builddir/build/BUILD/cfe-9.0.0rc1.src/test/Sema/libbuiltins-ctype-powerpc64.c
| /usr/bin/FileCheck
/builddir/build/BUILD/cfe-9.0.0rc1.src/test/Sema/libbuiltins-ctype-powerpc64.c
--
Exit Code: 1

Command Output (stderr):
--
/builddir/build/BUILD/cfe-9.0.0rc1.src/test/Sema/libbuiltins-ctype-powerpc64.c:19:12:
error: CHECK: expected string not found in input
 // CHECK: call signext i32 @isalnum(i32 signext {{%[0-9]+}})
[[NUW_RO_CALL:#[0-9]+]]
   ^
:1:1: note: scanning from here
; ModuleID = '-'
^
:12:10: note: possible intended match here
 %call = call signext i32 @isalnum(i32 inreg signext %0) #2


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=42474
[Bug 42474] [meta] 9.0.0 Release Blockers
-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 42928] New: SEGV when compiling tests from cppcoro

2019-08-07 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42928

Bug ID: 42928
   Summary: SEGV when compiling tests from cppcoro
   Product: clang
   Version: 9.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: release blocker
  Priority: P
 Component: C++2a
  Assignee: unassignedclangb...@nondot.org
  Reporter: nazvyaches...@gmail.com
CC: blitzrak...@gmail.com, erik.pilking...@gmail.com,
llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk

Created attachment 22358
  --> https://bugs.llvm.org/attachment.cgi?id=22358&action=edit
diagnostics

Compiling test/recursive_generator_tests.cpp
test/recursive_generator_tests.cpp:156:2: warning: control reaches end of
non-void lambda [-Wreturn-type]
};
^
test/recursive_generator_tests.cpp:160:11: note: in instantiation of function
template specialization '_DOCTEST_ANON_FUNC_16()::(anonymous
class)::operator()<(lambda at test/recursive_generator_tests.cpp:148:11)>'
requested here
return f(n, f);
^
test/recursive_generator_tests.cpp:237:2: warning: control may reach end of
non-void lambda [-Wreturn-type]
};
^
test/recursive_generator_tests.cpp:239:14: note: in instantiation of function
template specialization '_DOCTEST_ANON_FUNC_20()::(anonymous
class)::operator()<(lambda at test/recursive_generator_tests.cpp:219:11) &>'
requested here
auto gen = f(0, f);
^
test/recursive_generator_tests.cpp:297:2: warning: control may reach end of
non-void lambda [-Wreturn-type]
};
^
test/recursive_generator_tests.cpp:299:14: note: in instantiation of function
template specialization '_DOCTEST_ANON_FUNC_22()::(anonymous
class)::operator()<(lambda at test/recursive_generator_tests.cpp:252:11) &>'
requested here
auto gen = f(1, f);
^
Stack dump:
0.  Program arguments: /home/yozhek/llvm-build/bin/clang-9 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -disable-llvm-verifier
-discard-value-names -main-file-name recursive_generator_tests.cpp
-mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-dwarf-column-info -debug-info-kind=limited -dwarf-version=4
-debugger-tuning=gdb -coverage-notes-file
/home/yozhek/cppcoro/build/linux_x64_clang9.0.0_optimised/test/obj/recursive_generator_tests.gcno
-resource-dir /home/yozhek/llvm-build/lib/clang/9.0.0 -dependency-file
/tmp/CakeGccDepRtzNfv -MT
build/linux_x64_clang9.0.0_optimised/test/obj/recursive_generator_tests.o
-sys-header-deps -D CPPCORO_RELEASE_OPTIMISED -I ./include -internal-isystem
/home/yozhek/llvm-build/bin/../include/c++/v1 -internal-isystem
/usr/local/include -internal-isystem
/home/yozhek/llvm-build/lib/clang/9.0.0/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -O3 -std=c++1z -fdeprecated-macro
-fdebug-compilation-dir /home/yozhek/cppcoro -ferror-limit 19 -fmessage-length
0 -fcoroutines-ts -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -vectorize-loops -vectorize-slp -faddrsig -o
build/linux_x64_clang9.0.0_optimised/test/obj/recursive_generator_tests.o -x
c++ test/recursive_generator_tests.cpp 
1.   parser at end of file
2.  Per-file LLVM IR generation
3.  test/recursive_generator_tests.cpp:148:11: Generating code for
declaration '_DOCTEST_ANON_FUNC_16()::(anonymous class)::operator()'
 #0 0x562dafb1beea llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/yozhek/llvm-project/llvm/lib/Support/Unix/Signals.inc:537:0
 #1 0x562dafb19e04 llvm::sys::RunSignalHandlers()
/home/yozhek/llvm-project/llvm/lib/Support/Signals.cpp:68:0
 #2 0x562dafb19f42 SignalHandler(int)
/home/yozhek/llvm-project/llvm/lib/Support/Unix/Signals.inc:385:0
 #3 0x7f5f1443f890 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
 #4 0x562db19fb615 clang::Expr::getExprLoc() const
/home/yozhek/llvm-project/clang/lib/AST/Expr.cpp:216:0
 #5 0x562dafd36a67
clang::CodeGen::ApplyDebugLocation::ApplyDebugLocation(clang::CodeGen::CodeGenFunction&,
clang::Expr const*)
/home/yozhek/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp:123:0
 #6 0x562daff7c06d clang::Stmt::getStmtClass() const
/home/yozhek/llvm-project/clang/include/clang/AST/Stmt.h:1088:0
 #7 0x562daff7c06d clang::BinaryOperator::classof(clang::Stmt const*)
/home/yozhek/llvm-project/clang/include/clang/AST/Expr.h:3564:0
 #8 0x562daff7c06d llvm::isa_impl::doit(clang::Stmt const&)
/home/yozhek/llvm-project/llvm/include/llvm/Support/Casting.h:58:0
 #9 0x562daff7c06d llvm::isa_impl_cl::doit(clang::Stmt const*)
/home/yozhek/llvm-project/llvm/include/llvm/Support/Casting.h:106:0
#10 0x562daff7c06d llvm::isa_impl_wrap::doit(clang::Stmt const* const&)
/home/yozhek/