[llvm-bugs] [Bug 39557] New: AsmParser cannot recognize function types without definitions

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39557

Bug ID: 39557
   Summary: AsmParser cannot recognize function types without
definitions
   Product: libraries
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: WebAssembly
  Assignee: unassignedb...@nondot.org
  Reporter: ahee...@gmail.com
CC: llvm-bugs@lists.llvm.org

Created attachment 21082
  --> https://bugs.llvm.org/attachment.cgi?id=21082&action=edit
Test case .ll file

When there is a function call to a function that does not have a definition, if
we generate .s file using `llc` and generate .o file from it using `llvm-mc`,
the function symbol is recognized as not a function but a data.

Commands that reproduce the bug:
```
llc -filetype=asm -asm-verbose=false test.ll -o test.s
llvm-mc -triple=wasm32-unknown-unknown -filetype=obj test.s -o test_from_s.o
obj2yaml test_from_s.o > test_from_s.yaml

llc -filetype=obj test.ll -o test.o
obj2yaml test.o > test.yaml
```

test.yaml and test_from_s.yaml are supposed to be the same, but they are not.
In test_from_s.yaml, foo, which is defined, is listed as a function symbol, but
bar, which is not defined, is listed as data.
```
SymbolTable:
  - Index:   0
Kind:FUNCTION
Name:foo
Flags:   [ BINDING_LOCAL ]
Function:0
  - Index:   1
Kind:DATA
Name:bar
Flags:   [ UNDEFINED ]
```

And consequentially, it has no function import entry in the 'Import' section,
and no type signature entry in 'Type' section as well.

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


[llvm-bugs] [Bug 39558] New: obj2yaml crashes on object files created by llvm-mc

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39558

Bug ID: 39558
   Summary: obj2yaml crashes on object files created by llvm-mc
   Product: libraries
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: WebAssembly
  Assignee: unassignedb...@nondot.org
  Reporter: ahee...@gmail.com
CC: llvm-bugs@lists.llvm.org

Created attachment 21089
  --> https://bugs.llvm.org/attachment.cgi?id=21089&action=edit
Test case .ll file

This bug was accidentally discovered while filing
https://bugs.llvm.org/show_bug.cgi?id=39557. The test case is the same with
PR39557 except now function 'foo' does not take an argument. I don't know why,
but now obj2yaml crashes on reading the object file created from .s file using
llvm-mc. llvm-objdump crashes too.

Commands that reproduce the bug:
```
llc -filetype=asm -asm-verbose=false test.ll -o test.s
llvm-mc -triple=wasm32-unknown-unknown -filetype=obj test.s -o test_from_s.o
obj2yaml test_from_s.o > test_from_s.yaml  <-- crashes!
llvm-objdump -disassemble test_from_s.o<-- crashes too!
```

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


[llvm-bugs] [Bug 33628] Implement a new dllexport/dllimport variant that doesn't apply to class inline functions

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=33628

Hans Wennborg  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #5 from Hans Wennborg  ---
This was committed in r346069

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


[llvm-bugs] Issue 11064 in oss-fuzz: llvm: Build failure

2018-11-05 Thread ClusterFuzz-External via monorail via llvm-bugs


Comment #4 on issue 11064 by ClusterFuzz-External: llvm: Build failure
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11064#c4

Friendly reminder that the the build is still failing.
Please try to fix this failure to ensure that fuzzing remains productive.
Latest build log:  
https://oss-fuzz-build-logs.storage.googleapis.com/log-fe6354ec-1333-4eaf-a038-d1c61daebcdb.txt



--
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
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 39559] New: Segmentation fault when running check-clang-python with UBSan

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39559

Bug ID: 39559
   Summary: Segmentation fault when running check-clang-python
with UBSan
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: david.stenb...@ericsson.com
CC: llvm-bugs@lists.llvm.org

When running check-clang-python on trunk (r346128) with a
LLVM_USE_SANITIZER=Undefined build, I see a segmentation fault.

  $ env CLANG_LIBRARY_PATH=../../../../build-sanu/lib /usr/bin/python2.7 -m
unittest discover -v
  testConstantArray (tests.cindex.test_type.TestType) ... ERROR
  test_a_struct (tests.cindex.test_type.TestType) ... Segmentation fault (core
dumped)

LLVM was built, and the test was run, using:

  export LLVM_ROOT=/path/to/llvm-7.0/build/

  mkdir build-sanu

  pushd build-sanu
  cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=$LLVM_ROOT/bin/clang \
-DCMAKE_CXX_COMPILER=$LLVM_ROOT/bin/clang++ \
-DLLVM_USE_SANITIZER=Undefined \
../.
  popd

  ninja -C build-sanu check-clang-python

