[Bug c++/116490] New: Crash in explicitly instantiated Function Contracts

2024-08-26 Thread eric at efcs dot ca via Gcc-bugs
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 59005 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59005&action=edit stack trace ``` // g++ -fcontracts -std=c++26 template void foo() [[

[Bug c++/90383] [9 Regression] GCC generates invalid constexpr copy/move assignment operators for types with trailing padding. (Again)

2019-05-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90383 --- Comment #1 from Eric Fiselier --- It's important to note that this bug affects any struct with tail padding. For example `struct optional { T value; bool has_value; /*...*/ };` would hit it. https://godbolt.org/z/VX9VTh

[Bug c++/90383] New: [9 Regression] GCC generates invalid constexpr copy/move assignment operators for types with trailing padding. (Again)

2019-05-07 Thread eric at efcs dot ca
Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- When a type has trailing padding GCC generates an invalid copy

[Bug c++/65799] Allows constexpr conversion from cv void * to other type

2019-04-13 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65799 Eric Fiselier changed: What|Removed |Added CC||eric at efcs dot ca --- Comment #4 from

[Bug c++/68975] Request: Provide alternate keyword for decltype in C++03

2019-03-04 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68975 Eric Fiselier changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/86641] Regression: non-ODR used auto class data members fail to deduce.

2019-03-04 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86641 Eric Fiselier changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/89580] New: overload resolution for pointers fails to consider conversion operator

2019-03-04 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- I believe the following code is valid and should be accepted. // g++ -std=c++11 struct Foo { template operator T() const; }; // error

[Bug c++/89158] New: [8/9 Regression] by-value capture of ICE variable isn't an lvalue?

2019-02-01 Thread eric at efcs dot ca
ormal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The following code is incorrectly rejected. // g++ -std=c++14 struct T { T(const int&); }; void Func(T); void test() { constexp

[Bug c++/88555] New: [9 Regression] Pack expansion fails

2018-12-19 Thread eric at efcs dot ca
++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- GCC fails to expand parameter packs when used in certain contexts. This is a regression from 8.2. https://godbolt.org/z/9MrTQQ Reproducer: // g++ -std=c++17 template struct T {}; template

[Bug c++/88446] New: __builtin_is_constant_evaluated rejects some converted constant expressions.

2018-12-11 Thread eric at efcs dot ca
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- __builtin_is_constant_evaluated() is not a constant expression when used in array bounds or new expressions. // g++ -fsyntax-only

[Bug c++/87766] ICE using __PRETTY_FUNCTION__ in dependent context

2018-10-26 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87766 Eric Fiselier changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org Se

[Bug c++/87766] New: ICE using __PRETTY_FUNCTION__ in dependent context

2018-10-26 Thread eric at efcs dot ca
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- // g++ -std=c++1z test.cpp template void test() { [](auto rhs) { auto ptr = __PRETTY_FUNCTION__; }(42); } template void test<>(); The above code ICE's wit

[Bug c++/86678] constexpr evaluation incorrectly diagnoses unevaluated call to non-constexpr function

2018-07-26 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86678 --- Comment #3 from Eric Fiselier --- The `if (1)` isn't essential either. void fail(); template constexpr int foo() { if (sizeof(T)) return 1; fail(); } constexpr int x = foo(); It seems to have something to do with whether

[Bug c++/86678] constexpr evaluation incorrectly diagnoses unevaluated call to non-constexpr function

2018-07-26 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86678 --- Comment #2 from Eric Fiselier --- This is a bug according to [expr.const]p2 which states: > An expression e is a core constant expression unless the evaluation of e, > following the rules of the abstract machine, would evaluate one of the

[Bug c++/86678] New: constexpr evaluation incorrectly diagnoses unevaluated call to non-constexpr function

2018-07-25 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Reproducer: #include template constexpr int foo() { if (sizeof(T)) return 1; assert(false &&am

[Bug c++/77923] GCC emits "declares nothing" diagnostic on meaningful declarations.

2018-07-23 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77923 --- Comment #1 from Eric Fiselier --- Ping. I keep hitting this more and more. GCC seems to be warning because the declaration includes the CXX scope specifier "::foo". Removing the "::" seems to work. However, removing the "::" causes the code

[Bug c++/86641] New: Regression: non-ODR used auto class data members fail to deduce.

2018-07-23 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- In some situations, GCC will fail to resolve the storage size of auto variables which are not not directly ODR used: For example: // std=c++17

[Bug libstdc++/86597] New: directory_entry::exist et al forget to clear the error_code.

2018-07-19 Thread eric at efcs dot ca
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The "file type observers" of directory entry like exists and is_regular_file don't clear the error code they are given when n

[Bug libstdc++/86595] New: directory_entry::refresh(error_code&) should be noexcept.

2018-07-19 Thread eric at efcs dot ca
rmal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- According to the current specification, the error_code version of directory_entry::refresh should be marked noexcept [1]. Libstdc++ incorre

[Bug c++/78489] Substitution failure does not happen in lexical order for NTTP declarations.

2018-03-22 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78489 --- Comment #2 from Eric Fiselier --- Created attachment 43737 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43737&action=edit reproducer2.cpp Another reproducer: This one is a regression from 7.3 https://godbolt.org/g/UEti9f Could someb

[Bug c++/83921] [7/8 Regression] GCC rejects constexpr initialization of empty aggregate.

2018-01-20 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83921 --- Comment #3 from Eric Fiselier --- The problem also reproduces when the empty type has an explicitly defaulted default constructor. Example: struct Foo { Foo() = default; }; constexpr void test() { Foo f; };

[Bug c++/83921] New: GCC rejects constexpr initialization of empty aggregate.

2018-01-17 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Reproducer: // g++ -std=c++14 struct Foo {}; constexpr void test() { Foo f; // error: uninitialized variable 'f' in 'constexpr

[Bug c++/68905] [DR496] __is_trivially_copyable returns True for volatile class types.

2017-05-08 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68905 Eric Fiselier changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/80682] New: __is_trivially_constructible(void, int) returns true.

2017-05-08 Thread eric at efcs dot ca
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Reproducer: // g++ -std=c++11 -fsyntax-only static_assert(!__is_trivially_constructible(void, int), ""); This seems blatantly incorrect.

[Bug libstdc++/80564] bind on SFINAE unfriendly generic lambda

2017-05-03 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80564 --- Comment #3 from Eric Fiselier --- Here is an example of why `_Bind::operator()(...) const` must be considered during overload resolution even if the call wrapper itself is not const. -- #include struct Func {

[Bug libstdc++/80564] bind on SFINAE unfriendly generic lambda

2017-05-03 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80564 --- Comment #2 from Eric Fiselier --- Note that explicitly providing a return type for the lambda avoids this compile error. Example: --- #include int main() { int i; std::bind([] (auto& x) -> void {x = 1;}, i)(); // OK! } ---

[Bug libstdc++/80564] bind on SFINAE unfriendly generic lambda

2017-05-03 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80564 Eric Fiselier changed: What|Removed |Added CC||eric at efcs dot ca --- Comment #1 from

[Bug c++/80465] New: [7 Regression] ICE when evaluating a lamba noexcept spec with captures in C++1z

2017-04-19 Thread eric at efcs dot ca
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Reproducer: // g++ -fsyntax-only -std=c++1z test.cpp int foo(...); int main() { [](auto a) noexcept(noexcept(foo(a))){}(42

[Bug libstdc++/80448] New: #include fails with Clang 5.0

2017-04-18 Thread eric at efcs dot ca
Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Simply including fails to compile when using Clang. The first error in the stack is: /opt/gcc-tot/lib/gcc/x86_64-pc-linux-gnu/7.0.1/../../../../include/c++/7.0.1

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2017-02-17 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 Eric Fiselier changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED

[Bug c++/79452] Provide builtin to detect compile-time execution

2017-02-11 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79452 --- Comment #9 from Eric Fiselier --- I think it would be nice to be able to dispatch differently depending on being called at compile time or runtime. However the ability to dispatch on that condition doesn't have to be usable in "if constexpr".

[Bug c++/79452] Provide builtin to detect compile-time execution

2017-02-10 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79452 Eric Fiselier changed: What|Removed |Added CC||eric at efcs dot ca --- Comment #7 from

[Bug libstdc++/79384] New: Clang doesn't like variant's std::visit

2017-02-05 Thread eric at efcs dot ca
t: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The following example doesn't compile when using Clang to target libstdc++ Minimal reproducers: // clang++ -std=c++1z test.cpp #include int main() { std

[Bug libstdc++/78723] [variant] P0393r3: "Making variant greater equal again" is unimplemented

2016-12-08 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78723 --- Comment #3 from Eric Fiselier --- The joke title was a lot funnier a year ago.

[Bug libstdc++/78723] New: [variant] P0393r3: "Making variant greater equal again" is unimplemented

2016-12-07 Thread eric at efcs dot ca
ty: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Link to paper: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0393r3.html Reproducer: // g++ -std=c++1z test.cp

[Bug c++/71537] GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.

2016-12-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537 Eric Fiselier changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED

[Bug c++/55004] [meta-bug] constexpr issues

2016-12-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004 Bug 55004 depends on bug 71537, which changed state. Bug 71537 Summary: GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537 What|Removed

[Bug c++/71537] GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.

2016-12-03 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537 Eric Fiselier changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #4

[Bug libstdc++/78441] [variant] variant_alternative doesn't allow cv qualifiers

2016-12-02 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78441 Eric Fiselier changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/71537] GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.

2016-12-02 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537 Eric Fiselier changed: What|Removed |Added CC||jason at redhat dot com --- Comment #3 f

[Bug c++/64372] [DR1560] Gratuitous lvalue-to-rvalue conversion in conditional-expression with throw-expression operand

2016-11-23 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64372 Eric Fiselier changed: What|Removed |Added CC||eric at efcs dot ca --- Comment #9 from

[Bug c++/78489] Substitution failure does not happen in lexical order for SFINAE in NTTP.

2016-11-23 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78489 Eric Fiselier changed: What|Removed |Added Summary|Subsitution failure does|Substitution failure does

[Bug c++/78489] New: Subsitution failure does not happen in lexical order for SFINAE in NTTP.

2016-11-23 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- When substitution failure occurs in the declaration of a NTTP GCC will incorrectly continue to perform substitution on later template

[Bug c++/78488] ICE when building call to inherited default constructor.

2016-11-22 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78488 --- Comment #1 from Eric Fiselier --- > GCC 6 exits with status 1 and without producing any diagnostics or an output > file Disregard that I was using a broken GCC 6. IDK how GCC 6 handles this bug.

[Bug c++/78488] New: ICE when building call to inherited default constructor.

2016-11-22 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- GCC ICE's when default initializing a type T when T's default constructor is an inherited constructor. Note that this only happens when T does

[Bug libstdc++/78442] [variant] std::get<...>(Variant) is not constexpr.

2016-11-21 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78442 --- Comment #2 from Eric Fiselier --- I'm sorry your right. That's a garbage reproducer. Here's an actual one: #include #include constexpr bool test_tuple() { std::tuple t(42); return std::get<0>(t) == 42; } static_assert(test_tuple(), "");

[Bug libstdc++/78442] New: [variant] std::get<...>(Variant) is not constexpr.

2016-11-20 Thread eric at efcs dot ca
ponent: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- See the below reproducer: #include constexpr bool test() { std::variant v(42); auto const& cv = v; static_assert(std::get<0>(v) == 42, "")

[Bug libstdc++/78441] New: [variant] variant_alternative doesn't allow cv qualifiers

2016-11-20 Thread eric at efcs dot ca
ormal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The below reproducer fails to compile. // Reproducer #include using V = std::variant; using T = std::variant_alternative_t<0,

[Bug c++/77999] New: GCC leaks system header diagnostic about reserved names.

2016-10-16 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Reproducer: // g++ -std=c++14 -Werror test.cpp #include using std::chrono::operator ""h; // error emitted on this line. // {{error: litera

[Bug c++/77945] GCC generates invalid constexpr copy/move assignment operators for types with trailing padding.

2016-10-12 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77945 --- Comment #3 from Eric Fiselier --- > if the type contains trailing padding bytes (but one bytes between members). The last bit is nonsense. I meant to say that padding between members seemed OK.

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2016-10-11 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 Eric Fiselier changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/77945] New: GCC generates invalid constexpr copy/move assignment operators for types with trailing padding.

2016-10-11 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The copy/move assignment operators generated by GCC result in compile time error when used in a constant expression

[Bug c++/77923] New: GCC emits "declares nothing" diagnostic on meaningful declarations.

2016-10-10 Thread eric at efcs dot ca
ty: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- I ran into this error defining a typedef for "struct ::stat" where "stat" names both a function and type on POSI

[Bug libstdc++/77495] New: optional assignment from {} acts weirdly

2016-09-05 Thread eric at efcs dot ca
++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Assignment to optional from {} acts differently depending on if 'T' can be constructed from {} without a used defined conversion. If so then then operator=(U&&) is s

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2016-08-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 --- Comment #8 from Eric Fiselier --- Created attachment 39069 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39069&action=edit fix.patch Add a suggested fix with make -Wno-literal-suffix suppress the reserved identifier warnings. @Jonath

[Bug c++/71376] __cpp_noexcept_function_type feature test macro not defined.

2016-08-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71376 Eric Fiselier changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/71376] __cpp_noexcept_function_type feature test macro not defined.

2016-08-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71376 --- Comment #2 from Eric Fiselier --- I was wrong about the "GCC has recently implemented "noexcept as part of the type system"" part. Closing as invalid.

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2016-06-14 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 --- Comment #7 from Eric Fiselier --- > The warning should be controlled by *some* flag, but I'm not sure whether or > not linking it with -Wliteral-suffix makes sense. I'll prepare a patch and > see what people think. Any update? I would be h

[Bug c++/71537] GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.

2016-06-14 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537 --- Comment #2 from Eric Fiselier --- Hi Martin, The 'xx' case is only accepted if it occurs at a global scope. If it appears in a function body it is still rejected.

[Bug c++/71537] New: GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.

2016-06-14 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- For example: constexpr int n[42] = {1}; constexpr int x = n ? 1 : 0; // Accepted. constexpr int xx = n + 1 ? 1 : 0

[Bug c++/71376] New: __cpp_noexcept_function_type feature test macro not defined.

2016-06-01 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- GCC has recently implemented "noexcept as part of the type system" but the feature test macro is not defined. Reproducer: void foo(

[Bug libstdc++/71337] New: temp_directory_path(error_code&) shouldn't throw from !exists(p) || !is_directory(p)

2016-05-29 Thread eric at efcs dot ca
CONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Most of the time these two function will not throw. However if 'p' points to a directory that th

[Bug libstdc++/71322] New: std::filesystem::permissions always follows symlinks

2016-05-27 Thread eric at efcs dot ca
Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 38586 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38586&action=edit repr Currently "permissions(sym, perms::none)" resolve

[Bug libstdc++/71320] New: filesystem::permissions does not respect add_perms/remove_perms

2016-05-27 Thread eric at efcs dot ca
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 38585 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38585&action=edit reproducer.cpp filesystem::perm

[Bug inline-asm/71246] New: "+g" assembly constraint causes error: inconsistent operand constraints in an 'asm'

2016-05-23 Thread eric at efcs dot ca
Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The following code fails to compile with the error "inconsistent operand constraints in an &#

[Bug libstdc++/71038] New: copy_file(...) returns false on successful copy.

2016-05-09 Thread eric at efcs dot ca
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The title says it all. copy_file always seems to return false. Example: #include #include #include using namespace std::experimental::filesystem; int main() { std

[Bug libstdc++/71037] New: Exceptions thrown from "filesystem::canonical(...)" should contain both paths.

2016-05-09 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The filesystem error thrown from canonical only contains the first path, not the base. Since the base path c

[Bug libstdc++/71036] New: create_directory(p, ...) reports a failure when 'p' is an existing directory

2016-05-09 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The create_directory functions should not report an error when the directory they are trying to create already e

[Bug libstdc++/71004] recursive_directory_iterator does not have a user-provided default ctor

2016-05-09 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71004 --- Comment #6 from Eric Fiselier --- (In reply to Jonathan Wakely from comment #4) > (In reply to Eric Fiselier from comment #1) > > recursive_directory_iterator it; > > assert(it.recursion_pending() == false); > > assert(it.recursio

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2016-05-08 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 --- Comment #5 from Eric Fiselier --- Would it be possible to add a -Wno-literal-suffix flag? I really want to use warning with GCC, but I need to disable this one.

[Bug libstdc++/71005] New: recursive_directory_iterator::operator++(int) incorrectly implemented

2016-05-07 Thread eric at efcs dot ca
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Hi Jonathan, The postfix increment operator returns the incremented value of the iterator, not the previous one. For example

[Bug libstdc++/71004] recursive_directory_iterator does not have a user-provided default ctor

2016-05-07 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71004 --- Comment #1 from Eric Fiselier --- Additionally this seems to be affecting the value returned from "recursion_pending()". The following code compiles and runs without asserting on my machine. #include #include using namespace std::experime

[Bug libstdc++/71004] New: recursive_directory_iterator does not have a user-provided default ctor

2016-05-07 Thread eric at efcs dot ca
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Hi Jonathan, The default ctor provided for recursive_directory_iterator won't allow it to it to be constructed as

[Bug libstdc++/70966] New: new_delete_resource() has deinit lifetime issues.

2016-05-05 Thread eric at efcs dot ca
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 38422 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38422&action=edit example.cpp The value returned from 'new_delete_resource()'

[Bug libstdc++/70940] New: pmr::resource_adaptor requires optional allocator requirements and incorrectly aligns returned pointers.

2016-05-04 Thread eric at efcs dot ca
: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- resource_adapter incorrectly requires that the Allocator provide: * A pointer typedef. * A

[Bug c++/69701] "v.operator T()" incorrectly parsed if "v.T()" present.

2016-02-05 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701 --- Comment #2 from Eric Fiselier --- @Andrew The in-class diagnostics are pretty good. My concern is that users outside the class cannot name the conversion operator. I don't think they care that "A" changes meaning *within* B. I don't think an

[Bug libstdc++/69703] New: char16_t conversions broken in filesystem::path

2016-02-05 Thread eric at efcs dot ca
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37605 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37605&action=edit reproducer.cpp Hi Jonathan, While running the libc++ filesystem tests

[Bug c++/69701] New: "v.operator T()" incorrectly parsed if "v.T()" present.

2016-02-05 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37603 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37603&action=edit reprodu If a class "B&qu

[Bug c++/69523] -Wliteral-suffix should not warn within namespace std

2016-01-27 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69523 --- Comment #2 from Eric Fiselier --- @Andrew I'm a libc++ developer and I really like using compiler warnings when developing and testing libc++. Using -isystem prevents this entirely. Normally they are system headers but this is explicitly turn

[Bug c++/69523] New: -Wliteral-suffix should not warn within namespace std

2016-01-27 Thread eric at efcs dot ca
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37497 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37497&action=edit reproducer.cpp While developing for libc++ I enable warnings in the

[Bug c/69425] New: __atomic_load should diagnose const output parameter

2016-01-21 Thread eric at efcs dot ca
Component: c Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- The __atomic_load builtin takes a pointer to an output parameter. Obviously the output parameter cannot point to a const object. Unfortunatly GCC doesn't diagnose this ca

[Bug c++/69375] New: GCC allows PMF type "void (T::*)()" to be caught as "void (T::*)() const"

2016-01-19 Thread eric at efcs dot ca
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37399 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37399&action=edit re

[Bug c++/69373] New: GCC emits incorrect warning that "exception of type ‘void (*)()’ will be caught by earlier handler for 'void*'"

2016-01-19 Thread eric at efcs dot ca
Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37398 --> https://gcc.gnu.org/bug

[Bug c++/69372] GCC allows array and function types to be caught by reference.

2016-01-19 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69372 --- Comment #1 from Eric Fiselier --- Created attachment 37397 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37397&action=edit reproducer for function types attached a reproducer for function types.

[Bug c++/69372] New: GCC allows array and function types to be caught by reference.

2016-01-19 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37396 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37396&action=edit reproducer for array types The current C+

[Bug c++/68975] New: Request: Provide alternate keyword for decltype in C++03

2015-12-17 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- `__typeof__` does not make a good replacement for `decltype` because it doesn't deduce references. It would be nice if decltype were provided

[Bug c++/68929] GCC hangs in nested template instantiations even after static_assert fails.

2015-12-15 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68929 --- Comment #1 from Eric Fiselier --- Created attachment 37044 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37044&action=edit reproducer.cpp standalone reproducer

[Bug c++/68929] New: GCC hangs in nested template instantiations even after static_assert fails.

2015-12-15 Thread eric at efcs dot ca
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- GCC currently hangs when compiling the attached reproducer. The reproducer is a stripped down libc++ test that ensures that &quo

[Bug c++/68905] New: __is_trivially_copyable returns True for volatile class types.

2015-12-14 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Created attachment 37034 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37034&action=edit reproducer.cpp The __is_trivially_copyable

[Bug c++/66150] [C++11] cv-qualifiers on function types are not ignored.

2015-05-15 Thread eric at efcs dot ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66150 Eric Fiselier changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/66150] New: [C++11] cv-qualifiers on function types are not ignored.

2015-05-14 Thread eric at efcs dot ca
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric at efcs dot ca Target Milestone: --- Currently GCC does not ignore cv-qualifiers applied to a function type. Example: typedef void T(); static_assert(std::is_same::value, "");