public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/100482] New: namespaces as int in decltype expression
@ 2021-05-08 2:45 hahayes12 at tutanota dot com
2021-05-08 3:31 ` [Bug c++/100482] " sand at rifkin dot dev
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: hahayes12 at tutanota dot com @ 2021-05-08 2:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
Bug ID: 100482
Summary: namespaces as int in decltype expression
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hahayes12 at tutanota dot com
Target Milestone: ---
case:
#include <iostream>
int main() {
decltype(std) i{1};
std::cout << i;
}
g++ main.cpp
./a.out
1
as you can see namespaces are usable in decltype expressions and treated as
ints.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/100482] namespaces as int in decltype expression
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
@ 2021-05-08 3:31 ` sand at rifkin dot dev
2021-05-08 8:00 ` redi at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: sand at rifkin dot dev @ 2021-05-08 3:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
--- Comment #1 from Jeremy R. <sand at rifkin dot dev> ---
This appears to be valid for function return types as well but the compiler
does error when decltype is used in a function parameter
namespace std{}
int A(int a) { // fine
decltype(std) b = a;
return b;
}
decltype(std) B(int a) { // fine
decltype(std) b = a;
return b;
}
auto C(int a) -> decltype(std) { // fine
decltype(std) b = a;
return b;
}
int D(decltype(std) a) { // error: expected initializer before 'a'
decltype(std) b = a;
return b;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/100482] namespaces as int in decltype expression
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
2021-05-08 3:31 ` [Bug c++/100482] " sand at rifkin dot dev
@ 2021-05-08 8:00 ` redi at gcc dot gnu.org
2021-05-10 8:04 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: redi at gcc dot gnu.org @ 2021-05-08 8:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |accepts-invalid
Ever confirmed|0 |1
Last reconfirmed| |2021-05-08
Status|UNCONFIRMED |NEW
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/100482] namespaces as int in decltype expression
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
2021-05-08 3:31 ` [Bug c++/100482] " sand at rifkin dot dev
2021-05-08 8:00 ` redi at gcc dot gnu.org
@ 2021-05-10 8:04 ` rguenth at gcc dot gnu.org
2023-08-08 20:03 ` cvs-commit at gcc dot gnu.org
2024-04-05 6:48 ` nshead at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-05-10 8:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
*** Bug 100481 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/100482] namespaces as int in decltype expression
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
` (2 preceding siblings ...)
2021-05-10 8:04 ` rguenth at gcc dot gnu.org
@ 2023-08-08 20:03 ` cvs-commit at gcc dot gnu.org
2024-04-05 6:48 ` nshead at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-08 20:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:
https://gcc.gnu.org/g:a90bd3ea6d1ba27b15476f0a768d7952c6723420
commit r14-3087-ga90bd3ea6d1ba27b15476f0a768d7952c6723420
Author: Nathaniel Shead <nathanieloshead@gmail.com>
Date: Tue Aug 8 12:48:43 2023 +1000
c++: Report invalid id-expression in decltype [PR100482]
This patch ensures that any errors raised by finish_id_expression when
parsing a decltype expression are properly reported, rather than
potentially going ignored and causing invalid code to be accepted.
We can also now remove the separate check for templates without args as
this is also checked for in finish_id_expression.
PR c++/100482
gcc/cp/ChangeLog:
* parser.cc (cp_parser_decltype_expr): Report errors raised by
finish_id_expression.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/decltype-100482.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/100482] namespaces as int in decltype expression
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
` (3 preceding siblings ...)
2023-08-08 20:03 ` cvs-commit at gcc dot gnu.org
@ 2024-04-05 6:48 ` nshead at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: nshead at gcc dot gnu.org @ 2024-04-05 6:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100482
Nathaniel Shead <nshead at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |nshead at gcc dot gnu.org
Target Milestone|--- |14.0
Resolution|--- |FIXED
--- Comment #4 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Fixed in GCC 14.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-04-05 6:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-08 2:45 [Bug c++/100482] New: namespaces as int in decltype expression hahayes12 at tutanota dot com
2021-05-08 3:31 ` [Bug c++/100482] " sand at rifkin dot dev
2021-05-08 8:00 ` redi at gcc dot gnu.org
2021-05-10 8:04 ` rguenth at gcc dot gnu.org
2023-08-08 20:03 ` cvs-commit at gcc dot gnu.org
2024-04-05 6:48 ` nshead at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).