The crash seems to occur in the following call to getenv() in
clang_createIndex():

  3247  // We use crash recovery to make some of our APIs more reliable,
implicitly
  3248  // enable it.
> 3249  if (!getenv("LIBCLANG_DISABLE_CRASH_RECOVERY"))
  3250llvm::CrashRecoveryContext::Enable();

Backtrace (before stepi that results in segmentation fault):

  (gdb) bt
  #0  0x7fffee590d80 in getenv@plt () from /llvm/build-sanu/lib/libclang.so
  #1  0x7fffee5f9491 in clang_createIndex () at
../tools/clang/tools/libclang/CIndex.cpp:3249
  #2  0x765dfc7c in ffi_call_unix64 () from
/usr/lib/x86_64-linux-gnu/libffi.so.6
  #3  0x765df5ac in ffi_call () from
/usr/lib/x86_64-linux-gnu/libffi.so.6
  #4  0x767f65fe in _ctypes_callproc () from
/usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
  #5  0x767f7f9e in ?? () from
/usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
  #6  0x004c84a5 in PyEval_EvalFrameEx ()

The segmentation fault seems to be due to the PLT entry for getenv() being
broken (?):

  (gdb) disas $pc
  Dump of assembler code for function getenv@plt:
  => 0x7fffee590d80 <+0>: jmpq   *0x62e2292(%rip)#
0x74873018 <_GLOBAL_OFFSET_TABLE_+48>
 0x7fffee590d86 <+6>: pushq  $0x3
 0x7fffee590d8b <+11>:jmpq   0x7fffee590d40
  End of assembler dump.

  (gdb) x (void *) 0x74873018
  0x74873018 <_GLOBAL_OFFSET_TABLE_+48>:  0x026a7d86

  (gdb) x 0x026a7d86
  0x26a7d86:  Cannot access memory at address 0x26a7d86

This was seen when running on a Ubuntu 14.04.5 LTS installation. I have
unfortunately not been able to reproduce this on another machine yet.

I have tried building LLVM with a Clang 5.0 and a Clang 7.0 installation, with
the same results.

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


[llvm-bugs] Issue 9880 in oss-fuzz: llvm/llvm-opt-fuzzer--x86_64-instcombine: ASSERT: getActiveBits() <= 64 && "Too many bits for uint64_t"

2018-11-05 Thread sheriff… via monorail via llvm-bugs

Updates:
Labels: Deadline-Approaching

Comment #2 on issue 9880 by sheriff...@chromium.org:  
llvm/llvm-opt-fuzzer--x86_64-instcombine: ASSERT: getActiveBits() <= 64  
&& "Too many bits for uint64_t"

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9880#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
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 33811] clang www pages not updating

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=33811

Mike Edwards  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 CC||m...@sqlby.me
 Status|NEW |RESOLVED

--- Comment #2 from Mike Edwards  ---
I think we actually got this resolved a month or so ago.  The problem was
rooted in a permissions issue and a missing symbolic link on the server.

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


[llvm-bugs] [Bug 5565] clang website left menu doesn't show completely

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=5565

Mike Edwards  changed:

   What|Removed |Added

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

--- Comment #6 from Mike Edwards  ---
I'm sure at some point we actually did "fix" this.  I'm sorry I don't have
details as to how we addressed the issue.  Most likely Tanya just figured out
what the problem was and resolved it.  Please reopen if the problem can be
reproduced some other way.

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


[llvm-bugs] [Bug 39560] New: address of label preventing inlining of __attribute__((always_inline)) static functions

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39560

Bug ID: 39560
   Summary: address of label preventing inlining of
__attribute__((always_inline)) static functions
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: ndesaulni...@google.com
CC: echri...@gmail.com, isanb...@gmail.com,
lloz...@chromium.org, llvm-bugs@lists.llvm.org,
srhi...@google.com

Example from the Linux kernel: https://godbolt.org/z/S8FRRs

The kernel uses a GNU statement expression that returns the address of a label
in many many places throughout the code bases.  With Clang, it seems that
taking the address of a block prevents a __attribute__((always_inline))
function from being inlined.

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


[llvm-bugs] [Bug 34278] ms-pdb: segfault if linking .obj compiled with precompiled header and /Z7

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=34278

Alexandre Ganea  changed:

   What|Removed |Added

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

--- Comment #3 from Alexandre Ganea  ---
Fixed by https://reviews.llvm.org/rL346154

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


[llvm-bugs] [Bug 39561] New: Super confusing diag when overload prevents template argument inference

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39561

Bug ID: 39561
   Summary: Super confusing diag when overload prevents template
argument inference
   Product: clang
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: nicolaswe...@gmx.de
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org

Someone asked me why this doesn't build:

$ cat parallel_merge_sort.cpp 
#include 
void mergesort(void *records, int start, int end, int threads) {
  std::thread lthread(mergesort, records, start, end, threads);
};


$ clang++ -std=c++11 -c parallel_merge_sort.cpp 
parallel_merge_sort.cpp:3:15: error: no matching constructor for initialization
of 'std::thread'
  std::thread lthread(mergesort, records, start, end, threads);
  ^   ~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:353:9:
note: candidate template ignored: couldn't infer template argument '_Fp'
thread::thread(_Fp&& __f, _Args&&... __args)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:286:5:
note: candidate constructor not viable: requires 1 argument, but 5 were
provided
thread(const thread&);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:309:5:
note: candidate constructor not viable: requires single argument '__t', but 5
arguments were provided
thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {__t.__t_ = 0;}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:293:5:
note: candidate constructor not viable: requires 0 arguments, but 5 were
provided
thread() _NOEXCEPT : __t_(0) {}
^
1 error generated.


It builds fine on Windows, on Linux with libc++ and libstd++, but doesn't build
on macOS or on the BSDs.


The reason is that BSD has a function named "mergesort" in its C standard
library, which makes inference of the first thread ctor candidate fail. Our
diagnostic here could be much better.

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


[llvm-bugs] [Bug 39562] New: LowerEmscriptenEHSjLj pass fails w/ emcc WASM_OBJECT_FILES=1 when there's only longjmp

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39562

Bug ID: 39562
   Summary: LowerEmscriptenEHSjLj pass fails w/ emcc
WASM_OBJECT_FILES=1 when there's only longjmp
   Product: libraries
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: WebAssembly
  Assignee: unassignedb...@nondot.org
  Reporter: ahee...@gmail.com
CC: llvm-bugs@lists.llvm.org

When there is not setjmp call but only longjmp call in a module, such as
```
#include 

struct Foo {
  jmp_buf buffer;
};

__attribute__((used, visibility("default")))
void test_breakage(struct Foo *foo) {
  volatile jmp_buf* jump_buffer = &foo->buffer;
  longjmp(*jump_buffer, 1);
}
```

`emcc src/sjljehfail.c -O2 --profiling-funcs -o a.out.js -s
WASM_OBJECT_FILES=1` crashes with a segmentation fault.

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


[llvm-bugs] [Bug 39563] New: Evaluate stripping dead types from PDBs

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39563

Bug ID: 39563
   Summary: Evaluate stripping dead types from PDBs
   Product: lld
   Version: unspecified
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: COFF
  Assignee: unassignedb...@nondot.org
  Reporter: r...@google.com
CC: llvm-bugs@lists.llvm.org, ztur...@google.com

When LLD makes a PDB, it includes all types from all objects and type server
PDBs. When MSVC link.exe makes a PDB, it brings in types one at a time as they
are referenced from symbol records, in our observations. This means LLD PDBs
may include extra type information.

This is less of a problem when compiling with clang, because clang only emits
debug info for types that were required to be complete by default
(-fstandalone-debug vs -flimit-debug-info). However, there can still be dead
type info, especially when /OPT:REF is enabled, because that will cause the
code and corresponding symbol records to be discarded at link time. Those
symbol records may reference otherwise dead type information (lambda types
especially).

We should add a tool to llvm-pdbutil to calculate what percentage of type
records and type record bytes are actually referenced by symbol records, and
decide if it's worth spending time in the linker to strip this extra
unreferenced info.

I suspect that it won't be worth doing, but it'd be nice to build a tool to
collect this data.

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


[llvm-bugs] [Bug 39564] New: Assert in Hot/cold splitting

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39564

Bug ID: 39564
   Summary: Assert in Hot/cold splitting
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Interprocedural Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: ju...@samsung.com
CC: llvm-bugs@lists.llvm.org

Noticed that the IR below assert in the hot/cold split pass.

; opt -passes=hotcoldsplit -S assert.ll

define void @foo(i32 %cond) {
entry:
  %tobool = icmp eq i32 %cond, 0
  br i1 %tobool, label %if.end, label %coldbb

coldbb:
  call void (...) @sink()
  br i1 undef, label %if.end, label %coldbb2

coldbb2:
  br label %if.end

if.end:
  %p = phi i32 [0, %entry], [1, %coldbb], [3, %coldbb2]
  ret void
}

declare void @sink(...) cold

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


[llvm-bugs] [Bug 39565] New: Foundation website SSL connections are not working.

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39565

Bug ID: 39565
   Summary: Foundation website SSL connections are not working.
   Product: Website
   Version: unspecified
  Hardware: Macintosh
OS: MacOS X
Status: NEW
  Severity: normal
  Priority: P
 Component: General Website
  Assignee: unassignedb...@nondot.org
  Reporter: m...@sqlby.me
CC: greg.bedw...@sony.com, llvm-bugs@lists.llvm.org,
m...@sqlby.me, to...@nondot.org
Depends on: 39309

If a user navigates to https://foundation.llvm.org thee user is redirected to
the Bugzilla main page.

If a user attempts to navigate manually to
https://foundation.llvm.org/documents/ the user receives a 404 error.

These are related issues and both appear to be caused by an apache
misconfiguration.

+++ This bug was initially created as a clone of Bug #39309 +++

This results in a number of links being incorrect.

Steps to reproduce:

1) Navigate to "http://llvm.org/";

2) Click link "Site Map > LLVM Foundation"
2a) Current URL is "http://llvm.org/foundation/";

3) Click link "Site Map > Public Documents"
3a) Current URL is "http://foundation.llvm.org/documents/";

4) Click link "Site Map > Main"
4a) Current URL is "http://foundation.llvm.org/index.html";

5) Observe the "Useful Links" section in the sidebar.
5a) "Useful Links > LLVM.org" links to "http://foundation.llvm.org/";
5b) "Useful Links > LLVM Foundation Home" links to
"http://foundation.llvm.org/foundation/"; (404 error)
5c) "Useful Links > Relicensing Effort" links to
"http://foundation.llvm.org/foundation/relicensing/"; (404 error)


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=39309
[Bug 39309] foundation page link goes to
"http://foundation.llvm.org/documents/"; rather than
"http://llvm.org/foundation/documents/";
-- 
You are receiving this mail because:
You are on the CC list for the bug.___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 38857] [codeview] Incorrect variable locations with stack realignment and call-frame optimization

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=38857

Reid Kleckner  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #16 from Reid Kleckner  ---
I confirmed that the offsets changed in r346062, here's the symbol records
before and after:
 0 | S_LOCAL [size = 26] `remaining_bytes`
 type=0x0023 (unsigned __int64), flags = none
 0 | S_DEFRANGE_FRAMEPOINTER_REL [size = 16]
 offset = -12, range = [:0029,+343)
 gaps = 2
 0 | S_LOCAL [size = 32] `remaining_bytes_again`
 type=0x0023 (unsigned __int64), flags = none
 0 | S_DEFRANGE_FRAMEPOINTER_REL [size = 16]
 offset = -20, range = [:0029,+343)
 gaps = 2

after:
 0 | S_LOCAL [size = 26] `remaining_bytes`
 type=0x0023 (unsigned __int64), flags = none
 0 | S_DEFRANGE_FRAMEPOINTER_REL [size = 16]
 offset = -16, range = [:0029,+343)
 gaps = 2
 0 | S_LOCAL [size = 32] `remaining_bytes_again`
 type=0x0023 (unsigned __int64), flags = none
 0 | S_DEFRANGE_FRAMEPOINTER_REL [size = 16]
 offset = -24, range = [:0029,+343)
 gaps = 2

I had some trouble getting windbg to stop at the same point again, but
eventually I succeeded and now I see this:

0:029> dv
 this = 0x11a43950
  remaining_bytes = 0x15aa48
remaining_bytes_again = 0x0012`346678ab
items = 

That looks right, so I'd say this is fixed. It should be in the next clang roll
which is tracked at https://crbug.com/894363

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


[llvm-bugs] [Bug 39567] New: Invalid getReturnTypeSourceRange for function with trailing return type

2018-11-05 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=39567

Bug ID: 39567
   Summary: Invalid getReturnTypeSourceRange for function with
trailing return type
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Tooling
  Assignee: unassignedclangb...@nondot.org
  Reporter: steve...@gmail.com
CC: llvm-bugs@lists.llvm.org

Given this source file:


int foo();

auto bar() -> int;


and this clang-tidy check:


void FuncReturnRangeCheck::registerMatchers(MatchFinder *Finder) {
  // FIXME: Add matchers.
  Finder->addMatcher(functionDecl().bind("x"), this);
}

void FuncReturnRangeCheck::check(const MatchFinder::MatchResult &Result) {
  // FIXME: Add callback implementation.
  const auto *MatchedDecl = Result.Nodes.getNodeAs("x");

  MatchedDecl->dump();

  auto SR = MatchedDecl->getReturnTypeSourceRange();

  SR.dump(*Result.SourceManager);
}



we get this output:


FunctionDecl 0x55dc893341f0  col:5 foo 'int (void)'

FunctionDecl 0x55dc89334350  col:6 bar 'auto
(void) -> int'
<>


The second source range should not be invalid.

FunctionDecl::getReturnTypeSourceRange returns an invalid range when the return
type is after the name info.

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